产生直线预测的 ARIMA 模型

     2023-02-15     8

关键词:

【中文标题】产生直线预测的 ARIMA 模型【英文标题】:ARIMA model producing a straight line prediction 【发布时间】:2019-11-26 12:52:50 【问题描述】:

我在 2 个数据集上使用 ARIMA 模型进行了一些实验

    Airline passengers data 美元兑印度卢比数据

我在Airline passengers data 上得到一个正常的锯齿形预测

ARIMA order=(2,1,2)

Model Results

但是在USD vs Indian rupee data,我得到的预测是一条直线

ARIMA order=(2,1,2)

Model Results

SARIMAX order=(2,1,2),seasonal_order=(0,0,1,30)

Model Results

我尝试了不同的参数,但对于USD vs Indian rupee data,我总是得到直线预测。

还有一个疑问,我读到ARIMA 模型不支持具有季节性成分的时间序列(为此我们有 SARIMA)。那为什么对于航空公司乘客数据ARIMA 模型会产生循环预测?

【问题讨论】:

ARIMA produced slope straight line @Zeeshan 好的,如果 ARIMA 或季节性 ARIMA 找不到季节性模式,那么它会预测平均值(即直线)。我还尝试过“指数平滑”、“holts 冬季指数平滑”并获得相同的直线。因此,您建议的任何其他模型都能提供更好的预测。 试试脸书先知。 【参考方案1】:

最近遇到了类似的问题,我建议如下:

    可视化数据的季节性分解,以确保数据中存在季节性。请确保数据帧中包含频率分量。您可以使用以下命令在 pandas 数据框中强制执行频率:

    dh = df.asfreq('W') #for weekly resampled data and fillnas with appropriate method

这是一个进行季节性分解的示例代码:

import statsmodels.api as sm

decomposition = sm.tsa.seasonal_decompose(dh['value'], model='additive', 
                            extrapolate_trend='freq') #additive or multiplicative is data specific
fig = decomposition.plot()
plt.show()

该图将显示您的数据中是否存在季节性。请随意阅读这份关于季节性分解的惊人文件。 Decomposition

    如果您确定模型的季节性分量是30,那么使用pmdarima 包应该可以得到很好的结果。该软件包在为您的模型找到最佳pdq 值方面非常有效。这是它的链接:pmdarima example code pmdarima

如果您不确定季节性,请就您的数据的季节性影响咨询领域专家,或尝试在模型中试验不同的季节性成分并估计误差。

请确保在训练模型之前通过 Dickey-Fuller 检验检查数据的平稳性。 pmdarima 支持通过以下方式查找 d 组件:

from pmdarima.arima import ndiffs
kpss_diff = ndiffs(dh['value'].values, alpha=0.05, test='kpss', max_d=12)
adf_diff = ndiffs(dh['value'].values, alpha=0.05, test='adf', max_d=12)
n_diffs = max(adf_diff , kpss_diff )

借助我在此处提供的文档,您还可以找到d。如果回答没有帮助,请提供汇率数据来源。我将尝试用示例代码来解释流程。

【讨论】:

机器学习笔记之五用arima模型做需求预测用arima模型做需求预测

本文结构:时间序列分析?什么是ARIMA?ARIMA数学模型?input,output是什么?怎么用?-代码实例常见问题?时间序列分析?时间序列,就是按时间顺序排列的,随时间变化的数据序列。生活中各领域各行业太多时间序列的数据了... 查看详情

r语言的arima模型预测

R通过RODBC连接数据库stats包中的st函数建立时间序列funitRoot包中的unitrootTest函数检验单位根forecast包中的函数进行预测差分用timeSeries包中diffstats包中的acf和pacf处理自相关和偏自相关stats包中的arima函数模型  查看详情

滚动率预测模型是不是与 ARIMA 相同

】滚动率预测模型是不是与ARIMA相同【英文标题】:IsrollrateforecastingmodelthesameasARIMA滚动率预测模型是否与ARIMA相同【发布时间】:2018-11-0810:24:18【问题描述】:我目前正在尝试建立一个滚动率模型来估计未来几个月的财务损失。... 查看详情

如何执行不涉及重新拟合 ARIMA 模型的多步超时预测?

】如何执行不涉及重新拟合ARIMA模型的多步超时预测?【英文标题】:Howtoperformmulti-stepout-of-timeforecastwhichdoesnotinvolverefittingtheARIMAmodel?【发布时间】:2019-10-1314:46:07【问题描述】:我有一个现有的ARIMA(p,d,q)模型适合使用python的时... 查看详情

使用 ARIMA 进行预测

】使用ARIMA进行预测【英文标题】:ForecastingwithARIMA【发布时间】:2019-05-0621:11:06【问题描述】:我正在使用ARIMA模型预测时间序列数据。我使用以下代码找到了最适合的ARIMA模型:defrun_arima_model(df,ts,p,d,q):fromstatsmodels.tsa.arima_modeli... 查看详情

使用拟合 pmdarima ARIMA 模型进行预测

】使用拟合pmdarimaARIMA模型进行预测【英文标题】:PredictusingfitpmdarimaARIMAmodel【发布时间】:2021-11-0422:03:42【问题描述】:我可以使用pmdarima将SARIMA模型拟合到一些数据。importpmdarimaaspmfrompmdarima.model_selectionimporttrain_test_splitimportnump... 查看详情

使用额外回归量预测 ARIMA 模型

】使用额外回归量预测ARIMA模型【英文标题】:forecastingARIMAmodelwithextraregressors【发布时间】:2016-06-0205:12:26【问题描述】:假设我有一些时间序列如下,我想预测c1领先一步,这样做在R中非常简单且容易:testurl="https://docs.google.c... 查看详情

如何预测股票分析--自动arima

...出事物的发展趋势;另一方面充分考虑到偶然因素影响而产生的随机性,为了消除随机波动的影响,利用历史数据进行统计分析,并对数据进行适当处理,进行趋势预测。自动ARIMAARIMA是一种非常流行的时间序列预测统计方法。AR... 查看详情

不知道怎么改的尴尬r语言的arima模型预测

数据还有很多没弄好,程序还没弄完全好。 >read.xlsx("H:/ProjectPaper/论文/1.xlsx","Sheet1") >item<-read.xlsx("H:/ProjectPaper/论文/1.xlsx","Sheet1") >item<-ts(item,start=c(2014))>plot.ts(item) 查看详情

r语言时间序列(timeseries)分析实战:使用arima模型预测时间序列

R语言时间序列(timeseries)分析实战:使用ARIMA模型预测时间序列目录 查看详情

Python/Pandas - 如何调整 auto_arima 模型参数以获得未来预测

】Python/Pandas-如何调整auto_arima模型参数以获得未来预测【英文标题】:Python/Pandas-Howtotuneauto_arimamodelparameterstogetfutureforecast【发布时间】:2019-05-0210:10:58【问题描述】:Python3.6我的数据集如下所示:这是旅游预订,例如旅游公司... 查看详情

Python statsmodels ARIMA 预测

】PythonstatsmodelsARIMA预测【英文标题】:PythonstatsmodelsARIMAForecast【发布时间】:2016-02-1304:56:34【问题描述】:我正在尝试使用pythonstatsmodels进行样本外预测。我不想只预测训练集末尾的下x个值,但我想一次预测一个值,并在预测... 查看详情

arima--时间序列模型(代码片段)

...方法。时间序列分析常用于国民宏观经济控制、市场潜力预测、气象预测、农作物害虫灾害预报等各个方面。  ARIMA模型,全称为自回归积分滑动平均模型(AutoregressiveIntegratedMovingAverageModel),是由博克思(Box)和詹金斯(Jenkins)... 查看详情

r语言用多项式回归和arima模型预测电力负荷时间序列数据(代码片段)

原文链接:http://tecdat.cn/?p=18037 根据我们对温度的预测,我们可以预测电力消耗。绘制电力消耗序列图:plot(elect,type="l")  我们可以尝试一个非常简单的模型,其中日期Y_t的消耗量是时间,温度(以多项式形式表示)以... 查看详情

时间序列模型-arima(代码片段)

...史值之间的关系,用变量自身的历史数据对自身进行预测;自回归模型必须满足平稳性的要求;(何为平稳性:见时间序列数据分析基本概念)p阶自回归过程的公式定义:        其中是当前值ÿ... 查看详情

时间序列处理方法(代码片段)

...归移动平均模型。ARIMA模型主要有p,d,q三个参数。p--代表预测模型中采用的时序数据本身的滞后数(lags),也叫做AR/Auto-Regressive项d--代表时序数据需要进行几阶差分化,才是稳定的,也叫Integrated项。q--代表预测模型中采用的预测误差... 查看详情

使用 auto.arima() 和 xreg 进行样本外预测

】使用auto.arima()和xreg进行样本外预测【英文标题】:OutofSampleforecastwithauto.arima()andxreg【发布时间】:2018-09-0818:17:13【问题描述】:我正在研究一个预测模型,其中我有从2014年到当月(2018年3月)的月度数据。我的部分数据是帐... 查看详情

基于python的时间序列分析arima(p,d,q)模型及模型预测(代码片段)

原理请查阅相关图书本文建立于Anaconda 可能部分代码不适用于IDLE编译器需要轻微改动首先应导入所需要的第三方库。importpandasaspdimportmatplotlib.pyplotaspltfromstatsmodels.graphics.tsaplotsimportplot_acffromstatsmodels.graphics.tsaplotsimportplot_pacffromst... 查看详情