# Instalación de librerías para las actividades
#install.packages("WDI")
library(WDI)
#install.packages("wbstats")
library(wbstats)
#install.packages("tidyverse")
library(tidyverse)
#install.packages("gplots")
library(gplots)
#install.packages("plm")
library(plm)
#install.packages("psych")
library(psych)
#install.packages("xlsx")
library(xlsx)
#install.packages("dplyr")
library(dplyr)
##Para la función filter y lag de dplyr es necesario especificar la librería cuando se use ya que hay un conflicto presentado con la función filter y lag, su uso debería ser de la siguiente manera: dplyr::function(x,...)
#install.packages("readxl")
library(readxl)
¿Qué factores afectan el precio de un automóvil?
| Factor | Variable |
|---|---|
| Costo de los materiales | Materias primas |
| Costo de ensamblaje | Costo Operativo |
| Impuestos gubernamentales | Impuestos |
| Costos de Transporte | Transporte |
Precio de un auto = f(Materias primas, Costo Operativo, Impuestos, Transporte)
Fórmula y modelo:
Precio de un auto = 0 + 1 * Materias primas + 2 * Costo Operativo + 3 * Impuestos + 4 * Transporte + μ
En este modelo para calcular el precio de un auto podemos ver las variables Materias Primas, Costo Operativo, Impuestos y Transporte más un error (μ) de ajuste.
Los datos de Corte Transversal son datos que se recopilan de un objeto de manera única en un solo punto en el tiempo. Este tipo de datos proporciona una imagen de una población o una muestra en un momento particular. Este tipo de datos es utilizado para proporcionar una imagen en campos como economía, sociología, salud pública e investigación de mercados.
Una serie de tiempo es una secuencia de observaciones tomadas a intervalos regulares a lo largo del tiempo. Estas observaciones pueden representar cualquier variable que cambie con el tiempo, como ventas mensuales, temperaturas diarias, tasas de interés o precios de acciones. Las series de tiempo se descomponen en componentes clave: tendencia, que muestra la variación a largo plazo; estacionalidad, que refleja patrones repetitivos en ciertos momentos del año; ciclos, que son fluctuaciones más largas que no siguen un patrón fijo; y movimiento irregular, que es el ruido aleatorio. Las series de tiempo se utilizan en pronósticos, análisis económicos, control de calidad y más.
Los datos de panel, también conocidos como datos longitudinales o datos de series de tiempo de sección transversal, son datos que se derivan de un número de observaciones a lo largo del tiempo en un número de unidades de sección transversal como individuos, hogares, empresas o gobiernos³. Estos datos combinan una dimensión temporal con otra transversal, lo que los diferencia de las series de tiempo que recogen observaciones de un fenómeno a lo largo del tiempo sin considerar la variación entre diferentes unidades. En resumen, los datos de panel permiten analizar patrones a lo largo del tiempo y conectar variables, lo que resulta útil en áreas como la economía, la ciencia y la investigación social.
Ortega, Cristina. “Datos Transversales: Qué Son, Características Y Tipos.” QuestionPro, 8 Jan. 2024, www.questionpro.com/blog/es/datos-transversales/#:~:text=8%20Conclusi%C3%B3n-,%C2%BFQu%C3%A9%20son%20los%20datos%20transversales %3F,muestra%20en%20un%20momento%20particular. Accessed 24 Feb. 2024.
Gutiérrez, Juan M. “EL MODELO de DATOS de PANEL.” Todo Econometría Y Ciencia de Datos, 8 Nov. 2020, todoeconometria.com/paneldata1/. Accessed 24 Feb. 2024.
“¿Qué Es Una Serie de Tiempo?” Minitab.com, 2023, support.minitab.com/es-mx/minitab/21/help-and-how-to/statistical-modeling/time-series/supporting-topics/basics/what-is-a-time-series/. Accessed 24 Feb. 2024.
gdp_data1 <- wb_data(country=c("MX","EC","CA"), indicator = "NY.GDP.PCAP.CD", start_date=2013, end_date=2023)
head(gdp_data1)
## # A tibble: 6 × 9
## iso2c iso3c country date NY.GDP.PCAP.CD unit obs_status footnote
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr>
## 1 CA CAN Canada 2013 52635. <NA> <NA> <NA>
## 2 CA CAN Canada 2014 50956. <NA> <NA> <NA>
## 3 CA CAN Canada 2015 43596. <NA> <NA> <NA>
## 4 CA CAN Canada 2016 42316. <NA> <NA> <NA>
## 5 CA CAN Canada 2017 45129. <NA> <NA> <NA>
## 6 CA CAN Canada 2018 46549. <NA> <NA> <NA>
## # ℹ 1 more variable: last_updated <date>
panel1 <- select(gdp_data1,country, date, NY.GDP.PCAP.CD)
head(panel1)
## # A tibble: 6 × 3
## country date NY.GDP.PCAP.CD
## <chr> <dbl> <dbl>
## 1 Canada 2013 52635.
## 2 Canada 2014 50956.
## 3 Canada 2015 43596.
## 4 Canada 2016 42316.
## 5 Canada 2017 45129.
## 6 Canada 2018 46549.
Actividad en equipo - Integrantes:
Regina Enríquez Chapa (A01721435)
Maximiliano Carvajal Huesca (A01552179)
Guillermo Cázares Cruz (A01283709)
gdp_data <- wb_data(country=c("MX","NO","FI","SE","DK"), indicator = c("EN.ATM.CO2E.KT", "EG.FEC.RNEW.ZS", "SP.URB.TOTL.IN.ZS", "AG.LND.AGRI.ZS"), start_date=1950, end_date=2020)
Variables obtenidas en el dataframe
EN.ATM.CO2E.KT es Emisiones de CO2 (kt)
EG.FEC.RNEW.ZS es Consumo de energía renovable (% del consumo total de energía final)
SP.URB.TOTL.IN.ZS es Población urbana (% del total)
AG.LND.AGRI.ZS es Tierras agrícolas (% del área de tierra)
panel <- select(gdp_data, country,date,EN.ATM.CO2E.KT,EG.FEC.RNEW.ZS,SP.URB.TOTL.IN.ZS,AG.LND.AGRI.ZS)
panel <- subset(panel, date == 1990 | date == 2000 | date == 2010 | date == 2020)
head(panel)
## # A tibble: 6 × 6
## country date EN.ATM.CO2E.KT EG.FEC.RNEW.ZS SP.URB.TOTL.IN.ZS AG.LND.AGRI.ZS
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Denmark 1990 51978 7.05 84.8 69.7
## 2 Denmark 2000 52602 10.7 85.1 66.2
## 3 Denmark 2010 48125. 21.2 86.8 65.6
## 4 Denmark 2020 27356. 39.7 88.1 65.5
## 5 Finland 1990 54563. 24.5 79.4 7.86
## 6 Finland 2000 55098. 31.7 82.2 7.28
na_count <- colSums(is.na(panel))
na_count
## country date EN.ATM.CO2E.KT EG.FEC.RNEW.ZS
## 0 0 0 0
## SP.URB.TOTL.IN.ZS AG.LND.AGRI.ZS
## 0 0
No se identificaron NA’s en la base de datos.
# Heterogeneidad
# Gráfico para la heterogeneidad por países
plotmeans(EN.ATM.CO2E.KT ~ country, data = panel, main = "Heterogeneidad entre países", xlab = "País", ylab = "Promedio de CO2E (KT)")
# Gráfico para la heterogeneidad por año
plotmeans(EN.ATM.CO2E.KT ~ date, data = panel, main = "Heterogeneidad entre años", xlab = "Año", ylab = "Promedio de CO2E (KT)")
La primera gráfica muestra heterogeneidad entre países ya que se tiene un pico en México. Por el contrario, la gráfica de años es homogénea pues mantiene promedios con una varianza bastante reducida entre los años.
Los intervalos de confianza de los países están severamente desfasados, por otro lado, los intervalos de confianza de los años son bastante similares. Esto se puede observar con las líneas azules en cada uno de los puntos de ambas gráficas.
El concepto de heterogeneidad se refiere a la diversidad y variabilidad entre distintas entidades dentro de un conjunto o población. Para un estudio, la gráfica de países es deseada debido a que se identifica una diferencia entre México y los demás territorios. Por otro lado, debido a que la gráfica de años mantiene promedios similares no se pueden resaltar observaciones en los cambios de CO2 a través de los años, por lo que se considera que para un estudio, esto no es deseado.
pooled <- plm(EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS + AG.LND.AGRI.ZS, data = panel, model = "pooling")
summary(pooled)
## Pooling Model
##
## Call:
## plm(formula = EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS +
## AG.LND.AGRI.ZS, data = panel, model = "pooling")
##
## Balanced Panel: n = 5, T = 4, N = 20
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -136648 -52292 -9079 39455 204408
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) 1222636.00 373989.24 3.2692 0.004822 **
## EG.FEC.RNEW.ZS -3731.73 1972.73 -1.8917 0.076779 .
## SP.URB.TOTL.IN.ZS -12233.92 4689.56 -2.6088 0.019000 *
## AG.LND.AGRI.ZS 434.16 1376.95 0.3153 0.756605
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 3.6681e+11
## Residual Sum of Squares: 1.5952e+11
## R-Squared: 0.56511
## Adj. R-Squared: 0.48357
## F-statistic: 6.93026 on 3 and 16 DF, p-value: 0.0033436
within <- plm(EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS + AG.LND.AGRI.ZS, data = panel, model = "within")
summary(within)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS +
## AG.LND.AGRI.ZS, data = panel, model = "within")
##
## Balanced Panel: n = 5, T = 4, N = 20
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -65601.0 -4652.2 -261.2 4404.5 71652.4
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## EG.FEC.RNEW.ZS -2325.4 1030.7 -2.2562 0.04351 *
## SP.URB.TOTL.IN.ZS 5630.1 3161.8 1.7807 0.10027
## AG.LND.AGRI.ZS -4817.8 7447.1 -0.6469 0.52985
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 2.0033e+10
## Residual Sum of Squares: 1.2546e+10
## R-Squared: 0.37373
## Adj. R-Squared: 0.0083984
## F-statistic: 2.38697 on 3 and 12 DF, p-value: 0.12004
Prueba de efectos individuales y/o temporales basada en la comparación del modelo within y pooling.
pFtest(within,pooled)
##
## F test for individual effects
##
## data: EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS + AG.LND.AGRI.ZS
## F = 35.144, df1 = 4, df2 = 12, p-value = 1.545e-06
## alternative hypothesis: significant effects
En este caso el modelo pooled es mejor que el de within porque se pueden observar más asteriscos a un lado de las variables, de igual forma la Adjusted R^2 de pooled es más cercana a 1, lo que de igual forma nos indica que es un mejor modelo para el problema.
walhus <- plm(EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS + AG.LND.AGRI.ZS, data = panel, model = "random", random.method="walhus")
summary(walhus)
## Oneway (individual) effect Random Effect Model
## (Wallace-Hussain's transformation)
##
## Call:
## plm(formula = EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS +
## AG.LND.AGRI.ZS, data = panel, model = "random", random.method = "walhus")
##
## Balanced Panel: n = 5, T = 4, N = 20
##
## Effects:
## var std.dev share
## idiosyncratic 5.456e+09 7.386e+04 0.684
## individual 2.520e+09 5.020e+04 0.316
## theta: 0.4074
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -102642 -34418 -11046 17706 183325
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 604781.74 377280.91 1.6030 0.1089
## EG.FEC.RNEW.ZS -2582.41 1898.47 -1.3603 0.1737
## SP.URB.TOTL.IN.ZS -5293.62 4816.46 -1.0991 0.2717
## AG.LND.AGRI.ZS 908.12 1503.49 0.6040 0.5458
##
## Total Sum of Squares: 1.418e+11
## Residual Sum of Squares: 9.0765e+10
## R-Squared: 0.35992
## Adj. R-Squared: 0.23991
## Chisq: 8.99696 on 3 DF, p-value: 0.029331
Debido a la falta de asteriscos podemos determinar que este modelo no es un modelo adecuado para el caso, hay que remarcar que la Adjusted R^2 si es mayor que la del modelo within. En esta situación se dará prioridad a la R cuadrada por lo que se determina que el model walhus es mejor.
amemiya <- plm(EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS + AG.LND.AGRI.ZS, data = panel, model = "random", random.method="amemiya")
summary(amemiya)
## Oneway (individual) effect Random Effect Model
## (Amemiya's transformation)
##
## Call:
## plm(formula = EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS +
## AG.LND.AGRI.ZS, data = panel, model = "random", random.method = "amemiya")
##
## Balanced Panel: n = 5, T = 4, N = 20
##
## Effects:
## var std.dev share
## idiosyncratic 8.364e+08 2.892e+04 0.021
## individual 3.966e+10 1.991e+05 0.979
## theta: 0.9276
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -50889.6 -9549.8 -4287.7 1382.3 91281.3
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) -308381.32 259915.46 -1.1865 0.23544
## EG.FEC.RNEW.ZS -2236.96 958.68 -2.3334 0.01963 *
## SP.URB.TOTL.IN.ZS 6156.92 2717.24 2.2659 0.02346 *
## AG.LND.AGRI.ZS -259.79 3193.72 -0.0813 0.93517
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 2.1852e+10
## Residual Sum of Squares: 1.4785e+10
## R-Squared: 0.32339
## Adj. R-Squared: 0.19653
## Chisq: 7.64745 on 3 DF, p-value: 0.053889
nerlove <- plm(EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS + AG.LND.AGRI.ZS, data = panel, model = "random", random.method="nerlove")
summary(nerlove)
## Oneway (individual) effect Random Effect Model
## (Nerlove's transformation)
##
## Call:
## plm(formula = EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS +
## AG.LND.AGRI.ZS, data = panel, model = "random", random.method = "nerlove")
##
## Balanced Panel: n = 5, T = 4, N = 20
##
## Effects:
## var std.dev share
## idiosyncratic 6.273e+08 2.505e+04 0.012
## individual 4.983e+10 2.232e+05 0.988
## theta: 0.944
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -53402.84 -9145.02 -3809.63 744.93 87580.93
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) -294948.37 279648.48 -1.0547 0.29156
## EG.FEC.RNEW.ZS -2250.45 936.20 -2.4038 0.01623 *
## SP.URB.TOTL.IN.ZS 6183.64 2682.50 2.3052 0.02116 *
## AG.LND.AGRI.ZS -810.95 3755.61 -0.2159 0.82904
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 2.1121e+10
## Residual Sum of Squares: 1.4028e+10
## R-Squared: 0.33584
## Adj. R-Squared: 0.21132
## Chisq: 8.09074 on 3 DF, p-value: 0.044173
Nos permite comparar ambos modelos y establecer qué modelo es más consistente y eficiente.
phtest(amemiya,within)
##
## Hausman Test
##
## data: EN.ATM.CO2E.KT ~ EG.FEC.RNEW.ZS + SP.URB.TOTL.IN.ZS + AG.LND.AGRI.ZS
## chisq = 0.57227, df = 3, p-value = 0.9028
## alternative hypothesis: one model is inconsistent
Gracias a la prueba de Hausman podemos determinar que un modelo el modelo within mejor que el modelo amemiya, además, la Adjusted R^2 nos ayuda a llegar a la misma conclusión. A pesar de esto, en general el mejor modelo es el pooled.
Actividad en equipo - Integrantes:
Regina Enríquez Chapa (A01721435)
Maximiliano Carvajal Huesca (A01552179)
Guillermo Cázares Cruz (A01283709)
#install.packages("psych")
#install.packages("xlsx")
library(psych)
library(dplyr)
library(readxl)
library(xlsx)
patente <- read.csv("PATENT 3 NONA.csv")
patente <- patente[,1:12]
#EDA
summary(patente)
## cusip merger employ return
## Min. : 800 Min. :0.00000 Min. : 0.00 Min. :-73.00
## 1st Qu.:368514 1st Qu.:0.00000 1st Qu.: 1.00 1st Qu.: 5.00
## Median :501026 Median :0.00000 Median : 4.00 Median : 8.00
## Mean :512955 Mean :0.01778 Mean : 18.75 Mean : 8.02
## 3rd Qu.:750633 3rd Qu.:0.00000 3rd Qu.: 15.00 3rd Qu.: 11.00
## Max. :878555 Max. :1.00000 Max. :507.00 Max. : 49.00
## patents patentsg stckpr rnd
## Min. : 0 Min. : 0.00 Min. : 0.00 Min. : 0.00
## 1st Qu.: 1 1st Qu.: 1.00 1st Qu.: 8.00 1st Qu.: 1.00
## Median : 3 Median : 4.00 Median : 17.00 Median : 2.00
## Mean : 23 Mean : 27.26 Mean : 22.71 Mean : 29.44
## 3rd Qu.: 15 3rd Qu.: 19.00 3rd Qu.: 29.00 3rd Qu.: 12.00
## Max. :906 Max. :1063.00 Max. :402.00 Max. :1719.00
## rndeflt sales sic year
## Min. : 0.00 Min. : 1.00 Min. :2000 Min. :2012
## 1st Qu.: 0.00 1st Qu.: 54.25 1st Qu.:2890 1st Qu.:2014
## Median : 1.00 Median : 176.50 Median :3531 Median :2016
## Mean : 19.79 Mean : 1223.54 Mean :3334 Mean :2016
## 3rd Qu.: 9.00 3rd Qu.: 740.50 3rd Qu.:3661 3rd Qu.:2019
## Max. :1001.00 Max. :44224.00 Max. :9997 Max. :2021
psych::describe(patente)
## vars n mean sd median trimmed mad min max
## cusip 1 2250 512954.81 245828.97 501026.0 526832.04 320323.14 800 878555
## merger 2 2250 0.02 0.13 0.0 0.00 0.00 0 1
## employ 3 2250 18.75 49.96 4.0 8.31 4.45 0 507
## return 4 2250 8.02 5.55 8.0 7.83 4.45 -73 49
## patents 5 2250 23.00 69.91 3.0 8.73 4.45 0 906
## patentsg 6 2250 27.26 79.35 4.0 11.02 5.93 0 1063
## stckpr 7 2250 22.71 25.50 17.0 18.70 14.83 0 402
## rnd 8 2250 29.44 124.66 2.0 6.96 2.97 0 1719
## rndeflt 9 2250 19.79 80.61 1.0 4.83 1.48 0 1001
## sales 10 2250 1223.54 3712.01 176.5 431.68 226.10 1 44224
## sic 11 2250 3334.15 654.47 3531.0 3372.52 269.83 2000 9997
## year 12 2250 2016.50 2.87 2016.5 2016.50 3.71 2012 2021
## range skew kurtosis se
## cusip 877755 -0.31 -0.88 5182.53
## merger 1 7.29 51.22 0.00
## employ 507 6.17 44.41 1.05
## return 122 -0.96 24.82 0.12
## patents 906 7.76 76.94 1.47
## patentsg 1063 7.39 69.84 1.67
## stckpr 402 5.37 52.54 0.54
## rnd 1719 8.98 95.41 2.63
## rndeflt 1001 8.07 73.21 1.70
## sales 44223 6.63 54.32 78.26
## sic 7997 4.18 45.79 13.80
## year 9 0.00 -1.23 0.06
# Código para obtener el % de NA por columna
porcentaje_NA <- colSums(is.na(patente)) / nrow(patente) * 100
# Mostrar el resultado
porcentaje_NA
## cusip merger employ return patents patentsg stckpr rnd
## 0 0 0 0 0 0 0 0
## rndeflt sales sic year
## 0 0 0 0
plotmeans(patentsg ~ cusip, data = patente, n.label=FALSE, main= "Heterogeneidad entre firmas")
plotmeans(patentsg ~ year, data = patente, n.label=FALSE, main= "Heterogeneidad por años")
pooled1 <- plm(patentsg ~ return + employ + rnd + sales, data = patente, model = "pooling")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
summary(pooled1)
## Pooling Model
##
## Call:
## plm(formula = patentsg ~ return + employ + rnd + sales, data = patente,
## model = "pooling")
##
## Unbalanced Panel: n = 225, T = 10-10, N = 2250
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -442.5435 -10.5304 -4.6064 1.7056 529.9156
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) -2.53818295 2.00364931 -1.2668 0.2054
## return 0.89882599 0.20031729 4.4870 7.588e-06 ***
## employ 1.50534937 0.04795130 31.3933 < 2.2e-16 ***
## rnd -0.07849107 0.01848652 -4.2459 2.266e-05 ***
## sales -0.00271798 0.00054088 -5.0251 5.428e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 14161000
## Residual Sum of Squares: 6169000
## R-Squared: 0.56435
## Adj. R-Squared: 0.56357
## F-statistic: 727.051 on 4 and 2245 DF, p-value: < 2.22e-16
within1 <- plm(patentsg ~ return + employ + rnd + sales, data = patente, model = "within")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
summary(within1)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = patentsg ~ return + employ + rnd + sales, data = patente,
## model = "within")
##
## Unbalanced Panel: n = 225, T = 10-10, N = 2250
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -218.73410 -1.90671 -0.31204 1.51679 269.88092
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## return -0.0032470 0.0897144 -0.0362 0.9711
## employ -0.0575524 0.0606945 -0.9482 0.3431
## rnd -0.1442205 0.0119849 -12.0335 < 2.2e-16 ***
## sales -0.0015633 0.0003528 -4.4312 9.872e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 715640
## Residual Sum of Squares: 590370
## R-Squared: 0.17504
## Adj. R-Squared: 0.081968
## F-statistic: 107.202 on 4 and 2021 DF, p-value: < 2.22e-16
pFtest(within1,pooled1)
##
## F test for individual effects
##
## data: patentsg ~ return + employ + rnd + sales
## F = 85.256, df1 = 224, df2 = 2021, p-value < 2.2e-16
## alternative hypothesis: significant effects
walhus1 <- plm(patentsg ~ return + employ + rnd + sales, data = patente, model = "random", random.method="walhus")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
summary(walhus1)
## Oneway (individual) effect Random Effect Model
## (Wallace-Hussain's transformation)
##
## Call:
## plm(formula = patentsg ~ return + employ + rnd + sales, data = patente,
## model = "random", random.method = "walhus")
##
## Unbalanced Panel: n = 225, T = 10-10, N = 2250
##
## Effects:
## var std.dev share
## idiosyncratic 411.68 20.29 0.148
## individual 2370.92 48.69 0.852
## theta:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.8694 0.8694 0.8694 0.8694 0.8694 0.8694
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -148.025783 -3.940434 -2.544015 -0.081562 315.829057
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 18.0941170 3.2698706 5.5336 3.137e-08 ***
## return 0.0609435 0.0987705 0.6170 0.5372
## employ 0.7930595 0.0493501 16.0701 < 2.2e-16 ***
## rnd -0.1141524 0.0128585 -8.8776 < 2.2e-16 ***
## sales -0.0023162 0.0003790 -6.1114 9.878e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 945100
## Residual Sum of Squares: 807600
## R-Squared: 0.14549
## Adj. R-Squared: 0.14397
## Chisq: 382.239 on 4 DF, p-value: < 2.22e-16
amemiya1 <- plm(patentsg ~ return + employ + rnd + sales, data = patente, model = "random", random.method="amemiya")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
summary(amemiya1)
## Oneway (individual) effect Random Effect Model
## (Amemiya's transformation)
##
## Call:
## plm(formula = patentsg ~ return + employ + rnd + sales, data = patente,
## model = "random", random.method = "amemiya")
##
## Unbalanced Panel: n = 225, T = 10-10, N = 2250
##
## Effects:
## var std.dev share
## idiosyncratic 292.12 17.09 0.031
## individual 9227.46 96.06 0.969
## theta:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.9438 0.9438 0.9438 0.9438 0.9438 0.9438
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -174.84560 -3.06638 -1.81786 0.34125 292.15087
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 29.25741429 6.48942621 4.5085 6.530e-06 ***
## return 0.01380746 0.08902493 0.1551 0.8767
## employ 0.21667365 0.05564987 3.8935 9.880e-05 ***
## rnd -0.13464500 0.01182439 -11.3871 < 2.2e-16 ***
## sales -0.00180607 0.00034823 -5.1864 2.144e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 758060
## Residual Sum of Squares: 647710
## R-Squared: 0.14557
## Adj. R-Squared: 0.14405
## Chisq: 382.48 on 4 DF, p-value: < 2.22e-16
nerlove1 <- plm(patentsg ~ return + employ + rnd + sales, data = patente, model = "random", random.method="nerlove")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
summary(nerlove1)
## Oneway (individual) effect Random Effect Model
## (Nerlove's transformation)
##
## Call:
## plm(formula = patentsg ~ return + employ + rnd + sales, data = patente,
## model = "random", random.method = "nerlove")
##
## Unbalanced Panel: n = 225, T = 10-10, N = 2250
##
## Effects:
## var std.dev share
## idiosyncratic 262.39 16.20 0.028
## individual 9265.80 96.26 0.972
## theta:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.9469 0.9469 0.9469 0.9469 0.9469 0.9469
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -176.59240 -3.00166 -1.76173 0.38987 290.97104
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 29.72678963 6.82036888 4.3585 1.309e-05 ***
## return 0.01220865 0.08866824 0.1377 0.8904862
## employ 0.19225413 0.05584827 3.4424 0.0005765 ***
## rnd -0.13550037 0.01178374 -11.4989 < 2.2e-16 ***
## sales -0.00178445 0.00034702 -5.1422 2.715e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 753600
## Residual Sum of Squares: 642330
## R-Squared: 0.14765
## Adj. R-Squared: 0.14613
## Chisq: 388.894 on 4 DF, p-value: < 2.22e-16
phtest(nerlove1,within1)
##
## Hausman Test
##
## data: patentsg ~ return + employ + rnd + sales
## chisq = 113.03, df = 4, p-value < 2.2e-16
## alternative hypothesis: one model is inconsistent
Al comparar todos los modelos de panel identificamos que el mejor modelo fue el modelo pooled debido a que el Adjusted R^2 es de 0.564 a comparación con todos los demás que son debajo del 0.2, se encontró una gran significancia en las variables del modelo lo cual indica que el modelo es óptimo.