[英]Time series forecasting, analysing stationarity
我有一個從 1990 年到 2017 年的年度碳排放數據(28 個數據點),我想對其進行時間序列預測。 window 為 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)
如果沒有看到代碼/數據,很難看出你做錯了什么,例如,你可能在標准偏差或其他東西上表現得更糟。 您的數據應采用以下格式
日期 | 排放 |
---|---|
1992-01-01 | 21 |
1993-01-01 | 20.5 |
日期通常設置為索引,您的日期應該是日期時間類型
ADF 測試用於確定對數據進行差分是否會產生 staionairty,從而推斷當前數據不是。 我沒有你的數據,所以我不知道它是否有,但你想要測試的是差異數據是否會導致以 0 為中心的隨機噪聲。如果在執行 ADF 時沒有得到固定數據,那么這可能就是 ADF 的原因您的原始數據失敗。
您可以查看其他測試,有時不需要差異來使數據靜止,並且對數轉換更合適,對您的數據進行試驗並查看。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.