Estatísticas de Ljung-Box para resíduos ARIMA em R: resultados de testes confusos


14

Estou tentando prever uma série temporal, para a qual usei o modelo sazonal ARIMA (0,0,0) (0,1,0) [12] (= fit2). É diferente do que R sugeriu com auto.arima (ARIMA calculado R (0,1,1) (0,1,0) [12] seria um ajuste melhor, chamei-o de ajuste1). No entanto, nos últimos 12 meses da minha série cronológica, meu modelo (ajuste2) parece ser melhor quando ajustado (foi enviesado cronicamente, adicionei a média residual e o novo ajuste parece mais confortável em relação à série temporal original Aqui está o exemplo dos últimos 12 meses e o MAPE dos 12 meses mais recentes para os dois ajustes:

fit1, fit2 e dados originais

A série cronológica é assim:

séries cronológicas originais

Por enquanto, tudo bem. Realizei análise residual para os dois modelos, e aqui está a confusão.

O acf (resid (fit1)) parece ótimo, com muito ruído branco:

acf de fit1

No entanto, o teste Ljung-Box não parece bom por, por exemplo, 20 atrasos:

    Box.test(resid(fit1),type="Ljung",lag=20,fitdf=1)

Eu recebo os seguintes resultados:

    X-squared = 26.8511, df = 19, p-value = 0.1082

No meu entender, esta é a confirmação de que os resíduos não são independentes (o valor p é grande demais para ficar com a hipótese da independência).

No entanto, para o lag 1, tudo é ótimo:

    Box.test(resid(fit1),type="Ljung",lag=1,fitdf=1)

me dá o resultado:

    X-squared = 0.3512, df = 0, p-value < 2.2e-16

Ou não estou entendendo o teste, ou é um pouco contraditório com o que vejo no gráfico da ACF. A autocorrelação é ridiculamente baixa.

Então eu verifiquei fit2. A função de autocorrelação se parece com isso:

acf fit2

Apesar dessa autocorrelação óbvia em vários primeiros atrasos, o teste de Ljung-Box me deu resultados muito melhores em 20 atrasos do que o ajuste1:

    Box.test(resid(fit2),type="Ljung",lag=20,fitdf=0)

resulta em :

    X-squared = 147.4062, df = 20, p-value < 2.2e-16

ao passo que apenas verificar a autocorrelação no lag1 também me dá a confirmação da hipótese nula!

    Box.test(resid(arima2.fit),type="Ljung",lag=1,fitdf=0)
    X-squared = 30.8958, df = 1, p-value = 2.723e-08 

Estou entendendo o teste corretamente? O valor de p deve ser preferencialmente menor que 0,05 para confirmar a hipótese nula de independência de resíduos. Qual ajuste é melhor usar para previsão, ajuste1 ou ajuste2?

Informações adicionais: os resíduos do ajuste1 exibem distribuição normal, os resíduos do ajuste2 não.


2
Você não entende os valores-p e os está interpretando da maneira errada.
Scortchi - Restabelecer Monica

Sim, poderia ser a questão do entendimento. Você poderia expandir? Por exemplo, o que exatamente significa se o valor p for maior que 0,5? Eu li a definição de valor-p (probabilidade de obter estatísticas pelo menos tão extremas quanto a estatística de teste, considerando que hipóteses nulas são válidas). Como isso se aplica ao teste Ljung-Box? "Pelo menos tão extremo" significa "maior que X ao quadrado"? Eu ficaria grato pelo exemplo com meus dados, pois o teste de significância tem sido um desafio para mim entender.
Zima

5
A estatística do teste de Ljung-Box ( X-squared) aumenta à medida que as auto-correlações amostrais dos resíduos aumentam (veja sua definição), e seu valor p é a probabilidade de obter um valor tão grande quanto ou maior que o observado sob o valor nulo hipótese de que as verdadeiras inovações são independentes. Portanto, um pequeno valor p é uma evidência contra a independência.
Scortchi - Restabelecer Monica

@ Scortchi, acho que entendi. Mas isso também faz com que meu teste em lag = 1 para o fit1 falhe. Como isso pode ser explicado? Não vejo nenhuma autocorrelação em lag = 1. Existe algum tipo de extremalidade deste teste com pequeno número de atrasos (amostra muito pequena)?
Zima

3
O Box-Ljung é um teste abrangente de independência em todos os momentos até o que você especificar. Os graus de liberdade usados ​​são o não. fica menos o não. Parâmetros AR & MA ( fitdf), para testar uma distribuição qui-quadrado com zero grau de liberdade.
Scortchi - Restabelece Monica

Respostas:


32

Você interpretou o teste errado. Se o valor de p for maior que 0,05, os resíduos serão independentes, e queremos que o modelo esteja correto. Se você simular uma série temporal de ruído branco usando o código abaixo e usar o mesmo teste, o valor de p será maior que 0,05.

m = c(ar, ma)
w = arima.sim(m, 120)
w = ts(w)
plot(w)
Box.test(w, type="Ljung-Box")

3
Uma explicação curta e clara. +1 para o exemplo de código.
precisa saber é o seguinte

1
Sua interpretação também não está correta. Um valor p de 0,05 significa que você tem 5% de chance de cometer um erro se rejeitar a hipótese nula de não haver correlação automática até a ordem 1 no seu caso.
DJJ

7

Muitos testes estatísticos são usados ​​para tentar rejeitar alguma hipótese nula. Nesse caso em particular, o teste de Ljung-Box tenta rejeitar a independência de alguns valores. O que isso significa?

  • Se valor p <0,05 1 : você pode rejeitar a hipótese nula assumindo 5% de chance de cometer um erro. Portanto, você pode assumir que seus valores estão mostrando dependência um do outro.

  • Se valor p> 0,05 1 : você não tem evidência estatística suficiente para rejeitar a hipótese nula. Portanto, você não pode assumir que seus valores são dependentes. Isso pode significar que seus valores são dependentes de qualquer maneira ou pode significar que seus valores são independentes. Mas você não está provando nenhuma possibilidade específica, o que seu teste realmente disse é que você não pode afirmar a dependência dos valores, nem pode afirmar a independência dos valores.

Em geral, o importante aqui é ter em mente que o valor de p <0,05 permite rejeitar a hipótese nula, mas um valor de p> 0,05 não permite confirmar a hipótese nula.

Em particular, você não pode comprovar a independência dos valores das Séries Temporais usando o teste Ljung-Box. Você só pode provar a dependência.


α=0,05


α=0,05

0

De acordo com os gráficos do ACF, é óbvio que o ajuste 1 é melhor, uma vez que o coeficiente de correlação no atraso k (k> 1) cai acentuadamente e próximo a 0.


0

Se você está julgando com o ACF, o ajuste 1 é mais apropriado. Em vez de ficar confuso no teste de Ljung, você ainda pode usar o correlograma dos resíduos para determinar o melhor ajuste entre o ajuste1 e o ajuste2


1
Eu não entendo essa resposta.
Michael R. Chernick 27/05

Quando visitamos as estatísticas da caixa de Ljung, poderíamos estar interessados ​​na verificação de diagnóstico do modelo, ou seja, na adequação do modelo ... Se usar isso é confuso para você, existem outras maneiras de verificar a adequação do modelo que afirmei acima. Você pode plotar o correlograma Ie, ACF e PACF dos dados residuais e, em seguida, verificar os limites da série se houver ruído branco ...... Não é necessário usar o teste da caixa de Ljung
Vincent
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.