Bagaimana cara menghitung nilai p-parameter untuk model ARIMA dalam R?

23

Ketika melakukan penelitian deret waktu dalam R, saya menemukan bahwa arima hanya menyediakan nilai-nilai koefisien dan kesalahan standar model pas. Namun, saya juga ingin mendapatkan nilai p dari koefisien.

Saya tidak menemukan fungsi yang memberikan signifikansi koefisien.

Jadi saya ingin menghitungnya sendiri, tetapi saya tidak tahu tingkat kebebasan dalam distribusi koefisien t atau chisq. Jadi pertanyaan saya adalah bagaimana cara mendapatkan nilai-p untuk koefisien model arima yang dipasang di R?

Lisa
sumber
9
Mengapa Anda menginginkan nilai-p? Tes signifikansi untuk koefisien model AR tidak terlalu membantu karena signifikansi bukan cara yang baik untuk memilih urutan model. Gunakan AIC sebagai gantinya.
Rob Hyndman
1
Seringkali lebih dari satu model cocok dengan data. Jadi biasanya saya senang memiliki lebih dari satu diagnostik. Jadi jika saya sudah menggunakan pacf / acf, AIC / BIC (mungkin juga akurasi perkiraan) dan masih tidak dapat memilih antara dua model - apakah ada yang salah dengan melihat koefisien signifikansi juga?
hans0l0

Jawaban:

4

"Nilai t" adalah rasio koefisien terhadap kesalahan standar. Derajat kebebasan (ndf) adalah jumlah pengamatan dikurangi urutan maksimum perbedaan dalam model dikurangi jumlah koefisien yang diperkirakan. "Nilai F" akan menjadi kuadrat dari "nilai t" Untuk menghitung probabilitas dengan tepat Anda harus memanggil fungsi chi-square non-sentral dan meneruskan nilai F dan derajat kebebasan (1, ndf) atau mungkin hanya memanggil pencarian fungsi F.

IrishStat
sumber
Terimakasih banyak! Saya menulisnya seperti ini ... Tetapi mengejutkan saya bahwa hampir semua parameter tidak signifikan ... Tetapi dalam SAS dikatakan bahwa mereka signifikan ... Jadi saya ragu apakah ada kesalahan dalam kata-kata pemrograman saya ....
Lisa
apa yang saya tulis: t = rep (0,5) std = rep (0,5) pvalue = rep (0,5) nobs = 369 npara = 5 untuk (i dalam 1: 5) {std [i] = sqrt ( fit coef [i] / std [i] pvalue [i] = 1 - pt (t [i], nobs-npara) }var.coef[i,i])t[i]=fit
Lisa
Penggunaan hasil dari program SAS yang tidak terdeskripsikan hampir tidak merupakan bukti kebenaran statistik. SAS bukan oracle. Sayang sekali popup SO-AskAnExpert yang diperkenalkan pada 1 April begitu melingkar dalam strategi penalarannya, eh.
DWin
22

Karena arimamenggunakan kemungkinan maksimum untuk estimasi, koefisien secara asimtotik normal. Oleh karena itu, bagi koefisien dengan kesalahan standar mereka untuk mendapatkan z-statistik dan kemudian menghitung nilai-p. Berikut adalah contoh dengan di R dengan contoh pertama dari arima halaman bantuan:

> 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 

Baris terakhir memberikan nilai-p.

mpiktas
sumber
H0:coef=0.0H1:coef0,0
Anda bisa melakukan ini melalui rasio log-likelihood, karena model diperkirakan menggunakan log-likelihood.
mpiktas
λ-2λχ2nn
10

Anda juga dapat menggunakan coeftestdari lmtestpaket:

> 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
Robert
sumber