[英]Why I always get zero for adfuller test?
constant_all = [38.315546998853549,40.187217618535399,43.71380567455396,45.450748920811293,50.112269986599735,59.275158665010736,65.979556682432815,106.81142772445702,122.61124737594076,160.38976378829483,109.69662873794118,86.785774468513864,73.201627114685436,62.980558157294979,60.149903740134562,54.010569668890867,54.657627915195405,57.065262050299623,59.576109894133168,61.568376379726971,64.51074294474725]
我得到了上面的清单。 然后,我使用cadf = ts.adfuller(constant_all)
运行adfuller测试,然后我想通过cadf[0]
访问p值。
但是,我总是零。 我做错了什么吗?
根据文档 , cadf[0]
是测试统计量,而cadf[1]
是p值,在您的情况下约为0.959。
为了参考起见,让我们同时添加高和低p值示例:
import statsmodels.tsa.stattools as ts
import numpy as np
# Generate random residuals
np.random.seed(0)
errors = np.random.normal(0, 1, 1000)
# Create AR(1) samples for models with and without unit roots
x_unit_root = [0]
x_no_unit_root = [0]
for i in range(len(errors)):
x_unit_root.append(x_unit_root[-1] + errors[i])
x_no_unit_root.append(0.9*x_no_unit_root[-1] + errors[i])
# Calculate Augmented Dickey--Fuller p-values
ts.adfuller(x_unit_root)[1], ts.adfuller(x_no_unit_root)[1]
# (0.89251931327396528, 3.8562004970538103e-06)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.