欢迎光临散文网 会员登陆 & 注册

拓端tecdat|R语言ARIMA、ARIMAX、 动态回归和OLS 回归预测多元时间序列

2022-02-12 11:08 作者:拓端tecdat  | 我要投稿

原文链接:http://tecdat.cn/?p=25220 

原文出处:拓端数据部落公众号

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

用于预测的 Arima

加载相关包和数据

  1.  

    bata<-read.csv

  2.  

    colnames(bata)

  3.  

    bata<-bata[order(as.Date,]

  4.  

    bata<-bata[order(as.Date,]

  5.  

    bata$workda<-as.factor

  6.  

    head(bata)

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

  1.  

    #ARIMA 编程开始

  2.  

    ## 75% 的样本量

  3.  

    smsize <- floor(0.95 * nrow)

  4.  

    print(smze)

  1.  

    ## 设置种子可重现

  2.  

    set.seed(123)

  3.  

    traid <- sample

  4.  

    trn <- bata[1:smize, ]

  5.  

    tet <- baata[smp_size+1:nrow, ]

  6.  

    tet<-na.omit

创建预测矩阵

  1.  

    xreg <- cbind(as_workday=model.matrix,

  2.  

    Temp,

  3.  

    Humid,

  4.  

    Winds

  5.  

    )

  6.  

     

  7.  

    # 删除截距

  8.  

    xg <- xg[,-1]

  9.  

     

  10.  

    # 重命名列

  11.  

    colnames<- c("Aldays","Tep","Humty","Wined")

  12.  

     

  13.  

    #为测试数据创建相同的

  14.  

     

  15.  

    xrg1 <- cbind

  16.  

    # 删除截距

  17.  

    xreg1 <- xre1[,-1]

  18.  

     

  19.  

    # 重命名列

  20.  

    colnames <- c("Aays","Te","uiiy","Wnsed")

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

Cont <- ts

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

用季节性拟合 ARIMA 模型

Fo_aes<-forecast

计算测试数据集 MSE

mean((tt - Finlues)^2)

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

  1.  

    library(ggplot2)

  2.  

     

无季节性拟合 ARIMA

去除季节性数据集和绘图

decata = decompos

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

moesea

Foecs<-forecast

去除季节性后绘制预测值

  1.  

    library(ggplot2)

  2.  

    plot(Co, series="Data") +

  3.  

    autolayer+

  4.  

    autolayer

均方误差分量

mean((tount - Fis_des)^2)

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

  1.  

    x<-train[order,]

  2.  

     

  3.  

    ti_ag <- x %>%

  4.  

    mutate

  5.  

    x1<-test

  6.  

    testg <- x1 %>%

  7.  

    mutate

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

mlm <- lm

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

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

  1.  

    Myal <-lm

  2.  

    summary(Myal )

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

  1.  

    prynm<-predict

  2.  

     

  3.  

     

  4.  

    # 动态回归的均方误差

  5.  

    mean((teunt - tPrecd)^2)

绘制预测与实际

  1.  

    plot

  2.  

    abline

最受欢迎的见解

1.在python中使用lstm和pytorch进行时间序列预测

2.python中利用长短期记忆模型lstm进行时间序列预测分析

3.使用r语言进行时间序列(arima,指数平滑)分析

4.r语言多元copula-garch-模型时间序列预测

5.r语言copulas和金融时间序列案例

6.使用r语言随机波动模型sv处理时间序列中的随机波动

7.r语言时间序列tar阈值自回归模型

8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类

9.python3用arima模型进行时间序列预测


拓端tecdat|R语言ARIMA、ARIMAX、 动态回归和OLS 回归预测多元时间序列的评论 (共 条)

分享到微博请遵守国家法律