Прогнозирование нескольких переменных временных рядов в 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))

Любая помощь очень ценится!

1 ответ

Решение

Похоже, вы можете использовать модель векторной авторегрессии (VAR). Посмотрите описание и код, приведенный здесь: https://otexts.org/fpp2/VAR.html

Другие вопросы по тегам