Усовершенствованная модель ARIMA - PullRequest
0 голосов
/ 06 марта 2020

Мне нужно построить продвинутую модель Arima. Значение v1 фиксировано для всех продвинутых моделей arima, но значение для xreg отличается (содержит 7 столбцов данных). Мне нужно извлечь средние остатки для этих 7 регрессий. До сих пор я придумал этот код.

model <- data[c(2:8)]
AdvancedMAE <- function(model){
  p <- ncol(model)
  p1 <- Arima(data$v1,order=c(0,3,1),xreg=as.matrix(model))
  p2 <- data.frame(mean(abs(p1$residuals)))
  p2
  }
allvalue <- AdvancedMAE(model=model)

, но полученный результат является средним для всех данных, а не средним для каждых 7 l oop регрессий.

1 Ответ

0 голосов
/ 10 марта 2020

Следующий комментарий слишком длинен для комментария.

Прежде всего, пожалуйста, всегда предоставьте репрезентативные и минимальные выборочные данные; если вы не можете поделиться своими данными из-за соображений конфиденциальности, предоставьте фиктивные данные. arima.sim упрощает моделирование данных для c процессов ARIMA. Если вы предоставляете данные случайной выборки, не забудьте использовать фиксированное случайное начальное число с set.seed.

Что касается ваших вопросов:

  1. Я не знаю, что вы имеете в виду "продвинутой моделью Arima". Похоже, вам подходит модель basi c ARIMA (0, 3, 1) с внешними регрессорами.
  2. Вы уверены, что три степени различия верны? Не зная ничего о ваших данных (одна из причин, по которой предоставление данных важно!), Для меня процесс d = 3 вызовет тревожные звонки. Довольно редко бывает процесс, который потребовал бы d > 2.
  3. «Мне нужно извлечь средние невязки для этих 7 регрессий» В вашей модели вы не выполняете 7 регрессий. Вы выполняете одну регрессию с (как выглядит) 7 внешними регрессорами.
...