在 R 中预测多个变量时间序列
Forecasting multiple variable time series in R
我正在尝试使用 R 预测三个变量,但我 运行 陷入了如何处理相关性的问题中。
我试图预测的三个变量是收入、订阅和价格。
我最初的方法是对订阅和价格进行两个独立的时间序列预测,并将结果相乘以生成收入预测。
我想了解这种方法是否有意义,因为价格和订阅者之间存在内在的相关性,这是我不知道如何处理的部分。
# Load packages.
library(forecast)
# Read data
data <- read.csv("data.csv")
data.train <- data[0:57,]
data.test <- data[58:72,]
# Create time series for variables of interest
data.subs <- ts(data.train$subs, start=c(2014,1), frequency = 12)
data.price <- ts(data.train$price, start=c(2014,1), frequency = 12)
#Create model
subs.stlm <- stlm(data.subs)
price.stlm <- stlm(data.price)
#Forecast
subs.pred <- forecast(subs.stlm, h = 15, level = c(0.6, 0.75, 0.9))
price.pred <- forecast(price.stlm, h = 15, level = c(0.6, 0.75, 0.9))
非常感谢任何帮助!
看来您可以使用向量自回归 (VAR) 模型。看看这里提供的描述和代码:
https://otexts.org/fpp2/VAR.html
我正在尝试使用 R 预测三个变量,但我 运行 陷入了如何处理相关性的问题中。
我试图预测的三个变量是收入、订阅和价格。
我最初的方法是对订阅和价格进行两个独立的时间序列预测,并将结果相乘以生成收入预测。
我想了解这种方法是否有意义,因为价格和订阅者之间存在内在的相关性,这是我不知道如何处理的部分。
# Load packages.
library(forecast)
# Read data
data <- read.csv("data.csv")
data.train <- data[0:57,]
data.test <- data[58:72,]
# Create time series for variables of interest
data.subs <- ts(data.train$subs, start=c(2014,1), frequency = 12)
data.price <- ts(data.train$price, start=c(2014,1), frequency = 12)
#Create model
subs.stlm <- stlm(data.subs)
price.stlm <- stlm(data.price)
#Forecast
subs.pred <- forecast(subs.stlm, h = 15, level = c(0.6, 0.75, 0.9))
price.pred <- forecast(price.stlm, h = 15, level = c(0.6, 0.75, 0.9))
非常感谢任何帮助!
看来您可以使用向量自回归 (VAR) 模型。看看这里提供的描述和代码: https://otexts.org/fpp2/VAR.html