#### Modelo de tasas de crecimiento del PIB para países de la OCDE
# Cargar base de datos
library(readxl)
## Warning: package 'readxl' was built under R version 4.4.1
bd = read_excel("C:/Clases/Nueva carpeta/Clase de econometria/oecd.xls")
## New names:
## • `EMPLOY` -> `EMPLOY...5`
## • `EMPLOY` -> `EMPLOY...10`
attach(bd)
e = EMPLOY...5
g = GDP
## Análisis descriptivo de las variables
summary(e)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -1.0600 0.2925 0.8300 0.9769 1.6425 4.5600
summary(g)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.150 2.013 2.505 2.811 2.848 7.730
# Histogramas
hist(e, col = "pink", main = "Histograma del crecimiento del empleo")

hist(g, col = "lightblue", main = "Histograma del crecimiento del PIB")

## Gráfico de dispersión
plot(g, e, main = "Relacion entre crecimiento del Empleo y del PIB",
xlab = "Crecimiento del PIB",
ylab = "Crecimiento del Empleo")
## Ajuste de un Modelo lineal
modelo = lm(e ~ g)
summary(modelo)
##
## Call:
## lm(formula = e ~ g)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.5410 -0.6217 -0.0934 0.5228 3.6510
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.3750 0.4104 -0.914 0.369911
## g 0.4809 0.1282 3.750 0.000988 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9999 on 24 degrees of freedom
## Multiple R-squared: 0.3695, Adjusted R-squared: 0.3432
## F-statistic: 14.06 on 1 and 24 DF, p-value: 0.0009883
abline(coef = coef(modelo), col = "blue", lwd = 2)

## Predicción de tasa de crecimiento del empleo para un crecimiento del PIB de 4.6% -> correspondinete al de Nicaragua para 2023
coef = coef(modelo)
(e_pred = coef[1] + coef[2] * 4.6)
## (Intercept)
## 1.837211
print("Dado un crecimiento del PIB de un 4.6%, se estima un crecimiento del empleo de 1.8%")
## [1] "Dado un crecimiento del PIB de un 4.6%, se estima un crecimiento del empleo de 1.8%"
## Nivel de crecimiento necesario para un crecimiento del empleo de 0%
(g_0 = (0 - coef[1]) / coef[2])
## (Intercept)
## 0.7797807
print("El nivel de crecimiento necesario para que el crecimiento del empleo sea de 0% es de 0.78%")
## [1] "El nivel de crecimiento necesario para que el crecimiento del empleo sea de 0% es de 0.78%"
## Resultados de la pendiente y el intercepto con fórmulas
# Fórmula de la pendiente
num = sum((g - mean(g))*(e - mean(e)))
den = sum((g-mean(g))^2)
(beta_1 = num/den)
## [1] 0.4809176
print("Resultado en la pendiente identico al resultado del modelo")
## [1] "Resultado en la pendiente identico al resultado del modelo"
# Fórmula del intercepto
(beta_0 = mean(e) - beta_1 * mean(g))
## [1] -0.3750102
print("Resultado en el intercepto identico al resultado del modelo")
## [1] "Resultado en el intercepto identico al resultado del modelo"
## Ajuste del modelo de regresión sin pendiente
modelo_si= lm(e~g + 0)
summary(modelo_si)
##
## Call:
## lm(formula = e ~ g + 0)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.7328 -0.7214 -0.1759 0.3909 3.5508
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## g 0.37797 0.06107 6.189 1.8e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9966 on 25 degrees of freedom
## Multiple R-squared: 0.6051, Adjusted R-squared: 0.5893
## F-statistic: 38.3 on 1 and 25 DF, p-value: 1.796e-06
plot(g, e, main = "Relacion entre crecimiento del Empleo y del PIB",
xlab = "Crecimiento del PIB",
ylab = "Crecimiento del Empleo")
abline(a = 0, b = coef(modelo_si), col = "red", lwd = 2)

print("La omisión del intercepto en este modelo no cambia drásticamente el valor de la pendiente, pues el intercepto estimado ya era cercano a 0. Este cambio no tiene grandes implicaciones en la explicación del crecimiento del Empleo cuando el crecimiento del PIB es 0%, pues la diferencia, si bien existe, es relativamente pequeña.")
## [1] "La omisión del intercepto en este modelo no cambia drásticamente el valor de la pendiente, pues el intercepto estimado ya era cercano a 0. Este cambio no tiene grandes implicaciones en la explicación del crecimiento del Empleo cuando el crecimiento del PIB es 0%, pues la diferencia, si bien existe, es relativamente pequeña."
## Resultado de la pendiente en modelo sin intercepto con fórmula
(beta_1_si = (sum(g*e))/(sum((g)^2)))
## [1] 0.3779743
print("Resultado en la pendiente identico al resultado del modelo sin intercepto")
## [1] "Resultado en la pendiente identico al resultado del modelo sin intercepto"
## Bondad de ajuste de la estimación del modelo
print("El modelo estimado si presenta (en principio) un buen ajuste a los datos, sin embargo hay observaciones que realizar. En primer lugar, la muestra es relativamente pequeña, lo que puede introducir sesgo la estimación. En segundo lugar, el analisis de dispersion parece presentar una relación marginal decreciente, a medida que el crecimiento del PIB es mayor, el crecimiento del empleo parece reducirse en magnitud. De ser así esta relación no sería correctamente capturada por un modelo lineal, sino que debería optarse por una transformación logarítmica log-lin")
## [1] "El modelo estimado si presenta (en principio) un buen ajuste a los datos, sin embargo hay observaciones que realizar. En primer lugar, la muestra es relativamente pequeña, lo que puede introducir sesgo la estimación. En segundo lugar, el analisis de dispersion parece presentar una relación marginal decreciente, a medida que el crecimiento del PIB es mayor, el crecimiento del empleo parece reducirse en magnitud. De ser así esta relación no sería correctamente capturada por un modelo lineal, sino que debería optarse por una transformación logarítmica log-lin"