我的问题是: 目前,我的代码运行dickey-fuller测试,如果p值大于0.05,则对数据进行差异化处理,但是我需要它重新运行dickey-fuller测试,如果p值仍然大于0.05,则再次对数据进行差异化处理,并继续执行此操作,直到满足p值小于0.05的条件
我有一个时间序列数据的数据帧。为了确定它是否静止,我使用以下代码执行了dickey-fuller测试:
print("Results of Dickey Fuller Test")
dftest=adfuller(df['I'],autolag='AIC' )
dfoutput=pd.Series(dftest[0:4], index=['Test statistic', 'p-value', '# Lags Used', 'Number of Observations Used'])
for key, value in dftest[4].items():
dfoutput['Critical Value (%s)' %key ]=value
在Dickey-Fuller检验中,如果p值大于0.05,这意味着数据不是平稳的,可以对数据进行差分使其平稳。 我想创建一个循环,这样dickey-fuller测试就可以运行了,如果p值大于0.05,那么就对数据进行求差,直到p值小于0.05为止。你知道吗
这是我迄今为止写的:
if dfoutput['p-value']>0.05:
df.diff()
您可能希望检查while循环,并在一般情况下执行while循环,而不仅仅是python。您希望循环永远继续,直到diff产生测试结果<;0.05。你知道吗
如果正好是0.05呢?你知道吗
进一步阅读^{} statement 。你知道吗
相关问题 更多 >
编程相关推荐