簡體   English   中英

正確解釋 statsmodels.tsa.ar_models.ar_select_order 函數數組以確定最佳滯后

[英]Correctly interpreting statsmodels.tsa.ar_models.ar_select_order function array to determine optimal lag

使用 statsmodels 0.12.0 我試圖確定statsmodels.tsa.ar_models.AutoReg模型的最佳滯后。 我正在使用每月時間步長的美國人口數據,並將最大延遲 12 傳遞給statsmodels.tsa.ar_models.ar_select_order對象進行評估。

from statsmodels.tsa.ar_model import AutoReg, ar_select_order    
df = pd.read_csv('Data\uspopulation.csv', index_col='DATE', parse_dates=True)
df.index.freq = 'MS'
train_data = df.iloc[:84]
test_data = df.iloc[84:]
modelp = ar_select_order(train_data['PopEst'], maxlag=12)

上面的代碼返回一個[ 1 2 3 4 5 6 7 8 9 10 11 12]的 numpy 數組,根據 StackOverflow 問題: stackoverflow ,我將其解釋為“最佳滯后p為 12”。 但是,對某些指標 (RMSE) 進行評估后,我發現我的 AutoReg 擬合模型的maxlag=12的性能比低階模型差。 通過反復試驗,我發現最佳滯后是 8。所以我很難解釋生成的 numpy 數組,我一直在閱讀statsmodels.com/ar_select_orderstatsmodels.com/autoregressions上的資源,但他們沒有說得更清楚。

這里有人有任何意見嗎? 這個python庫的新手,感覺有點迷失。

上面的代碼返回一個 [1 2 3 4 5 6 7 8 9 10 11 12] 的 numpy 數組,根據 StackOverflow 問題:stackoverflow,我將其解釋為“最佳滯后 p 為 12”。

恩,那就對了。 它返回一個數組而不是12個數組的原因是它也可以搜索不包含所有滯后的模型,如果您設置glob=True 例如, [ 1 2 3 12]可能是具有某種年度季節性模式的月度模型的常見結果。

但是,對某些指標 (RMSE) 進行評估后,我發現我的 AutoReg 擬合模型的 maxlag=12 的性能比低階模型差。 通過反復試驗,我發現最佳滯后是 8。所以我很難解釋生成的 numpy 數組,我一直在閱讀 statsmodels.com/ar_select_order 和 statsmodels.com/autoregressions 上的資源,但他們沒有說得更清楚。

此函數返回使用信息標准判斷為最佳的模型。 特別是,默認值為BIC 或貝葉斯信息准則 如果使用其他標准,例如最小化樣本外 RSME,那么絕對有可能發現不同的模型被判斷為最優。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM