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

相关文章
|
NoSQL MongoDB Python
mongodb使用like模糊查询
mongodb使用like模糊查询
1601 0
|
安全 数据安全/隐私保护 芯片
微信读书电脑版,来了!
微信读书电脑版,来了!
|
Java 测试技术 Android开发
Junit - 期望异常测试(Expected Test)
Junit - 期望异常测试(Expected Test)
1501 0
|
存储 算法 Python
一文速学-时间序列分析算法之指数平滑法详解+Python代码实现
一文速学-时间序列分析算法之指数平滑法详解+Python代码实现
2816 0
一文速学-时间序列分析算法之指数平滑法详解+Python代码实现
|
机器学习/深度学习 数据挖掘 vr&ar
时间序列预测利器:Sklearn中的ARIMA与状态空间模型
【7月更文第24天】时间序列预测是数据分析和机器学习领域的一个重要分支,它致力于从历史数据中挖掘规律,预测未来的发展趋势。在Python的Scikit-learn库中,虽然直接提供的时间序列预测模型不如专门的时间序列分析库如Statsmodels或Prophet那样丰富,但Scikit-learn的强大之处在于其模型的灵活性和集成能力,尤其是状态空间模型的实现,为自定义复杂时间序列模型提供了坚实的基础。本文将介绍如何使用Scikit-learn进行时间序列预测,重点聚焦在ARIMA模型(通过Statsmodels间接实现)和状态空间模型的使用上,并通过代码示例深入解析。
599 0
|
11月前
|
自然语言处理 算法 搜索推荐
NLP中TF-IDF算法
TF-IDF(词频-逆文档频率)是一种用于信息检索与数据挖掘的加权技术,通过评估词语在文档中的重要性来过滤常见词语,保留关键信息。本文介绍了TF-IDF的基本概念、公式及其在Python、NLTK、Sklearn和jieba中的实现方法,并讨论了其优缺点。TF-IWF是TF-IDF的优化版本,通过改进权重计算提高精度。
600 1
多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
|
存储 算法 安全
|
存储 安全 搜索推荐
想要解析邮件?IMAP协议轻松助你,不再烦恼!
电子邮件仍是关键的通讯工具,利用编程语言自动化处理能显著提高效率。本文介绍使用Go语言从IMAP服务器读取、解析邮件及处理相关信息。首先概述POP3/IMAP/SMTP协议的作用,强调IMAP协议的优势及其在邮件客户端与服务器间双向同步的特点。接着,指导如何获取授权码以连接第三方服务。通过实战演示,展示使用`go-imap`库连接服务器、读取邮件详情(如主题、收件人等)、标记邮件为已读的过程。最后,对比`Store`与`UidStore`方法的区别,指出使用`UidStore`更安全可靠。本文提供了一段详细的Go语言示例代码,帮助读者快速上手。
297 4
如何查看CentOS 7 虚拟机的IP地址
这篇文章介绍了如何在CentOS 7虚拟机中查看IP地址的方法。虽然具体内容没有提供,但通常在CentOS系统中,可以通过打开终端并使用`ifconfig`命令(或在最新版本中使用`ip addr`命令)来查看网络接口的IP地址。如果需要查看特定网络接口的详细信息,可以使用`ifconfig 接口名称`或`ip addr show 接口名称`。
如何查看CentOS 7 虚拟机的IP地址