¿Cómo obtener el coeficiente de determinación R cuadrado desde una regresión FE plm?
Yo regreso los retornos mensuales de las acciones sobre una serie de características de la empresa usando el paquete “plm”.
Biblioteca(plm)
Establecer.semilla(1)
Identificación=rep(1:10,cada uno=10); t=rep(1:10,10); industry=rep(1:2,cada uno=50); return=rnorm(100); x=rnorm(100)
Datos=data.frame(id,t,industria,retorno,x)
En un primer paso, quiero incluir efectos fijos de tiempo. Las siguientes dos fórmulas dan los mismos coeficientes para “x” pero diferentes R-cuadrados. El primer modelo estima el R-cuadrado general, mientras que el segundo modelo da el R-cuadrado dentro.
Reg1=plm(retorno~x+factor(t),modelo=”piscina”,índice=c(“id”,”t”),datos=datos)
Resumen(reg1)$r.cuadrado
Reg2=plm(retorno~x,modelo=”dentro de”,índice=c(“id”,”t”),datos=datos,efecto=”tiempo”)
Resumen(reg2)$r.cuadrado
En un segundo paso, ahora quiero incluir efectos fijos tanto de tiempo como de industria. Obtengo los coeficientes con esta fórmula:
Reg3=plm(retorno~x+factor(t)+factor(industria),modelo=”piscina”,índice=c(“id”,”t”), datos=datos)
Desafortunadamente, no puedo usar el modelo “dentro de” como en “reg2” porque “industria” no es una de mis variables de índice. ¿Hay otra manera de calcular el R-cuadrado dentro de “reg3”?
davy.ai
Sí, hay otra forma de calcular la R-cuadrada dentro de
reg3
. Podemos usar de nuevo la funciónplm
con la opciónmodel="within"
, esta vez incluyendo la opcióneffect="twoways"
para tomar en cuenta los efectos fijos tanto de tiempo como de industria. La fórmula para este modelo sería:Esto nos dará la R-cuadrada dentro del modelo con efectos fijos de tiempo e industria.