поиск помощи для ошибки ARIMA "неверное значение для ошибки" запаздывания "или" различий "" с использованием пакета fable в r

У меня проблемы с функцией Arima в пакете fable, и я получаю сообщение об ошибке в теме письма, когда пытаюсь запустить модель. Возможно, в моем наборе данных слишком мало наблюдений для работы arima, хотя auto.arima отлично работает с тем же набором. Кроме того, это не сезонно - на самом деле, мои наблюдения произошли с разницей в четыре года (данные президентских выборов). Может, все?

Любая помощь или совет приветствуются.

Вот набор данных:https://www.dropbox.com/s/xmr4m3d4ksngurs/PVI%20Data%20arranged%20cols-dates.csv?dl=1

а вот сценарий:

library(tsibble) 
library(lubridate) 
library(fable) 
pvidata<-readr::read_csv("PVI Data arranged cols-dates.csv",col_names = TRUE) 
pvidata$Date<-as.Date(mdy(pvidata$Date)) 
pvidata<-as_tsibble(pvidata,index=Date) 
pvidata<- tidyr::pivot_longer(pvidata,-Date, names_to = "State",values_to="PVI") 
pvidata<-as_tsibble(pvidata,key=State,index=Date) 
fit <- pvidata %>%model(ets = ETS(PVI),arima = ARIMA(PVI))

Я получаю следующее: "Предупреждение: обнаружено 50 ошибок (1 уникальная) для arima [50], неверное значение для 'лага' или 'различий'"

Спасибо!

Пит Альтман

1 ответ

Это сообщение об ошибке неинформативно и вводит в заблуждение. Теперь это исправлено в https://github.com/tidyverts/fable/commit/4b9ae292f940c6e99b05a62cf3e76519fcac67b0 (причина в восходящем потоке исправлена ​​в https://github.com/tidyverts/fabletools/commit/4f7738bcb9b1c2b482937abd50c7e63fb80d4c55)

Проблема связана с вашим построением циббла. Представляя индекс вашего tsibble классом Date, детализация ваших данных по времени составляет 1 день. Однако выборы проводятся каждые несколько лет, поэтому индекс следует хранить как целое или числовое. Хороший способ проверить это - взглянуть на интервал tsibble (вверху таблицы):

library(tsibble) 
library(lubridate) 
pvidata<-readr::read_csv("https://www.dropbox.com/s/xmr4m3d4ksngurs/PVI%20Data%20arranged%20cols-dates.csv?dl=1",col_names = TRUE) 
pvidata$Date<-as.Date(mdy(pvidata$Date)) 
pvidata<-as_tsibble(pvidata,index=Date) 
pvidata<- tidyr::pivot_longer(pvidata,-Date, names_to = "State",values_to="PVI") 
pvidata
#> # A tsibble: 750 x 3 [1461D]
#> # Key:       State [50]
#>    Date       State         PVI
#>    <date>     <chr>       <dbl>
#>  1 1962-01-01 Alabama      0.12
#>  2 1962-01-01 Alaska       0.03
#>  3 1962-01-01 Arizona     -0.04
#>  4 1962-01-01 Arkansas     0.07
#>  5 1962-01-01 California   0.01
#>  6 1962-01-01 Colorado    -0.04
#>  7 1962-01-01 Connecticut -0.01
#>  8 1962-01-01 Delaware     0.02
#>  9 1962-01-01 Florida      0.16
#> 10 1962-01-01 Georgia      0.17
#> # … with 740 more rows

Создано 12.06.2020 пакетом REPEX (v0.3.0)

В [1461D] это автоматически определяемый интервал данных, который должен быть [4Y]. Установка даты в виде целого числа устраняет эту проблему:

library(tsibble) 
library(lubridate) 
pvidata<-readr::read_csv("https://www.dropbox.com/s/xmr4m3d4ksngurs/PVI%20Data%20arranged%20cols-dates.csv?dl=1",col_names = TRUE) 
pvidata$Date<-year(mdy(pvidata$Date)) 
pvidata<-as_tsibble(pvidata,index=Date) 
pvidata<- tidyr::pivot_longer(pvidata,-Date, names_to = "State",values_to="PVI") 
pvidata
#> # A tsibble: 750 x 3 [4Y]
#> # Key:       State [50]
#>     Date State         PVI
#>    <dbl> <chr>       <dbl>
#>  1  1962 Alabama      0.12
#>  2  1962 Alaska       0.03
#>  3  1962 Arizona     -0.04
#>  4  1962 Arkansas     0.07
#>  5  1962 California   0.01
#>  6  1962 Colorado    -0.04
#>  7  1962 Connecticut -0.01
#>  8  1962 Delaware     0.02
#>  9  1962 Florida      0.16
#> 10  1962 Georgia      0.17
#> # … with 740 more rows

Создано 12.06.2020 пакетом REPEX (v0.3.0)

С исправленными данными модели работают без проблем:

library(fable) 
#> Loading required package: fabletools
pvidata %>% model(ets = ETS(PVI),arima = ARIMA(PVI))
#> # A mable: 50 x 3
#> # Key:     State [50]
#>    State                ets                   arima
#>    <chr>            <model>                 <model>
#>  1 Alabama     <ETS(A,N,N)>          <ARIMA(0,1,0)>
#>  2 Alaska      <ETS(A,N,N)>          <ARIMA(1,0,0)>
#>  3 Arizona     <ETS(A,N,N)>  <ARIMA(0,0,2) w/ mean>
#>  4 Arkansas    <ETS(A,N,N)>          <ARIMA(1,0,1)>
#>  5 California  <ETS(A,N,N)> <ARIMA(0,1,0) w/ drift>
#>  6 Colorado    <ETS(A,N,N)>          <ARIMA(0,0,2)>
#>  7 Connecticut <ETS(A,N,N)>          <ARIMA(1,1,0)>
#>  8 Delaware    <ETS(A,N,N)>          <ARIMA(0,1,1)>
#>  9 Florida     <ETS(A,N,N)>          <ARIMA(1,0,0)>
#> 10 Georgia     <ETS(A,N,N)>          <ARIMA(0,0,1)>
#> # … with 40 more rows

Создано 12.06.2020 пакетом REPEX (v0.3.0)

Для получения дополнительной информации вы можете обратиться к https://otexts.com/fpp3/tsibble-objects.html и https://pkg.earo.me/tsibble/articles/faq.html.

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