функция предсказания в пакете betategarch дает индекс ошибки за пределами границ

Я использую пакет betategarch, и когда я использую функцию прогнозирования, она выдает мне индекс ошибки за пределами границ. Я исследовал это и пока не получил никаких результатов, потому что эта ошибка очень общая, и я не уверен, что делать и как ее решить. Я также использовал функцию (any(is.na), чтобы проверить, есть ли у меня какие-либо NA, потому что это было одним из предложений по решению моей проблемы, но у меня не было пропущенных значений.

  LOTOS.daily.xts
                   [,1]
2005-06-10 -0.016807118
2005-06-13  0.006756782
2005-06-14  0.000000000
2005-06-15  0.000000000
2005-06-16 -0.016978337
2005-06-17 -0.003430535
2005-06-20 -0.003442344
2005-06-21  0.000000000
2005-06-22  0.027212564
2005-06-23 -0.006734032
2005-06-24 -0.006779687
2005-06-27  0.010152371
2005-06-28  0.000000000
2005-06-29 -0.003372684
2005-06-30  0.000000000

    str(LOTOS.daily.xts)
An ‘xts’ object on 2005-06-10/2005-06-30 containing:
  Data: num [1:15, 1] -0.01681 0.00676 0 0 -0.01698 ...
  Indexed by objects of class: [POSIXct,POSIXt] TZ: 
  xts Attributes:  
 NULL

Подгонка моих данных:

Lotos.comp1 <- tegarch(LOTOS.daily.xts)
lotos.comp1.stdev <- fitted(Lotos.comp1)

Прогнозирование:

set.seed(123)
predict(Lotos.comp1, n.ahead=60)

predict(Lotos.comp1, n.ahead=5)
Error in predict.tegarch(Lotos.comp1, n.ahead = 5) : 
  subscript out of bounds

Спасибо


person Serdar    schedule 13.05.2014    source источник
comment
Информации недостаточно, чтобы кто-либо еще мог воспроизвести ошибку. Предоставьте небольшой набор данных, которые могут воспроизвести проблему, с которой вы столкнулись. Подробнее см. Как сделать отличный воспроизводимый пример R? Информация.   -  person MrFlick    schedule 13.05.2014
comment
Спасибо за ответ, но мне было интересно, насколько большой мне нужно включать данные, у меня есть ежедневные данные, начиная с 2005 года. Может быть, я могу как-то загрузить свои данные сюда?   -  person Serdar    schedule 13.05.2014
comment
Лучше просто опубликовать как можно меньше данных, чтобы воспроизвести ошибку. Это не обязательно должны быть реальные данные. Как видно из ссылки, вы можете создать поддельный набор данных со случайными значениями, если это проще. Если вы требуете, чтобы кто-то загрузил данные откуда-то еще, у вас меньше шансов получить ответ.   -  person MrFlick    schedule 13.05.2014
comment
Спасибо. Я добавил минимальные данные, чтобы воспроизвести мою ошибку.   -  person Serdar    schedule 14.05.2014
comment
Кроме того, как выпускник UofM, я должен сказать, вперед СИНИЙ!   -  person Serdar    schedule 14.05.2014


Ответы (2)


Насколько я могу судить, это явная ошибка в пакете. Я думаю, что он ожидает, что переменная ответа будет названа «y», но это не имеет никакого смысла, и даже в этом случае результат неверен. Похоже, это проблема с начальными значениями, которые принимает predict.tegarch. Он пытается вытащить их из модели. Я получил это, чтобы работать на меня

Lotos.comp1 <- tegarch(LOTOS.daily.xts)
lotos.comp1.stdev <- fitted(Lotos.comp1)

cd <- coredata(fitted(Lotos.comp1, verbose=T))
initv <- data.frame(cd[,c(1, match(c("lambda", "lambdadagg"), colnames(cd)))])
names(initv)[1]<-"y"

predict(Lotos.comp1, initial.values=initv)

Я не уверен, что взял правильное значение для начального значения. Я действительно понятия не имею, как работает эта конкретная регрессия. В матрице cd есть другие безымянные столбцы, которые также могут быть значением «y», которое он ищет, но имеет смысл, что это первые значения, которые вы ввели в модель.

Итак, как я уже сказал, это устраняет ошибку, но я не могу быть уверен, что это дает правильный ответ. Я бы определенно связался с автором пакета с этим воспроизводимым, но кодом, чтобы узнать, знают ли они о проблеме. (К вашему сведению, я понял это, глядя на источник функции, который вы можете найти с помощью getAnywhere("predict.tegarch")).

person MrFlick    schedule 14.05.2014

Я связался с автором пакета Mr.Sucarrat, и он любезно объяснил мне возникшую ошибку. Проблема возникает из-за того, что я использую объект xts или конкретную конструкцию xts, а не зоопарк. Его пакет хорошо работает с пакетом zoo. Так что, если у кого-то была такая же ошибка, я надеюсь, что это помогло. Также спасибо г-ну Хенаро Сукаррату за очень быстрый ответ и помощь с этой ошибкой.

person Serdar    schedule 15.05.2014