Der Versuch, die Ergebnisse des kürzlich veröffentlichten Artikels zu replizieren,
Aghion, Philippe, John Van Reenen und Luigi Zingales. 2013. "Innovation und institutionelles Eigentum." American Economic Review, 103 (1): 277-304.
(Daten- und Datencode finden Sie unter http://www.aeaweb.org/aer/data/feb2013/20100973_data.zip ).
Ich habe kein Problem damit, die ersten 5 Regressionen in R neu zu erstellen (unter Verwendung von OLS- und Poisson-Methoden), kann aber einfach ihre negativen binomialen Regressionsergebnisse in R nicht wiederherstellen, während in Regata die Regression gut funktioniert.
Hier ist der von mir geschriebene R-Code, der keine negative binomiale Regression für die Daten ausführt:
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))
Wenn ich das Obige in R ausführe, erhalte ich die folgende Ausgabe:
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
Ich habe versucht, eine Reihe verschiedener Anfangswerte für Theta zu verwenden und die maximale Anzahl von Iterationen ohne Glück zu variieren. Der von den Autoren bereitgestellte Stata-Code funktioniert einwandfrei, aber ich kann R immer noch nicht dazu zwingen, das Modell zum Laufen zu bringen. Gibt es alternative Anpassungsmethoden für glm.nb (), die möglicherweise robuster für das Problem sind, auf das ich stoße?