Como interpretar os resultados do modelo TBATS e o diagnóstico do modelo


11

Eu tenho dados de demanda por hora e meia, que é uma série temporal multi-sazonal. Eu usei tbatsno forecastpacote em R e obtive resultados como este:

TBATS(1, {5,4}, 0.838, {<48,6>, <336,6>, <17520,5>}) 

Isso significa que a série não deve necessariamente usar a transformação Box-Cox, e o termo de erro é ARMA (5, 4), e os termos 6, 6 e 5 são usados ​​para explicar a sazonalidade? O que esse parâmetro amortecido 0.8383 significa, também é para transformação?

A seguir, é apresentado o gráfico de decomposição do modelo:

insira a descrição da imagem aqui

Eu estou querendo saber o que fazer levele slopedizer sobre o modelo. A 'inclinação' conta a tendência, mas e quanto level? Como obter uma plotagem mais clara para session 1e session 2, que são diárias e semanalmente sazonais, respectivamente.

Também sei o que saber como fazer o diagnóstico do modelo para tbatsavaliar o modelo, exceto o valor RMSE. A maneira normal é verificar se o erro é ruído branco, mas aqui o erro deve ser uma série ARMA. Eu planto 'acf' e 'pacf' do erro, e não acho que pareça com ARMA (5,4). Isso significa que meu modelo não é bom?

acf(resid(model1),lag.max = 1000)
pacf(resid(model1),lag.max=1000)

insira a descrição da imagem aqui

A pergunta final RMSEé calculada usando o valor ajustado e o valor verdadeiro. E se eu usar o valor previsto fc1.week$meane o valor verdadeiro para avaliar o modelo, ele ainda é chamado RMSE? Ou existe outro nome para isso?

fc1.week <-forecast(model1,h=48*7)
fc1.week.demand<-fc1.week$mean

Respostas:


8

Na página de ajuda de ?tbats, descobrimos que:

O modelo ajustado é designado TBATS (ômega, p, q, phi,, ...,) em que ômega é o parâmetro Box-Cox e phi é o parâmetro de amortecimento; o erro é modelado como um processo ARMA (p, q) e m1, ..., mJ listam os períodos sazonais usados ​​no modelo e k1, ..., kJ são o número correspondente de termos de Fourier usados ​​para cada sazonalidade.

Assim:

  • ômega = 1, significando que, de fato, não houve transformação de Box-Cox .
  • phi = 0.838, o que significa que a tendência será atenuada. (Para ser sincero, não sei se ou corresponde ao amortecimento total. É melhor brincar um pouco com os dados simulados.) Veja o parâmetro para .ϕ=0ϕ=1use.damped.trendtbats()
  • Você tem três ciclos sazonais diferentes, um de comprimento 48 = 24 * 2 (diariamente), um de comprimento 336 = 7 * 24 * 2 (semanalmente) e um de comprimento 17520 = 365 * 24 * 2 (anualmente). tbatsse encaixa no primeiro usando seis termos de Fourier, o segundo novamente com seis e o último com cinco.

O artigo original do TBATS de De Livera, Hyndman & Snyder (2011, JASA ) é obviamente útil.

Próximo:

  • O "nível" é o nível local da série temporal.
  • A "tendência" é a tendência local.

Estes são análogos à decomposição mais comum das tendências da estação usando lowess (STL) . Dê uma olhada no stl()comando.

Para obter uma plotagem mais clara para a temporada1 e a temporada2, é possível examinar os valores numéricos dos componentes separados do seu modelo TBATS. Olhe para str(tbats.components(model1))e summary(tbats.components(model1)). tbats.components()fornece um mtsobjeto de várias séries temporais ( ), que é essencialmente uma matriz - uma das colunas fornece cada componente sazonal.

residuals()deve funcionar como em qualquer lugar do R; isto é, deve retornar os resíduos finais . Estes devem ser de fato ruído branco, porque são os resíduos após a aplicação de um ARMA (5,4). Os picos no seu ACF parecem regulares - parece que ainda há alguma sazonalidade. Você pode deduzir a periodicidade deles? (Realmente não ajuda que os atrasos sejam contados em múltiplos do ciclo sazonal mais longo.)

Por fim, sim, o erro quadrático médio raiz, que é uma medida de precisão de previsão de ponto comum , tem o mesmo acrônimo fora da amostra: RMSE.


1
Muito obrigado! Sim, o pico da ACF é regular, um pico em 48 lags. O problema é que eu já incluí 48 como sazonal em minhas séries temporais. Como você costuma fazer para corrigir o resíduo sazonal? Vale mais a pena tentar?
217 Jeannie

1
Cantarolar. Infelizmente, não vejo uma maneira de forçar tbats()a inclusão de mais termos de Fourier para sazonalidades específicas. Desculpe ...
Stephan Kolassa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.