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.
Sekarang, fungsi go-to R untuk memperkirakan proses AR (1) adalah arima
. Namun, ada dua masalah:
- estimasi adalah estimasi kemungkinan maksimum;
- estimasi intersepsi sebenarnya bukan estimasi intersepsi (menurut RH Shumway & DS Stoffer).
Oleh karena itu, saya beralih ke nlsLM
fungsi 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 nlsLM
tidak 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.