我有 1990 年到 2017 年的年度碳排放数据(28 个数据点),我想对其进行时间序列预测。窗口为 2 的数据的滚动平均值随时间不断增加,这表明我的数据不是平稳的,但 dicky-fuller 测试给出的 p 值为 0.04,小于 0.05,因此这表明数据是平稳的。 在这种情况下可以做什么?
def rolling_stats(time_data):
rolling_mean=time_data.rolling(2).mean()
rolling_std=time_data.rolling(2).std()
raw_data=plt.plot(time_data,color="blue",label="Original Data")
mean=plt.plot(rolling_mean,color="green",label="mean")
std=plt.plot(rolling_std,color="red",label="std")
plt.legend(loc="best")
plt.title("Mean and standard deviation")
plt.xlabel("Years")
plt.ylabel("Carbon emitted in megatonnes")
rolling_stats(CarbonEmitted)
答案 0 :(得分:0)
如果没有看到代码/数据,就很难看出你做错了什么,例如,你本可以在标准偏差或其他方面表现得更好。您的数据格式应为
日期 | 排放 |
---|---|
1992-01-01 | 21 |
1993-01-01 | 20.5 |
日期通常设置为索引,您的日期应该是日期时间类型
答案 1 :(得分:0)
ADF 测试用于确定对数据进行差分是否会产生稳定性,从而推断当前数据不是。我没有你的数据,所以我不知道它是否有,但你想要测试的是对数据进行差分是否会导致以 0 为中心的随机噪声。 如果您在执行 ADF 时没有获得固定数据,那么这可能就是 ADF 无法处理原始数据的原因。
您还可以查看其他测试,有时不需要差分来使数据稳定,而对数转换更合适,请对您的数据进行试验并查看。