Mencoba untuk mereplikasi hasil dari artikel yang baru diterbitkan,
Aghion, Philippe, John Van Reenen, dan Luigi Zingales. 2013. "Inovasi dan Kepemilikan Institusional." American Economic Review, 103 (1): 277-304.
(Data dan kode stata tersedia di http://www.aeaweb.org/aer/data/feb2013/20100973_data.zip ).
Saya tidak memiliki masalah untuk menciptakan 5 regresi pertama dalam R (menggunakan metode OLS dan poisson), tetapi saya tidak dapat membuat kembali hasil regresi binomial negatif dalam R, sedangkan di stata, regresi berfungsi dengan baik.
Secara khusus, inilah kode R yang saya tulis, yang gagal menjalankan regresi binomial negatif pada data:
library(foreign)
library(MASS)
data.AVRZ <- read.dta("results_data2011.dta",
convert.underscore=TRUE)
sicDummies <- grep("Isic4", names(data.AVRZ), value=TRUE)
yearDummies <- grep("Iyear", names(data.AVRZ), value=TRUE)
data.column.6 <- subset(data.AVRZ, select = c("cites",
"instit.percown",
"lk.l",
"lsal",
sicDummies,
yearDummies))
data.column.6 <- na.omit(data.column.6)
glm.nb(cites ~ .,
data = data.column.6,
link = log,
control=glm.control(trace=10,maxit=100))
Menjalankan di atas dalam R, saya mendapatkan output berikut:
Initial fit:
Deviance = 1137144 Iterations - 1
Deviance = 775272.3 Iterations - 2
Deviance = 725150.7 Iterations - 3
Deviance = 722911.3 Iterations - 4
Deviance = 722883.9 Iterations - 5
Deviance = 722883.3 Iterations - 6
Deviance = 722883.3 Iterations - 7
theta.ml: iter 0 'theta = 0.000040'
theta.ml: iter1 theta =7.99248e-05
Initial value for 'theta': 0.000080
Deviance = 24931694 Iterations - 1
Deviance = NaN Iterations - 2
Step halved: new deviance = 491946.5
Error in glm.fitter(x = X, y = Y, w = w, etastart = eta, offset = offset, :
NA/NaN/Inf in 'x'
In addition: Warning message:
step size truncated due to divergence
Telah mencoba menggunakan sejumlah nilai awal yang berbeda untuk theta, serta memvariasikan jumlah iterasi maksimum tanpa keberuntungan. Kode stata yang disediakan penulis berfungsi dengan baik, tetapi saya masih belum bisa memaksa R agar model ini berfungsi. Apakah ada metode pemasangan alternatif untuk glm.nb () yang mungkin lebih kuat untuk masalah yang saya temui?
Jawaban:
Ada banyak literatur tentang parameterisasi model nonlinier yang stabil. Untuk beberapa alasan ini tampaknya sebagian besar diabaikan dalam R. Dalam hal ini "matriks desain" untuk manfaat prediktor linier dari beberapa pekerjaan. Biarkan menjadi matriks desain dan menjadi parameter model. Prediktor linier untuk mean diberikan oleh Reparameterisasi dilakukan dengan modifikasi gram-Schmidt yang menghasilkan matriks persegi sehingga mana kolom adalah ortonormal. (Sebenarnya beberapa kolom dalam hal ini adalah 0 sehingga metode ini harus dimodifikasi sedikit untuk menangani ini.) KemudianM p μ
sumber