ARIMA模型ARIMA模型的全称是自回归移动平均模型,是用来预测时间序列的一种常用的统计模型,一般记作ARIMA(p,d,q)。
ARIMA的适应情况ARIMA模型相对来说比较简单易用。在应用ARIMA模型时,要保证以下几点:时间序列数据是相对稳定的,总体基本不存在一定的上升或者下降趋势,如果不稳定可以通过差分的方式来使其变稳定。
非线性关系处理不好,只能处理线性关系判断时序数据稳定基本判断方法:稳定的数据,总体上是没有上升和下降的趋势的,是没有周期性的,方差趋向于一个稳定的值。
ARIMA数学表达ARIMA(p,d,q),其中p是数据本身的滞后数,是AR模型即自回归模型中的参数。d是时间序列数据需要几次差分才能得到稳定的数据。q是预测误差的滞后数,是MA模型即滑动平均模型中的参数。
a) p参数与AR模型AR模型描述的是当前值与历史值之间的关系,滞后p阶的AR模型可以表示为:
其中u是常数,et代表误差。
b) q参数与MA模型MA模型描述的是当前值与自回归部分的误差累计的关系,滞后q阶的MA模型可以表示为:
其中u是常数,et代表误差。
c) d参数与差分
一阶差分:
二阶差分:
d) ARIMA = AR+MA
ARIMA模型使用步骤获取时间序列数据观测数据是否为平稳的,否则进行差分,化为平稳的时序数据,确定d通过观察自相关系数ACF与偏自相关系数PACF确定q和p
得到p,d,q后使用ARIMA(p,d,q)进行训练预测Python调用ARIMA#差分处理diff_series = diff_series.diff(1)#一阶diff_series2 = diff_series.diff(1)#二阶#ACF与PACF#从scipy导入包from scipy import stats import statsmodels.api as sm#画出acf和pacf sm.graphics.tsa.plot_acf(diff_series) sm.graphics.tsa.plot_pacf(diff_series)#arima模型from statsmodels.tsa.arima_model import ARIMA model = ARIMA(train_data,order=(p,d,q),freq='')#freq是频率,根据数据填写arima = model.fit()#训练print(arima) pred = arima.predict(start='',end='')#预测总结以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:python实现BP神经网络回归预测模型Python PaddleOCR模型训练及使用超详细教程Python中利用LSTM模型进行时间序列预测分析的实现Python使用Ollama实现私有大模型知识库python 机器学习之支持向量机非线性回归SVR模型用Python给文本创立向量空间模型的教程python使用tensorflow保存、加载和使用模型的方法python构建指数平滑预测模型示例Python深度学习之Unet 语义分割模型(Keras)深入浅析Python 中的sklearn模型选择Python深度学习时序预测:从数据预处理到DGCRN/Informer模型对比
