Trabajo Autónomo II

Author

Thalia Alexandra Guaicha Cabrera

Introducción al Análisis de Correlación y de Regresión Lineal

Cargar librerías necesarias library(dplyr) # Para manipulación de datos library(ggplot2) # Para visualización de datos library(haven) # Para leer archivos .dta de Stata install.packages(“ggcorrplot”)(Ofrece una solución para reordenar la matriz de correlación y muestra el nivel de significancia en el correlograma) library(ggcorrplot) install.packages(“corrplot”)(es una herramienta para visualizar matrices de correlación de forma clara e intuitiva) library(corrplot) install.packages(“car”) library(car)

Setear directorio de trabajo setwd(“~/Autonomo 2/Guaicha_Thalia_AutonomoII_files”)

Cargar la base de datos (ajusta la ruta del archivo)

library(readxl)
datos <- read_excel("datos_argentina.xlsx")
View(datos)

Ver las primeras filas del dataset

head(datos)
# A tibble: 6 × 4
  Años  `PIB PERCAPITA (Y)` `IED (X)` `POBLACION ACTIVA (x)`
  <chr>               <dbl>     <dbl>                  <dbl>
1 1995                 2.17     9934.                   61.5
2 1996                 2.55    10352.                   62.0
3 1997                 3.13    11057.                   62.8
4 1998                 2.44    11348.                   63.1
5 1999                 8.46    10838.                   62.6
6 2000                 3.67    10632.                   62.3

Comprobar si hay valores perdidos en las variables de interés

# Cargar paquetes necesarios
library(readxl)
library(dplyr)

Adjuntando el paquete: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
# Leer el archivo Excel
datos <- read_excel("datos_argentina.xlsx")

# Renombrar las columnas para facilitar el análisis
datos <- datos %>%
  rename(
    PIB = `PIB PERCAPITA (Y)`,
    IED = `IED (X)`,
    EMPLEO = `POBLACION ACTIVA (x)`
  )
::: {.cell}

```{.r .cell-code}
sum(is.na(datos))
[1] 0

::: # ANALISIS DE CORRELACIÓN

Calcular la correlación de Pearson entre PIB y IED

correlacion <- cor(datos$PIB, datos$IED, use = "complete.obs")
print(correlacion)
[1] -0.1617778

Mostrar el coeficiente de correlación

cat(“El coeficiente de correlación de Pearson entre PIB y la IED es:”, correlacion)

Interpretación:

  • Si el valor está cerca de 1, hay una relación positiva fuerte.

  • Si está cerca de -1, hay una relación negativa fuerte.

  • Si está cerca de 0, no hay relación lineal entre las variables.

Análisis: Al calcular la correlación de Pearson entre el Producto Interno Bruto y la Inversión

Extranjera Directa, se observa que existe una correlación de -0.16, en este sentido, se

puede deducir que existe una relación negativa muy débil, ademas, ante un aumento de la

IED, el PIB tiende a disminuir.

La ecuación de Mincer sugiere que cada año adicional de estudios produce un índice de

rendimiento privado (es decir, individual) del 5-8 % anual.

library(ggplot2)

Crear un gráfico de dispersión con una línea de regresión

library (ggplot2)
ggplot(datos, aes(x = IED, y = PIB)) +
  geom_point(color = "blue", alpha = 0.5) +  # Puntos del gráfico
  geom_smooth(method = "lm", color = "red", se = FALSE) +  # Línea de regresión lineal
  labs(title = "Relación entre PIB e IED",
       x = "INVERSION EXTRANJERA DIRECTA",
       y = "PRODUCTO INTERNO BRUTO") +
  theme_minimal()
`geom_smooth()` using formula = 'y ~ x'

Cargar ggplot2 library(ggplot2)

Supongamos que ya tienes un dataframe llamado datos con columnas PIB e IED ggplot(datos, aes(x = IED, y = PIB)) + geom_point() + geom_smooth(method = “lm”, se = TRUE) + labs(title = “Relación entre IED y PIB”, x = “Inversión Extranjera Directa (IED)”, y = “Producto Interno Bruto (PIB)”)

Seleccionar solo las variables numéricas library(dplyr)

datos_numericos <- select(datos, PIB, IED, EMPLEO)

Calcular la matriz de correlaciones

matriz_cor <- cor(datos_numericos, use = "complete.obs")

Mostrar la matriz de correlaciones

print(matriz_cor)
              PIB        IED     EMPLEO
PIB     1.0000000 -0.1617778  0.4890850
IED    -0.1617778  1.0000000 -0.3867357
EMPLEO  0.4890850 -0.3867357  1.0000000

Analisis Con relación al PIB Y LA IED: Relación negativa muy débil, a mayor IED, el PIB tiende a

bajar ligeramente (casi sin relación).

Asi mismo con relación el PIB y el Empleo: Relación moderada positiva: A mayor empleo,

mayor PIB. Hay una conexión lineal apreciable.

Finalmente la relación entre LA IED y el empleo: Relación negativa débil/moderada: A

mayor IED, el empleo tiende a bajar. Puede ser estructural.

Función para calcular correlaciones y p-valores

library(Hmisc)

Adjuntando el paquete: 'Hmisc'
The following objects are masked from 'package:dplyr':

    src, summarize
The following objects are masked from 'package:base':

    format.pval, units
result <- rcorr(as.matrix(datos_numericos))
print(result)
         PIB   IED EMPLEO
PIB     1.00 -0.16   0.49
IED    -0.16  1.00  -0.39
EMPLEO  0.49 -0.39   1.00

n= 29 


P
       PIB    IED    EMPLEO
PIB           0.4018 0.0071
IED    0.4018        0.0382
EMPLEO 0.0071 0.0382       
result$r
              PIB        IED     EMPLEO
PIB     1.0000000 -0.1617778  0.4890850
IED    -0.1617778  1.0000000 -0.3867357
EMPLEO  0.4890850 -0.3867357  1.0000000
result$P
               PIB        IED      EMPLEO
PIB             NA 0.40179370 0.007093116
IED    0.401793705         NA 0.038223814
EMPLEO 0.007093116 0.03822381          NA

Graficar la matriz de correlaciones con ggcorrplot

library (ggcorrplot)
ggcorrplot(matriz_cor, lab = TRUE, hc.order = F, type = "lower",
           lab_size = 2,tl.cex = 8)

library (corrplot)
corrplot 0.95 loaded
corrplot(matriz_cor, method = "color", type = "lower", 
         addCoef.col = "black", tl.col = "blue",number.cex = 0.5, 
         tl.cex = 0.4, cl.cex = 0.4)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Análisis de regresión lineal ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ajustar un modelo de regresión lineal bivariado

modelo <- lm(PIB ~ IED + EMPLEO, data = datos)
summary(modelo)

Call:
lm(formula = PIB ~ IED + EMPLEO, data = datos)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.8806 -0.6313 -0.2637  0.4384  5.3139 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)  
(Intercept) -2.717e+01  1.174e+01  -2.314   0.0288 *
IED          3.018e-05  1.738e-04   0.174   0.8635  
EMPLEO       4.794e-01  1.772e-01   2.705   0.0119 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.276 on 26 degrees of freedom
Multiple R-squared:  0.2401,    Adjusted R-squared:  0.1816 
F-statistic: 4.107 on 2 and 26 DF,  p-value: 0.02818

Analisis

Como se observa en la tabla solo el empleo tiene un efecto estadísticamente significativo

sobre el PIB, además, el R(cuadrado) es de= 0.2957: Aproximadamente el 29.6% de la

variabilidad en el PIB se explica por el modelo.

El F-statistic = 5.458, p-value = 0.01049, en este sentido el modelo general es

significativo, es decir, al menos una variable tiene un efecto significativo sobre el

PIB.

El empleo es una variable significativa y positiva, es decir, ante un aumento del 1% en

el empleo, el PIB aumenta en 2,02%. La IED no es significativa, por lo que no hay

evidencia estadística suficiente para decir que tiene un efecto sobre el PIB en este

modelo.Finalmente el ajuste del modelo es moderado a bajo, por lo que puede haber otras

variables relevantes que no están incluidas.

Predicción

Es decir, va a predecir que cual es PIB con EMPLEO

Crear un nuevo conjunto de datos con EMPLEO

nuevo_dato <- data.frame(IED = 10, EMPLEO = 50)

Usar el modelo para predecir el PIB en estas variables

predicciones <- predict(modelo, nuevo_dato)

Mostrar predicciones

data.frame(nuevo_dato, predicciones)
  IED EMPLEO predicciones
1  10     50    -3.199484

Ejemplo 2.2: Modelo de regresión lineal multivariado

(más complejo): PIB ~ IED,EMPLEO,inversion_alta

modelo2 <- lm(PIB ~ IED+EMPLEO, data = datos)
summary(modelo2)

Call:
lm(formula = PIB ~ IED + EMPLEO, data = datos)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.8806 -0.6313 -0.2637  0.4384  5.3139 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)  
(Intercept) -2.717e+01  1.174e+01  -2.314   0.0288 *
IED          3.018e-05  1.738e-04   0.174   0.8635  
EMPLEO       4.794e-01  1.772e-01   2.705   0.0119 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.276 on 26 degrees of freedom
Multiple R-squared:  0.2401,    Adjusted R-squared:  0.1816 
F-statistic: 4.107 on 2 and 26 DF,  p-value: 0.02818

Calcular el VIF

library(car)
Cargando paquete requerido: carData

Adjuntando el paquete: 'car'
The following object is masked from 'package:dplyr':

    recode
vif_values <- vif(modelo2); vif_values
     IED   EMPLEO 
1.175868 1.175868 

Multicolinealidad: mayor a 5

En el presente estudio no exite multicolinealidad debido a que es menor a 5, en este caso es:1.17

Crear un nuevo conjunto de datos con IED

nuevo_dato2<- data.frame(IED = 20, EMPLEO = 100)

Usar el modelo para predecir el ingreso en estas condiciones

predicciones2 <- predict(modelo2, nuevo_dato2)

Mostrar predicciones

data.frame(nuevo_dato2, predicciones2)
  IED EMPLEO predicciones2
1  20    100      20.77115