Perbedaan R dan EViews dalam estimasi AR (1)

10

Utama masalah adalah: Saya tidak dapat memperoleh estimasi parameter yang sama dengan EViews dan R.

Untuk alasan yang saya sendiri tidak tahu, saya perlu memperkirakan parameter untuk data tertentu menggunakan EViews. Ini dilakukan dengan memilih opsi NLS (nonlinear least square) dan menggunakan rumus berikut:indep_var c dep_var ar(1)

EViews mengklaim bahwa mereka memperkirakan proses linear AR (1) seperti: mana kesalahan didefinisikan sebagai: dengan menggunakan yang setara persamaan (dengan beberapa pergantian aljabar): Selanjutnya, utas ini berakhir di forum EViews menunjukkan bahwa estimasi NLS mereka dihasilkan oleh algoritma Marquardt.

Yt=α+βXt+kamut
kamut
kamut=ρkamut-1+ε
Yt=(1-ρ)α+ρYt-1+βXt-ρβXt-1+εt

Sekarang, fungsi go-to R untuk memperkirakan proses AR (1) adalah arima. Namun, ada dua masalah:

  1. estimasi adalah estimasi kemungkinan maksimum;
  2. estimasi intersepsi sebenarnya bukan estimasi intersepsi (menurut RH Shumway & DS Stoffer).

Oleh karena itu, saya beralih ke nlsLMfungsi dari paket minpack.lm. Fungsi ini menggunakan algoritma Marquardt untuk mencapai estimasi kuadrat terkecil nonlinier, yang akan menghasilkan hasil yang sama dengan implementasi EViews (atau yang sangat mirip, setidaknya).

Sekarang kodenya. Saya memiliki bingkai data ( data) dengan variabel independen dan variabel dependen seperti yang dihasilkan oleh kode berikut:

data <- data.frame(independent = abs(rnorm(48)), dependent = abs(rnorm(48)))

Untuk memperkirakan parameter dalam klaim EViews persamaan untuk memperkirakan (3 rd satu di posting ini), saya menggunakan perintah berikut:

library(minpack.lm)
result <-
nlsLM(dependentB ~ ((1 - theta1) * theta2) + (theta1 * dependentA) +
                    (theta3 * independentB) - (theta1 * theta3 * independentA),
data = list(dependentB = data$dependent[2:48], dependentA = data$dependent[1:47],
   independentB = data$independent[2:48], independentA = data$independent[1:47]),
start = list(theta1 = -10, theta2 = -10, theta3 = -10)
)

Sayangnya, perkiraan hasil nlsLMtidak dekat dengan hasil keluaran EViews. Apakah Anda tahu apa yang menyebabkan ini? Atau mungkin kode saya salah?

Akhirnya, saya ingin mengatakan bahwa saya pribadi adalah pengguna R - itulah sebabnya saya mencoba melakukan ini di R daripada EViews. Saya juga ingin memberikan kepada Anda data yang saya kerjakan tetapi tidak mungkin karena itu adalah data rahasia.

Fael
sumber
4
Selamat datang di situs ini, @Fael. +1 untuk pertanyaan yang jelas. Saya mengambil sedikit kebebasan untuk mengubah format agar lebih bersih. Pastikan masih mengatakan apa yang Anda inginkan.
gung - Reinstate Monica
Wow, Anda baik sekali. Terima kasih banyak, @ungung!
Fael
2
Anda selalu skala / kode data dan mempostingnya. transformasi bentuk [(y-constant1) / constant2] akan melakukan trik.
IrishStat
BTW: Parameter proses linier dapat diperkirakan melalui OLS.
Germaniawerks

Jawaban:

1

ρ,β,αXt-1

JDav
sumber