Taller de Modelos de Regresión en Econometría (Log-Log, Log-Lin, Lin-Log, Lin-Lin) Objetivo:
Estimar e interpretar coeficientes en diferentes formas funcionales.
Aplicar conceptos de elasticidad (precio de la demanda, ingreso de la demanda).
Usar datos reales y R para análisis replicables.
#1. Elasticidad Precio de la Demanda
Contexto: Analizar cómo el precio afecta la demanda de gasolina en EE.UU.
Preguntas:
Interprete el coeficiente de log(price). ¿Es inelástica la demanda? Si, debido a que si se aumenta el precio de la gasolina los consumidores seguiran demandando la gasolina porque no hay otras alternativas reales que puedan reemplazar este bien, por lo tanto, las personas haran menos viajes.
Grafique la relación con ggplot2: y comente la grafica
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
# Crear un gráfico de dispersión para "Gasolina vs Precio de la Gasolina" en ggplot2
grafico_dispersion <- ggplot(USGasB, aes(x = price, y = gas)) +
geom_point(color = "steelblue") + # Agregar puntos de dispersión
labs(title = "Gasolina vs precio de la gasolina", x = "Precio", y = "Consumo") +
geom_smooth(method = "lm")+
theme_minimal()
# Mostrar el gráfico de dispersión
print(grafico_dispersion)
## `geom_smooth()` using formula = 'y ~ x'
Se puede observar en la gráfica una relación positiva ya que cuando va aumentando el precio, el consumo de la gasolina se esta mantiendo constantemente y esto respalda la teoria economica de la demanda ineslastica de los precios ya que a los consumidores le genera indiferencia el precio porque igual van a demandar ya que no tienen otras opciones y la disperción de los datos estan muy regados y en algunos se mantienen constantes.
#2. Elasticidad Ingreso de la Demanda Contexto: Relación entre PIB per cápita y consumo privado (datos del Banco Mundial).
library(WDI)
## Warning: package 'WDI' was built under R version 4.4.3
datos_pib <- WDI(country = "US", indicator = c("NY.GDP.PCAP.CD", "NE.CON.PRVT.CD"))
options(scipen = 999)
# Modelo log-log
modelo_ingreso <- lm(log(NE.CON.PRVT.CD) ~ log(NY.GDP.PCAP.CD), data = datos_pib)
summary(modelo_ingreso)
##
## Call:
## lm(formula = log(NE.CON.PRVT.CD) ~ log(NY.GDP.PCAP.CD), data = datos_pib)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.06280 -0.02693 0.00737 0.02870 0.07787
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 16.364616 0.067879 241.1 <0.0000000000000002 ***
## log(NY.GDP.PCAP.CD) 1.255718 0.006644 189.0 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03686 on 52 degrees of freedom
## (11 observations deleted due to missingness)
## Multiple R-squared: 0.9985, Adjusted R-squared: 0.9985
## F-statistic: 3.572e+04 on 1 and 52 DF, p-value: < 0.00000000000000022
Preguntas:
¿El coeficiente sugiere que el consumo es un bien necesario o de lujo? El coeficiente sugiere que el consumo es un bien de lujo ya que es mayor a 1, por lo tanto aumenta proporcionalmente a medida que aumenta el ingreso.
¿Cómo se compara con la teoría keynesiana? Para keynes se considera que el consumo crece en menos proporcionalmente, es decir, en la teoria el consumo se considera un bien necesario y no un bien de lujo.
#3. Función de Producción Cobb-Douglas Contexto: Rendimientos de escala en la producción industrial.
library(pwt10)
data("pwt10.0")
# Modelo log-log: Y = A·L^β1·K^β2
modelo_produccion <- lm(log(rgdpna) ~ log(emp) + log(ck), data = pwt10.0)
summary(modelo_produccion)
##
## Call:
## lm(formula = log(rgdpna) ~ log(emp) + log(ck), data = pwt10.0)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.9039 -0.3102 0.0767 0.3937 1.6357
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.631508 0.036461 401.29 <0.0000000000000002 ***
## log(emp) 0.261641 0.006569 39.83 <0.0000000000000002 ***
## log(ck) 0.697640 0.005559 125.49 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6123 on 7092 degrees of freedom
## (5715 observations deleted due to missingness)
## Multiple R-squared: 0.9067, Adjusted R-squared: 0.9066
## F-statistic: 3.444e+04 on 2 and 7092 DF, p-value: < 0.00000000000000022
Preguntas:
Sume los coeficientes de log(emp) y log(ck). ¿Hay rendimientos constantes a escala? 0.261641 + 0.697640 = 0.959281 No hay rendimientos constantes a escala debido a que la suma de los 2 coeficientes no es igual a uno, pero hay rendimientos decrecientes a escala debido a que la suma es menor a 1.
Interprete el coeficiente de log(emp). Si el empleo varía en un 1%, la producción aumentaria en promedio un 0,26%, pero en comparación con el capital su aporte es demasiado menor, por lo tanto la producción se ve afectada y el aporte del empleo puede ser ineficiente, lo que genera que la producción disminuya sus cantidades, lo que podria traer consigo impactos negativos.
#4. Elasticidad Precio de la Oferta Agrícola Contexto: Respuesta de la producción de soja a cambios de precio (datos simulados).
# Datos simulados (en un taller real, usar datos de FAO)
set.seed(123)
datos_soja <- data.frame(
precio <- runif(100, 10, 20),
produccion <- 50 * precio^0.7 * exp(rnorm(100, 0, 0.1))
)
modelo_oferta <- lm(log(produccion) ~ log(precio), data = datos_soja)
summary(modelo_oferta)
##
## Call:
## lm(formula = log(produccion) ~ log(precio), data = datos_soja)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.223373 -0.061032 -0.002298 0.059845 0.221377
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.94822 0.13500 29.25 <0.0000000000000002 ***
## log(precio) 0.68454 0.05008 13.67 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.09692 on 98 degrees of freedom
## Multiple R-squared: 0.656, Adjusted R-squared: 0.6524
## F-statistic: 186.8 on 1 and 98 DF, p-value: < 0.00000000000000022
Preguntas:
¿La oferta es elástica o inelástica? La oferta es ineslastica ya que para los productores le es indiferente si aumenta el precio, ante un aumento del precio de la soja del 1%, la cantidad ofrecida aumenta apenas un 0.6845%.
¿Qué factores podrían sesgar la estimación? La estimación de la elasticidad precio de la oferta de soja puede estar sesgada por la omisión de variables relevantes como costos o clima, la endogeneidad si el precio está influido por la propia oferta, errores de medición en los datos, y la causalidad inversa si los cambios en la producción afectan los precios. Además, el uso de datos agregados o desactualizados y la influencia de políticas agrícolas también pueden distorsionar la relación real entre precio y oferta.
#5. Curva de Mincer (Educación vs. Salarios) Contexto: Retorno de la educación en salarios por hora.
data("CPS1985", package = "AER")
modelo_salarios <- lm(log(wage) ~ log(education) + experience, data = CPS1985)
summary(modelo_salarios)
##
## Call:
## lm(formula = log(wage) ~ log(education) + experience, data = CPS1985)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.07240 -0.34543 0.03125 0.32321 1.83472
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.728055 0.259812 -2.802 0.00526 **
## log(education) 1.014442 0.096465 10.516 < 0.0000000000000002 ***
## experience 0.011653 0.001803 6.463 0.000000000233 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4782 on 531 degrees of freedom
## Multiple R-squared: 0.182, Adjusted R-squared: 0.1789
## F-statistic: 59.06 on 2 and 531 DF, p-value: < 0.00000000000000022
¿Como interpretaria el efecto de un año de educacion sobre el salario de un individuo? Si varia en 1% la educación, el efecto de la educación en el salario de un individuo aumentaria en un 1.01%.
Compare con un modelo lin-lin. ¿Cuál es más informativo? Si comparamos con el modelo log-log y el modelo lin-lin 1 año de educacón tendria efecto en el salario de un individuo aumentaria en un 0.9260, si lo comparamos con el modelo log-log, el modelo lin-lin es menos informativo.
data("CPS1985", package = "AER")
modelo_salarios <- lm((wage) ~ (education) + experience, data = CPS1985)
summary(modelo_salarios)
##
## Call:
## lm(formula = (wage) ~ (education) + experience, data = CPS1985)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8.351 -2.857 -0.599 1.994 36.336
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.9045 1.2189 -4.024 0.00006563762 ***
## education 0.9260 0.0814 11.375 < 0.0000000000000002 ***
## experience 0.1051 0.0172 6.113 0.00000000189 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.599 on 531 degrees of freedom
## Multiple R-squared: 0.202, Adjusted R-squared: 0.199
## F-statistic: 67.22 on 2 and 531 DF, p-value: < 0.00000000000000022
#6. Estimar la tasa de crecimiento anual del PIB de EE.UU.
data("USMacroG")
datos <- as.data.frame(USMacroG)
options(scipen = 999)
modelo_crecimiento <- lm(log(gdp) ~ time(USMacroG), data = datos)
summary(modelo_crecimiento)
##
## Call:
## lm(formula = log(gdp) ~ time(USMacroG), data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.092049 -0.031466 -0.001865 0.025561 0.084527
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -56.7650509 0.3667110 -154.8 <0.0000000000000002 ***
## time(USMacroG) 0.0329443 0.0001856 177.5 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03903 on 202 degrees of freedom
## Multiple R-squared: 0.9936, Adjusted R-squared: 0.9936
## F-statistic: 3.149e+04 on 1 and 202 DF, p-value: < 0.00000000000000022
Cual es la tasa de crecimiento anual y de que periodo se esta analizando 3.35% el crecimiento anual aproximadamente y el periodo del que se esta analizando esta tasa es de 51 años aproximadamente
growth_rate <- exp(0.0329443) - 1
growth_rate * 100
## [1] 3.349297
years <- 203 / 4
years
## [1] 50.75
Nota:
1.Para cada uno de los ejercicios especifique que modelo se esta utilizando 2. utilice la funcion rename para renombrar las variables 3. Utilice funcion Option scipen para quitar notacion cientifica.