#Preliminares

#install.packages("miscTools")
#install.packages("pglm")
#install.packages("pder")
#install.packages("textreg")
library("dplyr")
library("ggplot2")
library("stargazer")
library("miscTools")
library("pder")
library("texreg")
library("knitr")
library("xtable")
library("pglm")  #Panel Generalized Linear Models

Recomendación: puedes estudiar esta sección del curso con el libro “Panel Data Econometrics with R” de Yves Croissant & Giovanni Millo. Echarle un vistazo aquí.

Ejemplo empírico: fixed effects NegBin model – GiantsShoulders data set

Paper: J.L. Furman and S. Stern. Climbing atop the shoulders of giants: The impact of institutions on cumulative research. American Economic Review, 101 (5): 1933–1963, august 2011.

objetivo de la investigación

Furman y Stern (2011) evalúan el impacto de una institución científica, un centro de recursos biológicos, cuyo objetivo es certificar y difundir conocimientos, sobre la acumulación de conocimientos. Más específicamente, están interesados en ACTT (American Type Culture Collection), que recolecta, certifica y distribuye organismos biológicos. Los autores están interesados en las citas de publicaciones cuyos resultados son alojados por ACTT e intentan estimar el efecto causal del alojamiento ACTT. Existe un problema de selección obvio, porque es natural pensar que algunos de los mejores trabajos de investigación terminarán siendo alojados por ACTT y que los mismos recibirían muchas citas debido a su calidad, incluso si no fueran alojados por ACTT. . Para identificar el efecto causal del alojamiento ACTT en la difusión del conocimiento, los autores utilizan dos estrategias:

  • la primera es que a menudo hay un desfase prolongado entre la publicación y el alojamiento, y este desfase es principalmente exógeno,

  • el segundo consiste en hacer coincidir cada artículo alojado con un artículo no alojado similar (misma revista, fecha y tema).

Datos

La variable respuesta son las citas, el número anual de citas del artículo. Cada artículo se identifica por la variable article y por el par de artículos al que pertenece pair. Para cada par, un artículo está alojado en la ATCC y el otro no, lo que se indica mediante la variable brc. Los años de observación, publicación y hospedaje se indican mediante las variables year, puyear y año brcyear.

data("GiantsShoulders", package = "pder")
head(GiantsShoulders)
##   pair article brc pubyear brcyear year citations
## 1  184    1184 yes    1983    1994 1983         0
## 2  184    1184 yes    1983    1994 1984        31
## 3  184    1184 yes    1983    1994 1985        89
## 4  184    1184 yes    1983    1994 1986       105
## 5  184    1184 yes    1983    1994 1987        84
## 6  184    1184 yes    1983    1994 1988        75
str(GiantsShoulders)  #Estructura y clase de los datos
## 'data.frame':    4880 obs. of  7 variables:
##  $ pair     : num  184 184 184 184 184 184 184 184 184 184 ...
##  $ article  : num  1184 1184 1184 1184 1184 ...
##  $ brc      : Factor w/ 2 levels "no","yes": 2 2 2 2 2 2 2 2 2 2 ...
##  $ pubyear  : num  1983 1983 1983 1983 1983 ...
##  $ brcyear  : num  1994 1994 1994 1994 1994 ...
##  $ year     : num  1983 1984 1985 1986 1987 ...
##  $ citations: num  0 31 89 105 84 75 63 51 36 34 ...
GiantsShoulders<-mutate(GiantsShoulders, age = year - pubyear)
head(GiantsShoulders)
##   pair article brc pubyear brcyear year citations age
## 1  184    1184 yes    1983    1994 1983         0   0
## 2  184    1184 yes    1983    1994 1984        31   1
## 3  184    1184 yes    1983    1994 1985        89   2
## 4  184    1184 yes    1983    1994 1986       105   3
## 5  184    1184 yes    1983    1994 1987        84   4
## 6  184    1184 yes    1983    1994 1988        75   5
cityear<-summarise(group_by(GiantsShoulders, brc, age),cit=mean(citations, na.rm = TRUE))
cityear
## # A tibble: 64 x 3
## # Groups:   brc [2]
##    brc     age   cit
##    <fct> <dbl> <dbl>
##  1 no        0  1.14
##  2 no        1  3.94
##  3 no        2  5.59
##  4 no        3  6.05
##  5 no        4  5.79
##  6 no        5  6.05
##  7 no        6  5.51
##  8 no        7  5.21
##  9 no        8  5.10
## 10 no        9  4.38
## # ... with 54 more rows
ggplot(cityear, aes(age, cit)) + geom_line(aes(lty = brc)) +
geom_point(aes(shape = brc)) + scale_x_continuous(limits = c(0, 20))

  • Como puede verse, el número de citas aumenta el primer año, para alcanzar un máximo alrededor del tercer o cuarto año y luego disminuye.

  • La figura también muestra que los artículos alojados se citan mucho más que los artículos no alojados.

Para estimar el efecto causal marginal de la institución de acogida, se construyen dos covariables para los artículos alojados:

  • window es 1 alrededor de la fecha de alojamiento, más precisamente para un período de tres años centrado en el año de alojamiento,

  • post_brc es 1 para artículos alojados durante más de un año. Para reproducir los resultados con exactitud, utilizamos efectos fijos anuales para los años posteriores a 1979 y efectos de 5 años para los períodos 1970-74 y 1975-79. También introducimos efectos fijos para la edad del artículos (omitiendo la variable ficticia de 31 años).

GiantsShoulders<-mutate(GiantsShoulders,
window=as.numeric((brc=="yes") & abs(brcyear-year)<=1),
post_brc=as.numeric((brc=="yes") & year-brcyear>1),age = year-pubyear)

head(GiantsShoulders)
##   pair article brc pubyear brcyear year citations age window post_brc
## 1  184    1184 yes    1983    1994 1983         0   0      0        0
## 2  184    1184 yes    1983    1994 1984        31   1      0        0
## 3  184    1184 yes    1983    1994 1985        89   2      0        0
## 4  184    1184 yes    1983    1994 1986       105   3      0        0
## 5  184    1184 yes    1983    1994 1987        84   4      0        0
## 6  184    1184 yes    1983    1994 1988        75   5      0        0
GiantsShoulders$age[GiantsShoulders$age==31]<-0
GiantsShoulders$year[GiantsShoulders$year %in% 1970:1974]<-1970
GiantsShoulders$year[GiantsShoulders$year %in% 1975:1979]<-1975

head(GiantsShoulders)
##   pair article brc pubyear brcyear year citations age window post_brc
## 1  184    1184 yes    1983    1994 1983         0   0      0        0
## 2  184    1184 yes    1983    1994 1984        31   1      0        0
## 3  184    1184 yes    1983    1994 1985        89   2      0        0
## 4  184    1184 yes    1983    1994 1986       105   3      0        0
## 5  184    1184 yes    1983    1994 1987        84   4      0        0
## 6  184    1184 yes    1983    1994 1988        75   5      0        0

Ajuste del modelo Binomial negativo con efectos fijos

En las dos primeros modelos se estima un modelo lineal. El primer modelo contiene solo efectos fijos de edad, y el segundo agrega efectos fijos de pares y años. Los resultados son similares; el efecto de selección del alojamiento es aproximadamente el 50% de más citas, y el efecto marginal es del 35% para el período de alojamiento y aproximadamente el 50% para los últimos años

# Ajustes usando modelos lineales

t3c1<- lm(log(1 + citations)~ brc + window + post_brc + factor(age),
data = GiantsShoulders)

t3c2<- update(t3c1, .~.+ factor(pair) + factor(year))
# Ajuste usando una regresión binomial negativa con efectos fijos
library("pglm")

t3c3<-pglm(citations~brc+window+post_brc+factor(age)+factor(year), 
           data= GiantsShoulders,
           index="pair", effect = "individual", 
           model = "within", family = negbin)

#summary(t3c3)
t3c4 <- pglm(citations~window+post_brc+factor(age)+factor(year),
data = GiantsShoulders,family = negbin, 
index="article",effect = "individual",model ="within")
#summary(t3c4)
#Coeficientes

#Modelo t3c2

kable(coefficients(t3c2)[1:4],col.names = "Coeficientes",caption = "Modelo t3c2")
Modelo t3c2
Coeficientes
(Intercept) 1.8407350
brcyes 0.5011597
window 0.3847723
post_brc 0.5345028
#Modelo t3c3

kable(coefficients(t3c3)[1:4],col.names = "Coeficientes",caption = "Modelo t3c3")
Modelo t3c3
Coeficientes
(Intercept) -1.6132257
brcyes 0.7518628
window 0.3521146
post_brc 0.5383134
#Modelo t3c4

kable(coefficients(t3c4)[1:3],col.names = "Coeficientes",caption = "Modelo t3c4")
Modelo t3c4
Coeficientes
(Intercept) -0.5768386
window 0.5646000
post_brc 0.8098849