时间序列预测,分析平稳性

时间:2021-03-14 22:47:29

标签: python time-series arima

我有 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)

enter image description here

2 个答案:

答案 0 :(得分:0)

如果没有看到代码/数据,就很难看出你做错了什么,例如,你本可以在标准偏差或其他方面表现得更好。您的数据格式应为

<头>
日期 排放
1992-01-01 21
1993-01-01 20.5

日期通常设置为索引,您的日期应该是日期时间类型

答案 1 :(得分:0)

ADF 测试用于确定对数据进行差分是否会产生稳定性,从而推断当前数据不是。我没有你的数据,所以我不知道它是否有,但你想要测试的是对数据进行差分是否会导致以 0 为中心的随机噪声。 如果您在执行 ADF 时没有获得固定数据,那么这可能就是 ADF 无法处理原始数据的原因。

您还可以查看其他测试,有时不需要差分来使数据稳定,而对数转换更合适,请对您的数据进行试验并查看。

相关问题