gpt4 book ai didi

python - pandas.cusum() 与统计 CUSUM 测试相同吗?

转载 作者:行者123 更新时间:2023-12-04 15:46:18 25 4
gpt4 key购买 nike

我正在 edX 上观看有关数据分析的类(class)。我对 CUSUM 背后执行“变化检测”的想法产生了浓厚的兴趣。我被告知的公式是: S sub t = max {0, S sub (t-1) + (x sub t - mu - C)而如果: S sub t >= 阈值 T,我们检测到增加(类似于减少)。瞧,我看到 pandas 有一个 cusum 函数。但是,我似乎不明白这是如何工作的。我的数据头是:

    Year            GDP Growth Rate
1 1930 -0.085
2 1931 -0.064
3 1932 -0.129
4 1933 -0.012
5 1934 0.108

我的输出是:

      Year   GDP Growth Rate
1 1930.0 1929.915
2 1931.0 1930.936
3 1932.0 1931.871
4 1933.0 1932.988
5 1934.0 1934.108

所以看起来它只是添加列。在我的理解中,我显然遗漏了一些东西。 cusum() 是我想要的方法吗?我试图看看提供的“变化检测”想法是否检测到衰退、萧条或繁荣何时开始,只是为了好玩。我会在任何人说之前添加:不,这不是家庭作业。

解决方法:我正在寻找 Cusum(一个例子似乎在这里找到): https://github.com/demotu/BMC/blob/master/functions/detect_cusum.py正如用户指出的那样,cumsum 和 CUSUM 是两个不同的东西。我的错。谢谢。还:参见 https://stats.stackexchange.com/questions/59895/python-module-for-change-point-analysis

最佳答案

假设我们有一个 df:

df = pd.DataFrame({'Year': [1930,1931,1932,1933,1934],
'GDP Growth Rate': [-0.085,-0.064,-0.129,-0.012,0.108]})
df

Year GDP Growth Rate
0 1930 -0.085
1 1931 -0.064
2 1932 -0.129
3 1933 -0.012
4 1934 0.108

我们可以使用 GDP 增长率列的 cumsum 来查看它是如何变化的,并创建一个名为 Cumsum 的新列:

df['Cumsum'] = df['GDP Growth Rate'].cumsum()
df


Year GDP Growth Rate Cumsum
0 1930 -0.085 -0.085
1 1931 -0.064 -0.149
2 1932 -0.129 -0.278
3 1933 -0.012 -0.290
4 1934 0.108 -0.182

我们还可以调查变化是朝着积极还是消极的方向发展:

df['Change'] = np.where(df['Cumsum'] > df['Cumsum'].shift(), '+', '-')
df

Year GDP Growth Rate Cumsum Change
0 1930 -0.085 -0.085 -
1 1931 -0.064 -0.149 -
2 1932 -0.129 -0.278 -
3 1933 -0.012 -0.290 -
4 1934 0.108 -0.182 +

我们还可以设置任意阈值并查看 cumsum 何时高于或低于它:

df['Threshold'] = np.where(df['Cumsum'] < -0.2, 'Past Threshold', '-')
df

Year GDP Growth Rate Cumsum Change Threshold
0 1930 -0.085 -0.085 - -
1 1931 -0.064 -0.149 - -
2 1932 -0.129 -0.278 - Past Threshold
3 1933 -0.012 -0.290 - Past Threshold
4 1934 0.108 -0.182 + -

关于python - pandas.cusum() 与统计 CUSUM 测试相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55639452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com