使用python的statsmodels模組擬合ARIMA模型 | Statsmodels 教學

from scipy import stats import pandas as pd import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.tsa.arima.model ...程式人生>實用技巧>其它>使用python的statsmodels模組擬合ARIMA模型使用python的statsmodels模組擬合ARIMA模型阿新•來源:網路•發佈:2021-01-20技術標籤:python操作基礎知識statsmodelARIMA模型匯入必要包和模組fromscipyimportstatsimportpandasaspdimportmatplotlib.pyplotaspltimportstatsmodels.apiassmfromstatsmodels.tsa.arima.modelimportARIMAfromstatsmodels.graphics.tsaplotsimportplot_predictplt.rcParams['font.sans-serif']=['simhei']#用於正常顯示中文標籤plt.rcParams['axes.unicode_minus']=False#用於正常顯示負號1.讀取資料並畫圖data=pd.read_csv('資料/客運量.csv',index_col=0)data.index=pd.Index(sm.tsa.datetools.dates_from_range('1949','2008'))#將時間列改為專門時間格式,方便後期操作data.plot(figsize=(12,8),marker='o',color='black',ylabel='客運量')#畫圖#本文所使用的客流量時間序列資料:https://download.csdn.net/download/weixin_45590329/14143811#時間序列折線圖如下所示,顯然資料有遞增趨勢,初步判斷資料不平穩2.平穩性檢驗sm.tsa.adfuller(data,regression='c')sm.tsa.adfuller(data,regression='nc')sm.tsa.adfuller(data,regression='ct')進行三種形式的ADF單位根檢驗,如部分結果所示,發現序列不平穩3.對資料作一階差分處理diff=data.diff(1)diff.dropna(inplace=True)diff.plot(figsize=(12,8),marker='o',color='black')#畫圖作出資料一階差分後折線圖,初步判斷平穩4.對一階差分資料進行平穩性檢驗sm.tsa.adfuller(diff,regression='c')sm.tsa.adfuller(diff,regression='nc')sm.tsa.adfuller(diff,regression='ct')如圖所示,說明序列平穩5.確定ARIMA(p,d,q)階數fig=plt.figure(figsize=(12,8))ax1=fig.add_subplot(211)fig=sm.graphics.tsa.plot_acf(diff.values.squeeze(),lags=12,ax=ax1)#自相關係數圖1階截尾,決定MA(1)ax2=fig.add_subplot(212)fig=sm.graphics.tsa.plot_pacf(diff,lags=12,ax=ax2)#偏相關係數圖1階截尾,決定AR(1)根據自相關係數圖ACF和偏自相關係數圖PACF,將原始資料確定為ARIMA(1,1,1)模型6.引數估計model=ARIMA(data,order=(1,1,1)).fit()#擬合模型model.summary()#統計資訊彙總#係數檢驗params=model.params#係數tvalues=model.tvalues#係數t值bse=model.bse#係數標準誤pvalues=model.pvalues#係數p值#繪製殘差序列折線圖resid=model.resid#殘差序列fig=plt.figure(figsize=(12,8))ax=fig.add_subplot(111)ax=model.resid.plot(ax=ax)#計算模型擬合值fit=model.predict(exog=data[['TLHYL']])7.模型檢驗#8.1.檢驗序列自相關sm.stats.durbin_watson(model.resid.values)#DW檢驗:靠近2——正常;靠近0——正自相關;靠近4——


常見投資理財問答


延伸文章資訊