R语言ARIMA,SARIMA预测道路交通流量时间序列分析:季节性、周期性

简介: R语言ARIMA,SARIMA预测道路交通流量时间序列分析:季节性、周期性

本文从实践角度讨论了季节性单位根。我们考虑一些时间序列 ),例如道路上的交通流量,

> plot(T,X,type="l")
> reg=lm(X~T)
> abline(reg,col="red")


如果存在趋势,我们应该将其删除,然后处理残差

> Y=residuals(reg)
> acf(Y,lag=36,lwd=3)


我们可以看到这里有一些季节性。第一个策略可能是假设存在季节性单位根,因此我们考虑 Y_t),我们尝试找到ARMA模型。考虑时间序列的自相关函数,

> Z=diff(Y,12)
> acf(Z,lag=36,lwd=3)


或偏自相关函数

第一个图可能建议MA(1),而第二个图可能建议AR(1)时间序列。我们都尝试。

arima
Coefficients:
          ma1  intercept
      -0.2367  -583.7761
s.e.   0.0916   254.8805
sigma^2 estimated as 8071255:  log likelihood = -684.1,  aic = 1374.2


可以认为是白噪声(如果您不确定,请尝试 Box-Pierce或Ljung-Box 测试)。

arima
Coefficients:
          ar1  intercept
      -0.3214  -583.0943
s.e.   0.1112   248.8735
sigma^2 estimated as 7842043:  log likelihood = -683.07,  aic = 1372.15


也可以视为白噪声。到目前为止,我们有

对于一些白噪声 )。这表明以下的SARIMA结构 )

arima
Coefficients:
          ar1
      -0.2715
s.e.   0.1130
sigma^2 estimated as 8412999:  log likelihood = -685.62,  aic = 1375.25


现在,如果我们认为我们没有季节性单位根,而在AR结构中只是一个大的自回归系数。让我们尝试类似

自然而然的猜测是该系数应该(可能)接近于1。让我们尝试一下

arima
Coefficients:
          ar1    sar1  intercept
      -0.1629  0.9741  -684.9455
s.e.   0.1170  0.0115  3064.4040
sigma^2 estimated as 8406080:  log likelihood = -816.11,  aic = 1640.21


这与我们先前(以某种方式)获得的结果具有可比性,因此我们可以假设该模型是一个有趣的模型。我们将进一步讨论:第一个系数可能是不重要的。

这两个模型有什么区别?

从(非常)长期的角度来看,模型是完全不同的:一个模型是平稳的,因此预测将趋向于平均值,而另一个模型则是按季节的,因此置信区间将增加。我们得到

> pre(model2,600,b=60000)


对于平稳的

> prev(model3,600,b=60000)


但是,使用这些模型进行的预测仅适用于短期范围。在这种情况下,这里的预测几乎相同,

> pre(model2,36,b=60000)


> pre(model3,36,b=60000)


现在,如果我们回到第二个模型,自回归系数可能被认为是不重要的。如果我们将其删除怎么样?

Call:
seasonal = list(order = c(1, 0, 0)
Coefficients:
        sar1  intercept
      0.9662  -696.5661
s.e.  0.0134  3182.3017
sigma^2 estimated as 8918630:  log likelihood = -817.03,  aic = 1640.07


如果我们看一下(短期)预测,我们得到

> pre(model,36,b=32000)


有什么区别吗?如果我们看一下预测结果数字,我们会得到

数字不同,但差异不大(请注意置信区间的大小)。这可以解释为什么在R中,当我们在自回归过程时 ,得到一个模型要估计的参数 ,即使其中不重要,我们通常也会保留它们来预测。


相关文章
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
52 3
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
7月前
|
机器学习/深度学习 数据挖掘 计算机视觉
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
|
7月前
|
数据可视化 定位技术
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化
|
7月前
|
数据采集 数据挖掘 测试技术
python、R语言ARIMA-GARCH分析南方恒生中国企业ETF基金净值时间序列分析
python、R语言ARIMA-GARCH分析南方恒生中国企业ETF基金净值时间序列分析
|
7月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言神经网络模型金融应用预测上证指数时间序列可视化
R语言神经网络模型金融应用预测上证指数时间序列可视化
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
7月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
7月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。