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?
Grafique la relación con ggplot2: y comente la grafica
respuesta: si, la damanda si es inelastica porque el valor absoluto de la elasticidad log-price que es 0.463 es menor que 1, esto significa que la cantidad demandada es relativamente insensible a cambios en el precio.
library(ggplot2)
ggplot(USGasB, aes(x = log(price), y = log(gas))) + geom_point(color = “steelblue”, size = 2) + geom_smooth(method = “lm”, se = FALSE, color = “darkred”) + labs( title = “Relación log-log entre el precio y el consumo de gas”, x = “Log(Precio)”, y = “Log(Consumo de gas)” ) + theme_minimal()
#2. Elasticidad Ingreso de la Demanda Contexto: Relación entre PIB per cápita y consumo privado (datos del Banco Mundial).
library(WDI)
datos_pib <- WDI(country = "US", indicator = c("NY.GDP.PCAP.CD", "NE.CON.PRVT.CD"))
# 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 <2e-16 ***
## log(NY.GDP.PCAP.CD) 1.255718 0.006644 189.0 <2e-16 ***
## ---
## 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: < 2.2e-16
Preguntas:
¿El coeficiente sugiere que el consumo es un bien necesario o de lujo?
respuesta: si, se considera que el coeficienta actua como bien de lujo, por lo cual por cada 1% en aumento del pib percapita, el consumo privado aumentara aproximadamente 1.257 donde el gasto en consumo crece proporcionalmente más que el ingreso.
¿Cómo se compara con la teoría keynesiana?
respuesta: La teoría keynesiana del consumo proporciona un marco fundamental para entender la relación entre ingreso y consumo. a PMC (propencion marginal a consumir) es menor que 1, lo que implica que el consumo aumenta con el ingreso, pero en una proporción menor. Esto clasificaría al consumo como un bien necesario (elasticidad ingreso <1). #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 <2e-16 ***
## log(emp) 0.261641 0.006569 39.83 <2e-16 ***
## log(ck) 0.697640 0.005559 125.49 <2e-16 ***
## ---
## 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: < 2.2e-16
Preguntas:
Sume los coeficientes de log(emp) y log(ck). ¿Hay rendimientos constantes a escala?
respuesta: Como la suma es aproximadamente 0.96, notamos que existen rendimientos ligeramente decrecientes a escala en el modelo log-log. Es decir, si intentamos duplicar tanto el empleo como el capital, el PIB real aumentaría menos del doble.
Interprete el coeficiente de log(emp).
respuesta: podriamos considerar que un aumento del 1% en (emp) se asocia con un aumento del 0.2616% en el PIB real, manteniendo el capital constante.
#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 <2e-16 ***
## log(precio) 0.68454 0.05008 13.67 <2e-16 ***
## ---
## 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: < 2.2e-16
Preguntas:
¿La oferta es elástica o inelástica?
respuesta: analizando el modelo log-log, este coeficiente representa la elasticidad precio de la oferta de soja.Cuando existe un aumento de la soja en 1%, la producción (oferta) aumenta solo en 0.6845%, es decir, menos que proporcionalmente. Se entiende que es inelastica 0.68454 < 1
¿Qué factores podrían sesgar la estimación?
respuesta: uno de los factores que podria generar un sesgo es la endogeneidad donde se puede considerar que los precios no son exogenos, es decir, que la podruccion podria llegar a afectar tambien los precios por lo cual el coefiente estimado estaria sesgado.
#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 < 2e-16 ***
## experience 0.011653 0.001803 6.463 2.33e-10 ***
## ---
## 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: < 2.2e-16
¿Como interpretaria el efecto de un año de educacion sobre el salario de un individuo?
respuesta: en este modelo observamos una elasticidad positiva. El efecto de un año extra de educación sobre el salario es positivo y decreciente: a mayor nivel educativo, menor es el impacto porcentual adicional sobre el salario.
Compare con un modelo lin-lin. ¿Cuál es más informativo?
respuesta: el modelo log log es bueno para analizar cambios proporcionales, pero lin lin brinda mas informacion, brindando efectos absolutos.
#6. Estimar la tasa de crecimiento anual del PIB de EE.UU.
data("USMacroG")
datos <- as.data.frame(USMacroG)
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) -5.677e+01 3.667e-01 -154.8 <2e-16 ***
## time(USMacroG) 3.294e-02 1.856e-04 177.5 <2e-16 ***
## ---
## 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: < 2.2e-16
Cual es la tasa de crecimiento anual y de que periodo se esta analizando
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.