Jak obliczyć wartość p parametrów dla modelu ARIMA w R?


23

Podczas przeprowadzania badań szeregów czasowych w R stwierdziłem, że arima zapewnia tylko wartości współczynników i ich standardowe błędy dopasowanego modelu. Jednak chcę również uzyskać wartość p współczynników.

Nie znalazłem żadnej funkcji, która zapewnia znaczenie cefry.

Więc chcę to obliczyć sam, ale nie znam stopnia swobody w rozkładzie współczynników t lub chisq. Więc moje pytanie brzmi: jak uzyskać wartości p dla współczynników dopasowanego modelu arimy w R?


9
Dlaczego chcesz wartość p? Testy istotności dla współczynników modelu AR nie są szczególnie pomocne, ponieważ istotność nie jest dobrym sposobem na wybór kolejności modeli. Zamiast tego użyj AIC.
Rob Hyndman,

1
Często więcej niż jeden model dobrze pasuje do danych. Więc zazwyczaj miło jest mieć więcej niż jedną diagnostykę. Więc jeśli już używam pacf / acf, AIC / BIC (być może także dokładności prognozowania) i nadal nie mogę wybierać między dwoma modelami - czy jest coś złego w spojrzeniu na znaczenie współczynnika?
hans0l0

Odpowiedzi:


4

„Wartość t” to stosunek współczynnika do błędu standardowego. Stopniami swobody (ndf) byłaby liczba obserwacji minus maksymalny rząd różnicy w modelu minus liczba oszacowanych współczynników. „Wartość F” byłaby kwadratem „wartości t” Aby dokładnie obliczyć prawdopodobieństwo, musiałbyś wywołać niecentralną funkcję chi-kwadrat i przekazać wartość F i stopnie swobody (1, ndf) lub może po prostu wywołać wyszukiwanie funkcji F.


Wielkie dzięki! Napisałem to w ten sposób ... Ale ku mojemu zdziwieniu prawie wszystkie parametry są nieznaczne ... Ale w SAS mówi, że są znaczące ... Więc wątpię, czy w moich słowach programistycznych jest jakikolwiek błąd ...
Lisa,

var.coef[i,i])t[i]=fit

Wykorzystanie wyników z nieopisanego programu SAS nie stanowi dowodu poprawności statystycznej. SAS nie jest wyrocznią. Szkoda, że ​​wyskakujące okienko SO-AskAnExpert wprowadzone 1 kwietnia jest tak okrągłe w swojej strategii rozumowania, eh.
DW

22

Ponieważ arimado oszacowania wykorzystuje się maksymalne prawdopodobieństwo, współczynniki są asymptotycznie normalne. Dlatego podziel współczynniki przez ich standardowe błędy, aby uzyskać statystyki z, a następnie obliczyć wartości p. Oto przykład w R z pierwszym przykładem ze arima strony pomocy:

> aa <- arima(lh, order = c(1,0,0))
> aa

Call:
arima(x = lh, order = c(1, 0, 0))

Coefficients:
         ar1  intercept
      0.5739     2.4133
s.e.  0.1161     0.1466

sigma^2 estimated as 0.1975:  log likelihood = -29.38,  aic = 64.76
> (1-pnorm(abs(aa$coef)/sqrt(diag(aa$var.coef))))*2
         ar1    intercept 
1.935776e-07 0.000000e+00 

Ostatni wiersz podaje wartości p.


H0:coef=0.0H1:coef0.0

Można to zrobić za pomocą współczynnika wiarygodności dziennika, ponieważ model jest szacowany na podstawie wiarygodności dziennika.
mpiktas

λ2λχ2nn

10

Możesz również użyć coeftestz lmtestpakietu:

> aa <- arima(lh, order = c(1,0,0))

> coeftest(aa)

z test of coefficients:

          Estimate Std. Error z value  Pr(>|z|)    
ar1        0.57393    0.11614  4.9417 7.743e-07 ***
intercept  2.41329    0.14661 16.4602 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.