当前位置:   article > 正文

季节性时间序列分析-SARIMAX模型的python实现

sarimax

0 SARIMAX模型时间序列分析步骤

1. 用pandas处理时序数据

2. 检验时序数据的平稳性

3. 将时序数据平稳化

4. 确定order 的 p.d.q值

5. 确定season_order的四个值

6. 应用SARIMAX模型对时序数据进行预测

其实SARIMAX比ARIMA模型就多了个season_order参数的确定,但也是这里最费时间的一个步骤

1 将数据转化成为时序数据

先一股脑导入一下工具包

  1. import pandas as pd
  2. import datetime
  3. import matplotlib.pyplot as plt
  4. from pylab import mpl
  5. mpl.rcParams['font.sans-serif']=['SimHei']
  6. import seaborn as sns
  7. import statsmodels.tsa.stattools as ts
  8. import statsmodels.api as sm
  9. from statsmodels.tsa.arima_model import ARIMA
  10. from statsmodels.stats.diagnostic import unitroot_adf
  11. from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
  12. import itertools
  13. import warnings
  14. import numpy as np
  15. from statsmodels.tsa.seasonal import seasonal_decompose
  1. #读取数据
  2. data = pd.read_csv('factor.csv')
  3. data.index = pd.to_datetime(data['date'])
  4. data.drop(['date'], axis=1, inplace=True)
  5. data = data.result
  6. data.head()
  1. #数据大致情况展示
  2. data.plot(figsize=(12,8))
  3. plt.legend(bbox_to_anchor=(1.25, 0.5))
  4. plt.title('result')
  5. sns.despine()
  6. plt.show()

 

2 序列平稳性检测

  1. #数据平稳性检测 因为只有平稳数据才能做时间序列分析
  2. def judge_stationarity(data_sanya_one):
  3. dftest = ts.adfuller(data_sanya_one)
  4. print(dftest)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/511350
推荐阅读
相关标签
  

闽ICP备14008679号