ARIMA、ARIMAX、 动态回归和OLS 回归预测多元时间序列

简介: ARIMA、ARIMAX、 动态回归和OLS 回归预测多元时间序列

当ARIMA模型包括其它时间序列作为输入变量时,被称为传递函数模型(transfer function model)、多变量时间序列模型(multivariate time series model)、ARIMAX模型或Box-Tiao模型。传递函数模型是ARIMA模型的自然推广,Pankratz统称这种包含其它时间序列作为输入变量的ARIMA模型为动态回归。

用于预测的 Arima

加载相关包和数据

bata<-read.csv
colnames(bata)
bata<-bata\[order(as.Date,\]
bata<-bata\[order(as.Date,\]
bata$workda<-as.factor
head(bata)

将数据划分为训练集和测试集

#ARIMA 编程开始
## 75% 的样本量
smsize <- floor(0.95 * nrow)
print(smze)

## 设置种子可重现
set.seed(123)
traid <- sample
trn <- bata\[1:smize, \]
tet <- baata\[smp_size+1:nrow, \]
tet<-na.omit

创建预测矩阵

xreg <- cbind(as_workday=model.matrix, 
              Temp,
              Humid,
              Winds
              )
# 删除截距
xg <- xg\[,-1\]
# 重命名列
colnames<- c("Aldays","Tep","Humty","Wined")
#为测试数据创建相同的
xrg1 <- cbind
# 删除截距
xreg1 <- xre1\[,-1\]
# 重命名列
colnames <- c("Aays","Te","uiiy","Wnsed")

为 arima 预测的训练数据创建时间序列变量

Cont <- ts
推论:由于数据是每天的,频率为 365,开始日期为 2016-7-7

用季节性拟合 ARIMA 模型

Fo_aes<-forecast

计算测试数据集 MSE

mean((tt - Finlues)^2)

在去除季节性之前绘制预测值

library(ggplot2)

无季节性拟合 ARIMA

去除季节性数据集和绘图

decata = decompos

### 查找去季节数据的 ARIMAX 模型
moesea

Foecs<-forecast

去除季节性后绘制预测值

library(ggplot2)
plot(Co, series="Data") + 
autolayer+ 
autolayer

均方误差分量

mean((tount - Fis_des)^2)

通过采用滞后变量的输出以及滞后 1,2 的输入进行动态回归

x<-train\[order,\]
ti_ag <- x %>%
  mutate
x1<-test
testg <- x1 %>%
  mutate

使用动态滞后变量的 OLS 回归

mlm <- lm

推论:仅保留 P 值 <0.05 的重要变量并删除其他变量

仅保留重要变量的情况下重新创建 OLS 回归

Myal <-lm
summary(Myal )

在测试数据上预测相同以计算 MSE

prynm<-predict
# 动态回归的均方误差
mean((teunt - tPrecd)^2)

绘制预测与实际

plot
abline

相关文章
|
6月前
时间序列分析实战(二):时序的ARMA模型拟合与预测
时间序列分析实战(二):时序的ARMA模型拟合与预测
|
4月前
|
机器学习/深度学习 数据挖掘 vr&ar
时间序列预测利器:Sklearn中的ARIMA与状态空间模型
【7月更文第24天】时间序列预测是数据分析和机器学习领域的一个重要分支,它致力于从历史数据中挖掘规律,预测未来的发展趋势。在Python的Scikit-learn库中,虽然直接提供的时间序列预测模型不如专门的时间序列分析库如Statsmodels或Prophet那样丰富,但Scikit-learn的强大之处在于其模型的灵活性和集成能力,尤其是状态空间模型的实现,为自定义复杂时间序列模型提供了坚实的基础。本文将介绍如何使用Scikit-learn进行时间序列预测,重点聚焦在ARIMA模型(通过Statsmodels间接实现)和状态空间模型的使用上,并通过代码示例深入解析。
160 0
|
6月前
|
机器学习/深度学习 并行计算 测试技术
BiTCN:基于卷积网络的多元时间序列预测
该文探讨了时间序列预测中模型架构的选择,指出尽管MLP和Transformer模型常见,但CNN在预测领域的应用较少。BiTCN是一种利用两个时间卷积网络来编码历史和未来协变量的模型,提出于《Parameter-efficient deep probabilistic forecasting》(2023年3月)。它包含多个由扩张卷积、GELU激活函数、dropout和全连接层组成的临时块,有效地处理序列数据。实验表明,BiTCN在具有外生特征的预测任务中表现优于N-HiTS和PatchTST。BiTCN的效率和性能展示了CNN在时间序列预测中的潜力。
260 1
|
5月前
|
机器学习/深度学习 vr&ar
技术心得:时间序列:ARIMA模型
技术心得:时间序列:ARIMA模型
54 0
|
6月前
|
机器学习/深度学习 vr&ar Python
数据分享|R语言用logistic逻辑回归和AFRIMA、ARIMA时间序列模型预测世界人口
数据分享|R语言用logistic逻辑回归和AFRIMA、ARIMA时间序列模型预测世界人口
|
机器学习/深度学习 运维 计算机视觉
TimesNet:时间序列预测的最新模型
2023年4月发表了一个新的模型,它在时间序列分析的多个任务中实现了最先进的结果,如预测、imputation、分类和异常检测:TimesNet。
798 0
|
6月前
R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
|
6月前
|
机器学习/深度学习 数据挖掘 vr&ar
R语言时间序列:ARIMA / GARCH模型的交易策略在外汇市场预测应用
R语言时间序列:ARIMA / GARCH模型的交易策略在外汇市场预测应用
|
6月前
|
机器学习/深度学习 供应链 算法
基于ARIMA、SVM、随机森林销售的时间序列预测
基于ARIMA、SVM、随机森林销售的时间序列预测
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言拟合改进的稀疏广义加性模型(RGAM)预测、交叉验证、可视化
R语言拟合改进的稀疏广义加性模型(RGAM)预测、交叉验证、可视化