美文网首页
时间序列笔记-动态回归

时间序列笔记-动态回归

作者: 新云旧雨 | 来源:发表于2019-08-21 22:42 被阅读0次

    笔记说明

    在datacamp网站上学习“Time Series with R ”track
    “Forecasting Using R”课程 做的对应笔记。
    学识有限,错误难免,还请不吝赐教。
    学习的课程为“Forecasting Using R”,主要用forecast包。
    课程参考教材Forecasting: Principles and Practice
    课程中数据可在fpp2包得到

    动态回归(Dynamic regression)

    之前涉及过的时间序列模型只考虑了因变量自己的历史数据情况,并没有考虑其他可能对因变量有影响的变量。动态回归可以一定程度上弥补这一缺陷。
    带有ARIMA误差项的动态回归模型:
    y_t=β_0+β_1x_{1,t}+...+β_rx_{r,t}+e_t

    • 模型有r个自变量:x_{1,t},x_{2,t}...x_{r,t}
    • 在一般的线性回归模型中,我们假定e_t为白噪声
    • 在动态回归模型中,e_t是一个ARIMA过程

    R实现

    可以用forecast包的auto.arima(y,xreg=)实现误差项为ARIMA过程的动态回归模型。
    与之前ARIMA不同的是需要在auto.arima()中增加xreg选项指定自变量数据。
    实例数据advert中包含某公司24个月的销售额和广告支出

    # Time plot of both variables
    autoplot(advert, facets = TRUE)
    

    可以看出来销售额和广告支出之间有较强的相关性
    建立动态回归模型:

    # Fit ARIMA model
    fit <- auto.arima(advert[, "sales"], xreg = advert[, "advert"], stationary = TRUE)
    
    summary(fit)
    
    checkresiduals(fit)
    

    可以看出auto.arima()将误差项拟合为ARIMA(1,0,0)过程。ar1的回归系数的可解释性较差,但xreg项的回归系数的可解释性比较强,它的意义和线性回归中自变量的回归系数意义类似。
    残差分析结果:

    forecast()进行模型预测时,也需要添加xreg选项,提供想要预测的时间点对应的自变量的值

    # Forecast fit as fc
    fc <- forecast(fit, xreg = rep(10,6))
    
    # Plot fc with x and y labels
    autoplot(fc) + xlab("Month") + ylab("Sales")
    

    预测结果:


    相关文章

      网友评论

          本文标题:时间序列笔记-动态回归

          本文链接:https://www.haomeiwen.com/subject/fvuwsctx.html