【发布时间】:2015-07-09 17:16:07
【问题描述】:
首先:感谢您迄今为止的大力帮助!我有一个关于在 iPython 中处理表格格式的问题。
我目前运行此脚本来打印增强的 Dickey-Fuller (ADF) 平稳性测试:
print "Stationarity"
print sm.tsa.stattools.adfuller(df['temperature'], maxlag=None, autolag='BIC', regression='c')
输出是这样的:
Stationarity
(-6.4532219513246361, 1.5054094590984612e-08, 0, 41, {'5%': -2.9351348158036012, '1%': -3.6009833671885199, '10%': -2.6059629803688282}, 1227.2605520289471*)
*(不确定这个值是什么Link to Documentation)
现在,我的问题是:
如何自动计算多个变量?是否可以创建一个包含应用 ADF 测试的不同列(df['variable1']、df['variable1']、df['variable1']、df['variable1']、...)的列表每个项目?
如何将返回的数据放入表结构中?像这样:
ADF 测试
变量 nobs t 检验 p 值 1% 5% 10% 温度 41 6.4532 1.5054094590984612e-08 -3.600 -2.9351 -2.6059 变量 2 ... 变量 3 ...(顺便问一下:如何将“1.5054094590984612e-08”转换成准确的数字?)
感谢您的支持!
【问题讨论】:
-
您能否发布原始输入数据,至于您的第一个问题,我认为这应该可行,如果
col_list是您的变量列表,那么df[col_list].apply(sm.tsa.stattools.adfuller, maxlag=None, autolag='BIC', regression='c')您可以将这些分配给新列,然后转置如果您希望将列作为索引值。 -
酷 - 问题 #1 现在似乎已经解决了!我实现了脚本并且它有效。你能帮我解决第二个问题吗?
-
您能否提供一些原始数据或指向您的数据的链接,我不知道这是什么输入
-
作为输入,您基本上只需要一个值列表(时间序列)。我不能在这里透露数据,但可以想象它是 1 到 30 之间的 1000 多个值的列表。
-
所以只是一个日期时间索引和随机值?