拓端tecdat|R語(yǔ)言ARIMA、ARIMAX、 動(dòng)態(tài)回歸和OLS 回歸預(yù)測(cè)多元時(shí)間序列
原文鏈接:http://tecdat.cn/?p=25220?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
當(dāng)ARIMA模型包括其它時(shí)間序列作為輸入變量時(shí),被稱為傳遞函數(shù)模型(transfer function model)、多變量時(shí)間序列模型(multivariate time series model)、ARIMAX模型或Box-Tiao模型。傳遞函數(shù)模型是ARIMA模型的自然推廣,Pankratz統(tǒng)稱這種包含其它時(shí)間序列作為輸入變量的ARIMA模型為動(dòng)態(tài)回歸。
?
用于預(yù)測(cè)的 Arima
加載相關(guān)包和數(shù)據(jù)
?
bata<-read.csv
?
colnames(bata)
?
bata<-bata[order(as.Date,]
?
bata<-bata[order(as.Date,]
?
bata$workda<-as.factor
?
head(bata)

將數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集
?
#ARIMA 編程開(kāi)始
?
## 75% 的樣本量
?
smsize <- floor(0.95 * nrow)
?
print(smze)

?
## 設(shè)置種子可重現(xiàn)
?
set.seed(123)
?
traid <- sample
?
trn <- bata[1:smize, ]
?
tet <- baata[smp_size+1:nrow, ]
?
tet<-na.omit
創(chuàng)建預(yù)測(cè)矩陣
?
xreg <- cbind(as_workday=model.matrix,
?
Temp,
?
Humid,
?
Winds
?
)
?
?
?
# 刪除截距
?
xg <- xg[,-1]
?
?
?
# 重命名列
?
colnames<- c("Aldays","Tep","Humty","Wined")
?
?
?
#為測(cè)試數(shù)據(jù)創(chuàng)建相同的
?
?
?
xrg1 <- cbind
?
# 刪除截距
?
xreg1 <- xre1[,-1]
?
?
?
# 重命名列
?
colnames <- c("Aays","Te","uiiy","Wnsed")
為 arima 預(yù)測(cè)的訓(xùn)練數(shù)據(jù)創(chuàng)建時(shí)間序列變量
Cont <- ts
推論:由于數(shù)據(jù)是每天的,頻率為 365,開(kāi)始日期為 2016-7-7
用季節(jié)性擬合 ARIMA 模型

Fo_aes<-forecast

計(jì)算測(cè)試數(shù)據(jù)集 MSE
mean((tt - Finlues)^2)

在去除季節(jié)性之前繪制預(yù)測(cè)值
?
library(ggplot2)
?
?

無(wú)季節(jié)性擬合 ARIMA
去除季節(jié)性數(shù)據(jù)集和繪圖
decata = decompos

?### 查找去季節(jié)數(shù)據(jù)的 ARIMAX 模型
moesea

Foecs<-forecast
去除季節(jié)性后繪制預(yù)測(cè)值
?
library(ggplot2)
?
plot(Co, series="Data") +
?
autolayer+
?
autolayer

均方誤差分量
mean((tount - Fis_des)^2)

通過(guò)采用滯后變量的輸出以及滯后 1,2 的輸入進(jìn)行動(dòng)態(tài)回歸
?
x<-train[order,]
?
?
?
ti_ag <- x %>%
?
mutate
?
x1<-test
?
testg <- x1 %>%
?
mutate
使用動(dòng)態(tài)滯后變量的 OLS 回歸
mlm <- lm

推論:僅保留 P 值 <0.05 的重要變量并刪除其他變量
僅保留重要變量的情況下重新創(chuàng)建 OLS 回歸
?
Myal <-lm
?
summary(Myal )

在測(cè)試數(shù)據(jù)上預(yù)測(cè)相同以計(jì)算 MSE
?
prynm<-predict
?
?
?
?
?
# 動(dòng)態(tài)回歸的均方誤差
?
mean((teunt - tPrecd)^2)

繪制預(yù)測(cè)與實(shí)際
?
plot
?
abline


最受歡迎的見(jiàn)解
1.在python中使用lstm和pytorch進(jìn)行時(shí)間序列預(yù)測(cè)
2.python中利用長(zhǎng)短期記憶模型lstm進(jìn)行時(shí)間序列預(yù)測(cè)分析
3.使用r語(yǔ)言進(jìn)行時(shí)間序列(arima,指數(shù)平滑)分析
4.r語(yǔ)言多元copula-garch-模型時(shí)間序列預(yù)測(cè)
5.r語(yǔ)言copulas和金融時(shí)間序列案例
6.使用r語(yǔ)言隨機(jī)波動(dòng)模型sv處理時(shí)間序列中的隨機(jī)波動(dòng)
7.r語(yǔ)言時(shí)間序列tar閾值自回歸模型
8.r語(yǔ)言k-shape時(shí)間序列聚類方法對(duì)股票價(jià)格時(shí)間序列聚類
9.python3用arima模型進(jìn)行時(shí)間序列預(yù)測(cè)