Heim >Backend-Entwicklung >Python-Tutorial >Einführung in die Verwendung des Statsmodels-Moduls von Python zur Anpassung an ARIMA-Modelle

Einführung in die Verwendung des Statsmodels-Moduls von Python zur Anpassung an ARIMA-Modelle

coldplay.xixi
coldplay.xixinach vorne
2021-01-20 17:37:234457Durchsuche

Verwandte kostenlose Lernempfehlungen: Python-Video-Tutorial Dieser Artikel: https://download.csdn.net/download/weixin_45590329/14143811

#Das Zeitreihen-Liniendiagramm sieht wie folgt aus: Es ist offensichtlich, dass die Daten einen steigenden Trend aufweisen, und es wird zunächst davon ausgegangen, dass dies der Fall ist nicht stabilEinführung in die Verwendung des Statsmodels-Moduls von Python zur Anpassung an ARIMA-Modelle

2. Stationaritätstest

from scipy import statsimport pandas as pdimport matplotlib.pyplot as pltimport statsmodels.api as smfrom statsmodels.tsa.arima.model import ARIMAfrom statsmodels.graphics.tsaplots import plot_predict
plt.rcParams['font.sans-serif']=['simhei']#用于正常显示中文标签plt.rcParams['axes.unicode_minus']=False#用于正常显示负号
wird durchgeführt. Wie in einigen Ergebnissen gezeigt, wurde festgestellt, dass die Reihe nicht stationär ist. 3. Führen Sie eine Differenzverarbeitung erster Ordnung durch Daten
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='客运量')#画图
Erstellen Sie nach der Differenz erster Ordnung der Daten ein Liniendiagramm und beurteilen Sie zunächst, dass sie stationär sind

4. Führen Sie einen Stationaritätstest für die Differenzdaten erster Ordnung durch

sm.tsa.adfuller(data,regression='c')sm.tsa.adfuller(data,regression='nc')sm.tsa.adfuller(data,regression='ct')
Wie in der Abbildung gezeigt Abbildung, die anzeigt, dass die Sequenz stationär ist


5. Bestimmen Sie die ARIMA-Reihenfolge (p, d, q). 1,1,1) Modell

6. Parameterschätzung

diff=data.diff(1)diff.dropna(inplace=True)diff.plot(figsize=(12,8),marker='o',color='black')#画图

7. Modelltest

sm.tsa.adfuller(diff,regression='c')sm.tsa.adfuller(diff,regression='nc')sm.tsa.adfuller(diff,regression='ct')

Eine große Anzahl kostenloser Lernempfehlungen finden Sie unter

Python-Tutorial

(Video)

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung des Statsmodels-Moduls von Python zur Anpassung an ARIMA-Modelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen