Si se quiere estudiar la variabilidad transversal de un grupo de observaciones a través del tiempo, existe una manera de hacerlo, esa es utilizando los modelos de datos de panel. El objetivo principal de estudiar los datos en panel, es capturar la heterogeneidad no observable, ya sea entre agentes económicos o de estudio, así como también en el tiempo, dado que esta heterogeneidad no se puede detectar ni con estudios de series temporales ni tampoco con los de corte transversal. Esta técnica permite realizar un análisis más dinámico al incorporar la dimensión temporal de los datos, lo que enriquece el estudio, particularmente en períodos de grandes cambios. En esta sesión se verán los temas relacionados a modelos con datos de panel haciendo uso de R.
El modelo de datos de panel es el que incluye una muestra de agentes económicos o de interés (individuos, empresas, bancos, ciudades, países, etc.) para un período determinado de tiempo, esto es, combina ambos tipos de datos (dimensión temporal y estructural). Es también llamado modelo de datos longitudinales. Como ejemplo, se puede disponer de datos mensuales de los ingresos obtenidos por un grupo de cinco bancos durante un período de 48 meses, lo cual sería una base de datos mixta de serie temporal y corte transversal constituyéndose en un panel de datos. La especificación de un modelo de daos de panel es la siguiente:
\[ y_{it}=a_{it}+x_{it}\beta+\mu_{it} \\ \text{ con } i=1,... N; t=1,...T \] Donde 𝑖 se refiere al individuo o a la unidad de análisis, 𝑡 a la dimensión en el tiempo, 𝛼 es un vector de interceptos de n parámetros. 𝛽 es un vector de 𝑘 parámetros y 𝑥𝑖𝑡 es la i-esima observación. El término de error incluido en la anterior ecuación se descompone de la siguiente manera: \[ U_{it}=\mu_i+\delta_t+e_{it} \] Done \(\mu_i\) representa los efectos no observables que difieren entre las unidades de estudio, pero no en el tiempo; 𝛿𝑡 se le identifica como los efectos no cuantificables que varían en el tiempo, pero no entre las unidades de estudio. 𝜀𝑖𝑡 se refiere al término de error puramente aleatorio.
Al tiempo de hacer regresiones con datos que tienen estructura de panel, se debe tener en cuenta que existen diversos tipos de modelos.
También llamado regresión agrupada, en este tipo de modelos, los datos se regresionan por MCO como si los datos fuesen de corte transversal. Si el modelo está correctamente entonces se puede estimar consistentemente. Se asume que los coeficientes son constantes en el tiempo para cada unidad observada. Ejemplo: suponiendo el siguiente modelo. \[ y_{it}=a_{it}+x_{it}+\beta+\mu_{it} \] Si se estiman los datos asumiendo que las unidades son se corte trasversal, se podrían presentar los siguientes problemas:
• Incorrecta especificación. • Ignora la heterogeneidad individual o es absorbida por 𝑢𝑖𝑡 , por loque este término puede estar correlacionado con alguno de los errores (estimadores sesgados e inconsistentes).
En este modelo se considera que las variables explicativas afectan por igual a las unidades de corte transversal y que éstas se diferencian por características propias de cada una de ellas, medidas por medio del intercepto. Es por ello que los N interceptos se asocian con variables dummy con coeficientes específicos para cada unidad, los cuales se deben estimar. Para la i-ésima unidad de corte transversal, la relación es la siguiente: \[ y_i=i\alpha_i+\beta x_i+\mu_i \] Donde el subíndice 𝑖 representa un vector columna de unos. Debe hacerse notar que es este tipo de modelo se pierde una cantidad importante de grados de libertad.
A diferencia del modelo de efectos fijos, el modelo de efectos aleatorios considera que los efectos individuales no son independientes entre sí, sino que están distribuidos alrededor de un valor dado. Una práctica común en el análisis de regresión es asumir que el gran número de factores que afecta al valor de la variable dependiente pero que no han sido incluidas explícitamente como variables independientes del modelo, pueden resumirse apropiadamente en la perturbación aleatoria. Con este modelo se considera entonces que tanto el impacto de las variables explicativas como las características propias de cada observación. Se expresa de la siguiente forma:
\[ y_{it}=(\alpha+\mu_i)+\beta'x_{it}+e_{it} \] Donde 𝜇𝑖 representa la perturbación aleatoria que permitirá distinguir el efecto de cada individuo en el panel. Para efectos de su estimación se agrupan los componentes estocásticos, y se obtiene la siguiente relación: \[ y_{iy}=\alpha+\beta'x_{it}+U_{it} \] Donde \(U_{it}=\delta_t+\mu_i+e_{it}\) se convierte n el nuevo término de perturbación, \(U\) no homocedástico, donde \(\delta_t,\mu_i,e_{it}\) corresponden al error asociado con las series de tiempo \(\delta_t\), a la perturbación de corte transversal \((\mu_i)\) y el efecto combinado de ambas \((e_{it})\). La estimación por MCO no es aplicable dado que no se cumplen los supuestos que permiten que la estimación sea consistente.
Existen diversos métodos para la elección de modelo de datos de panel. El procedimiento de elección de la especificación de la constante del panel con los estimadores pooled, efectos fijos (within) o efectos aleatorios (between), es el siguiente:
En sentido estricto, se tiene que comparar los modelos de efectos individuales (fijos y aleatorias) con respecto al modelo pool. Sin embargo, es tradición comparar en esta primera fase el modelo de efectos fijos con el modelo pool, para comparar la eficiencia del primero.
En esta prueba, se usa una restricción de parámetros entre los dos modelos y se analizan las hipótesis: \[ H_0: \forall \mu_i = 0 \\ H_1:\mu_1 \neq 0,...,\mu_i \neq 0 \] Si se acepta la hipótesis nula entonces el mejor modelo será el modelo pooled, por lo que será este consistente con respecto al modelo de efectos fijos.
En el caso de que el modelo de efectos fijos sea eficiente en comparación con el modelo pooled, entonces se puede analizar si el modelo de efectos aleatorios es eficiente en comparación con el modelo de efectos fijos. Para probar la consistencia del modelo panel con efectos aleatorios, se utiliza la prueba de Hausman.
La hipótesis que se utiliza para analizar la consistencia se resumen en:
\(H-o\): Estimador EA es consistente respecto al estimador EF.
\(H_1\): Estimador EF es consistente respecto al estimador EA.
El estadístico para probar la hipótesis es el siguiente: \[ H = [\beta_{EF}-\beta_{EA}]'[cov(\beta_{EF})-cov(\beta_{EA})]^{-1}[\beta_{EF}-\beta_{EA}] \] Donde \(\beta\) es el vector de coeficientes compuesto con los parámetros \([\beta\gamma]\) del modelo y 𝑐𝑜𝑣 es la matriz de varianzas y covarianzas. Dicho test utiliza una prueba Chi – Cuadrado donde existirán 𝑘 grados de libertad, que corresponden al total de coeficientes.
Ha habido un gran interés en los datos de panel para la econometría en las últimas 2 décadas. R ofrece a través del paquete plm() diversas herramientas para el análisis de datos de panel. En primer lugar, se debe indicar a R que se estará trabajando con una base de datos que tiene estructura de datos de panel.
## Warning: package 'plm' was built under R version 4.0.4
La sintaxis anterior le declara a R que se está trabajando con una data de panel de datos y también le indica cual es el término de corte transversal, y el término de series de tiempo (nr y year).
Haciendo uso de la función plm(), se debe especificar en una opción model que el modelo será pooled. El modelo esta definido por la función plm, donde el logaritmo de los salarios es la variable dependiente, los años de educación, experiencia y experiencia al cuadrado serán las explicativas, el modelo es pooling, ya que ignoraremos los efectos entre las osbervaciones y en el tiempo, asumiendo que son datos que no tienen estructura de panel.
La sintaxis indica que el modelo elegido será el modelo pooled, los resultados de la regresión serán los siguientes:
## Pooling Model
##
## Call:
## plm(formula = lwage ~ educ + exper + expersq, data = wagepan,
## model = "pooling")
##
## Balanced Panel: n = 545, T = 8, N = 4360
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -5.351670 -0.259729 0.033542 0.307639 2.483504
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) -0.05636920 0.06393546 -0.8817 0.378
## educ 0.10211772 0.00468156 21.8127 < 2.2e-16 ***
## exper 0.10502923 0.01017504 10.3222 < 2.2e-16 ***
## expersq -0.00357625 0.00071978 -4.9686 7.004e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 1236.5
## Residual Sum of Squares: 1053.9
## R-Squared: 0.14772
## Adj. R-Squared: 0.14714
## F-statistic: 251.673 on 3 and 4356 DF, p-value: < 2.22e-16
Se puede observar que es un Panel balanceado con 545 observaciones para 8 períodos de tiempo diferentes.
Para estimar por efectos, se usa la misma función plm(), sólo que esta vez se especifica que se quiere un modelo “within”, o de efectos fijos.
Los resultados serán los siguientes:
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = lwage ~ educ + exper + expersq, data = wagepan,
## model = "within")
##
## Balanced Panel: n = 545, T = 8, N = 4360
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -4.1752156 -0.1221201 0.0079743 0.1566831 1.4875328
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## exper 0.12225704 0.00818890 14.9296 < 2.2e-16 ***
## expersq -0.00452280 0.00060255 -7.5061 7.54e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 572.05
## Residual Sum of Squares: 473.26
## R-Squared: 0.1727
## Adj. R-Squared: 0.054231
## F-statistic: 397.973 on 2 and 3813 DF, p-value: < 2.22e-16
Se observa que no se ha utlizado los años de educación, ello porque R puede osbervar que la educación no varía a través de los años en cada observación, es decir, un individuo que tiene 12 años de educación al momento de la encuesta, este valor será el mismo cuando sea una persona mayor, por eso, dicha variación es nula o cero y el modelo lo reconoce y la deja de lado.
Para estimar por efectos aleatorios, se usa la misma función plm(), sólo que esta vez se especifica que se quiere un modelo “random”.
Los resultados serán los siguientes:
## Oneway (individual) effect Random Effect Model
## (Swamy-Arora's transformation)
##
## Call:
## plm(formula = lwage ~ educ + exper + expersq, data = wagepan,
## model = "random")
##
## Balanced Panel: n = 545, T = 8, N = 4360
##
## Effects:
## var std.dev share
## idiosyncratic 0.1241 0.3523 0.514
## individual 0.1173 0.3425 0.486
## theta: 0.6582
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -4.578329 -0.143123 0.025961 0.185597 1.560358
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) -0.12095147 0.11072742 -1.0923 0.2747
## educ 0.10285708 0.00910024 11.3027 < 2.2e-16 ***
## exper 0.11997723 0.00806186 14.8821 < 2.2e-16 ***
## expersq -0.00439924 0.00058956 -7.4619 8.53e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 649.67
## Residual Sum of Squares: 541.18
## R-Squared: 0.16699
## Adj. R-Squared: 0.16641
## Chisq: 873.214 on 3 DF, p-value: < 2.22e-16
Es de interés hacer una comparación si el modelo de efectos fijos es realmente necesario, y si no es así, se usa una regresión de MCO de datos de panel. Esto puede ser hecho haciendo uso de la función pFtest(), la sintaxis es la siguiente:
##
## F test for individual effects
##
## data: lwage ~ educ + exper + expersq
## F = 8.6148, df1 = 543, df2 = 3813, p-value < 2.2e-16
## alternative hypothesis: significant effects
Estos resultados indican que se rechaza la hipótesis nula, por lo tanto, se preferirá el modelo de efectos fijos por sobre el modelo pooled, ya que el valor del p-valor es cercano a cero.
El test de Hausman servirá para conocer qué modelo es más consistente, si el de efectos fijos o el de efectos aleatorios. La función a utilizarse para realizar dicha prueba es la función phtest(), que también forma parte del paquete plm. La sintaxis para dicho procedimiento es la siguiente:
##
## Hausman Test
##
## data: lwage ~ educ + exper + expersq
## chisq = 6.5548, df = 2, p-value = 0.03773
## alternative hypothesis: one model is inconsistent
Los resultados de dicho test rechazan la hipótesis nula al 95% de confianza, por lo tanto, se puede afirmar que el modelo estimado por efectos fijos es consistente respecto al modelo de efectos aleatorios.
Se tiene la base de datos adjunta, que es la base de datos del estudio de Baltagi y Khanti-Akom (1990), extraída del Estudio Panel de la Dinámica de los Ingresos (PSID). En el siguiente ejemplo se estimará un modelo de efectos fijos y se interpretará los resultados. La variable dependiente en el modelo será lwage, que es el logaritmo del salario. Los términos independientes son la experiencia (exp), la experiencia al cuadrado (exp2), semanas trabajadas (wks) y los años de educación (ed).
En primer lugar, se debe declarar a R que se están trabajando con datos de panel, esto se hará cargando la librería plm, y usando la función pdata.frame(), se debe tener en cuenta que la variable de identificación será id y la de tiempo será t.
Una vez declarada la base de datos como data de panel se usará la función plm() para estimar el modelo de efectos fijos en R.
Los resultados serán los siguientes:
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = lwage ~ ed + exp + exp2 + wks, data = mus08psidextract,
## model = "within")
##
## Balanced Panel: n = 595, T = 7, N = 4165
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -1.8120877 -0.0511129 0.0037112 0.0614251 1.9434064
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## exp 1.1379e-01 2.4689e-03 46.0888 < 2.2e-16 ***
## exp2 -4.2437e-04 5.4632e-05 -7.7678 1.036e-14 ***
## wks 8.3588e-04 5.9967e-04 1.3939 0.1634
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 240.65
## Residual Sum of Squares: 82.632
## R-Squared: 0.65663
## Adj. R-Squared: 0.59916
## F-statistic: 2273.74 on 3 and 3567 DF, p-value: < 2.22e-16
Se debe resaltar en esta regresión que la variable ed no ha sido identificada, esto se debe a que como es invariante en el tiempo, se la omite, es decir, no era necesario incluir la variable en el modelo, ya que es invariante en el tiempo. Sin contar a wks, todas las variables explicativas en el modelo son significativas con la experiencia demostrando rendimientos marginales decrecientes de la experiencia sobre los salarios.Para hacer comparación de este modelo con el modelo pooled, se estimará el modelo pooled y se hará uso del comando pFtest().
El test se hará de la siguiente manera y tendrá los siguientes resultados:
##
## F test for individual effects
##
## data: lwage ~ ed + exp + exp2 + wks
## F = 40.239, df1 = 593, df2 = 3567, p-value < 2.2e-16
## alternative hypothesis: significant effects
El test F nos indica que los efectos individuales son significativos, lo que implica que la regresión Pooled sería inapropiada en comparación con esta.
Se tiene la base de datos adjunta, que es la base de datos del estudio de Baltagi y Khanti-Akom (1990), extraída del Estudio Panel de la Dinámica de los Ingresos (PSID). En el siguiente ejemplo se estimará un modelo de efectos aleatorios y se interpretará los resultados. La variable dependiente en el modelo será lwage, que es el logaritmo del salario. Los términos independientes son la experiencia (exp), la experiencia al cuadrado (exp2), semanas trabajadas (wks) y los años de educación (ed).
library(haven)
mus08psidextract <- read_dta("D:/Renzo Villegas Tello/Cursos/Econometria Aplicada con R/2. R INTERMEDIO/Sesion 6 I - Archivos y tarea/01-ARCHIVOS UTILIZADOS-DATA/ECONR-INT-SESION 6-EJEMPLO 2-DATA.dta")
En primer lugar, se debe declarar a R que se están trabajando con datos de panel, esto se hará cargando la librería plm, y usando la función plm.dta(), se debe tener en cuenta que la variable de identificación será id y la de tiempo será t.
Una vez declarada la base de datos como data de panel se usará la función plm() para estimar el modelo de efectos aleatorios en R.
Los resultados serán los siguientes:
## Oneway (individual) effect Random Effect Model
## (Swamy-Arora's transformation)
##
## Call:
## plm(formula = lwage ~ ed + exp + exp2 + wks, data = mus08psidextract,
## model = "random")
##
## Balanced Panel: n = 595, T = 7, N = 4165
##
## Effects:
## var std.dev share
## idiosyncratic 0.02317 0.15220 0.185
## individual 0.10209 0.31952 0.815
## theta: 0.8228
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -2.0439674 -0.1057049 0.0070993 0.1147499 2.0875838
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 3.8294e+00 9.3634e-02 40.8974 <2e-16 ***
## ed 1.1171e-01 6.0572e-03 18.4426 <2e-16 ***
## exp 8.8861e-02 2.8178e-03 31.5360 <2e-16 ***
## exp2 -7.7257e-04 6.2262e-05 -12.4083 <2e-16 ***
## wks 9.6577e-04 7.4329e-04 1.2993 0.1938
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 260.94
## Residual Sum of Squares: 151.35
## R-Squared: 0.42
## Adj. R-Squared: 0.41945
## Chisq: 3012.45 on 4 DF, p-value: < 2.22e-16
A diferencia de la estimación que se hizo con el mismo modelo planteado, pero con efectos fijos, este si toma en cuenta a la variable de años de educación (ed), sin contar a la variable wks, los demás parámetros para los regresores son todos significativos estadísticamente hablando.
Se tiene la base de datos adjunta, que es la base de datos del estudio de Baltagi y Khanti-Akom (1990), extraída del Estudio Panel de la Dinámica de los Ingresos (PSID). En el siguiente ejemplo se usará el test de Hausman para probar que modelo es mejor, el de efectos fijos o el de efectos aleatorios. Se tiene la base de datos adjunta, que es la base de datos del estudio de Baltagi y Khanti-Akom (1990), extraída del Estudio Panel de la Dinámica de los Ingresos (PSID). En el siguiente ejemplo se usará el test de Hausman para probar que modelo es mejor, el de efectos fijos o el de efectos aleatorios.
## Warning: use of 'plm.data' is discouraged, better use 'pdata.frame' instead
Una vez declarada la base de datos como data de panel se usará la función plm() para estimar los modelos de efectos fijos y aleatorios en R, ya que con estos se realizará el test de Hausman.
reg_fe = plm(lwage ~ ed + exp + exp2 + wks, data = mus08psidextract, model = "within")
reg_re = plm(lwage ~ ed + exp + exp2 + wks, data = mus08psidextract, model = "random")
Se aplicará el test de Hausman:
##
## Hausman Test
##
## data: lwage ~ ed + exp + exp2 + wks
## chisq = 6191.4, df = 3, p-value < 2.2e-16
## alternative hypothesis: one model is inconsistent
Los resultados del test de Hausman muestran en el p-valor de la prueba Chi-cuadrado que la hipótesis nula se debe rechazar, es decir, se rechazará la hipótesis nula que afirma que el modelo de efectos aleatorios brinda estimadores consistente y, por lo tanto, el mejor modelo para explicar dicha relación entre los datos de panel será el de efectos fijos (FE).