MEXICO

Author

Daniela García

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

setwd(“C:\Users\Garciadaniel\Desktop\ARGENTINA”)

#Carga de base de datos

library(readxl)
data <- read_excel("Datos_Mexico.xlsx")
View(data)

Análisis de Data

#Visualización de primeras filas del dataset

head(data)
# A tibble: 6 × 4
    Año PIB_per_capita Inversion_extranjera_directa Gasto_publico_educacion
  <dbl>          <dbl>                        <dbl>                   <dbl>
1  2000          9582.                         2.48                    3.81
2  2001          9398.                         3.78                    4.03
3  2002          9242.                         2.49                    4.24
4  2003          9222.                         2.37                    4.83
5  2004          9421.                         3.07                    4.51
6  2005          9492.                         2.74                    4.63

#Comprobación de valores perdidos en las variables de interés

sum(is.na(data$PIB_per_capita))
[1] 0
sum(is.na(data$Inversion_extranjera_directa))
[1] 0
sum(is.na(data$Gasto_publico_educacion))
[1] 0

Análisis de Correlación

# Cáculo de correlación de Pearson entre PIB per cápita e Inversión Extranjera Directa

correlacion <- cor(data$PIB_per_capita, data$Inversion_extranjera_directa, use = "complete.obs")
cat("El coeficiente de correlación de Pearson entre PIB per cápita e Inversión Extranjera Directa es:", correlacion)
El coeficiente de correlación de Pearson entre PIB per cápita e Inversión Extranjera Directa es: -0.006654014

Este valor se encuentra muy cercano a cero, lo que indica que no existe una relación lineal significativa entre ambas variables en la muestra analizada.

library(ggplot2)

Gráfico de dispersión - PIB per cápita

ggplot(data, aes(x = Año, y = PIB_per_capita)) +
  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 = "PIB per cápita",
       x = "Años",
       y = "PIB per cápita - precios constantes") +
  theme_minimal()
`geom_smooth()` using formula = 'y ~ x'

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
datos_numericos <- select(data, PIB_per_capita, Inversion_extranjera_directa, Gasto_publico_educacion)

Matriz de correlaciones

matriz_cor <- cor(datos_numericos, use = "complete.obs")
print(matriz_cor)
                             PIB_per_capita Inversion_extranjera_directa
PIB_per_capita                  1.000000000                 -0.006654014
Inversion_extranjera_directa   -0.006654014                  1.000000000
Gasto_publico_educacion        -0.175931162                 -0.251276274
                             Gasto_publico_educacion
PIB_per_capita                            -0.1759312
Inversion_extranjera_directa              -0.2512763
Gasto_publico_educacion                    1.0000000

Función para cálculo de correlaciones y p-valores

cor_matriz_pval <- function(data) {
  n <- ncol(data)
  matriz_pval <- matrix(NA, n, n)
  rownames(matriz_pval) <- colnames(data)
  colnames(matriz_pval) <- colnames(data)
  
  for (i in 1:n) {
    for (j in 1:n) {
      matriz_pval[i, j] <- cor.test(data[[i]], data[[j]], use = "complete.obs")$p.value
    }
  }
  return(matriz_pval)
}

#Aplicación a las variables numéricas

p_values <- cor_matriz_pval(datos_numericos)

#Matriz de p-valores

print(p_values)
                             PIB_per_capita Inversion_extranjera_directa
PIB_per_capita                1.088022e-173                    0.9753829
Inversion_extranjera_directa   9.753829e-01                    0.0000000
Gasto_publico_educacion        4.108973e-01                    0.2362535
                             Gasto_publico_educacion
PIB_per_capita                             0.4108973
Inversion_extranjera_directa               0.2362535
Gasto_publico_educacion                    0.0000000

Matriz de correlaciones

#ggcorrplot

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

#corrplot

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

modelo <- lm(PIB_per_capita ~Inversion_extranjera_directa, data = data)
summary(modelo)

Call:
lm(formula = PIB_per_capita ~ Inversion_extranjera_directa, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-648.33 -302.18   40.44  294.01  578.19 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                  9730.905    349.736  27.824   <2e-16 ***
Inversion_extranjera_directa   -4.058    130.029  -0.031    0.975    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 365.3 on 22 degrees of freedom
Multiple R-squared:  4.428e-05, Adjusted R-squared:  -0.04541 
F-statistic: 0.0009741 on 1 and 22 DF,  p-value: 0.9754

Modelo de predicción

predicciones <- predict(modelo)
data.frame(predicciones)
   predicciones
1      9720.852
2      9715.581
3      9720.813
4      9721.279
5      9718.453
6      9719.776
7      9722.103
8      9719.485
9      9720.510
10     9722.452
11     9719.698
12     9723.015
13     9725.010
14     9715.335
15     9722.447
16     9718.780
17     9716.712
18     9719.619
19     9718.676
20     9721.586
21     9719.492
22     9719.987
23     9720.062
24     9724.052

Modelo de regresión lineal multivariado

modelo2 <- lm(PIB_per_capita ~Inversion_extranjera_directa+Gasto_publico_educacion, data = data)
summary(modelo2)

Call:
lm(formula = PIB_per_capita ~ Inversion_extranjera_directa + 
    Gasto_publico_educacion, data = data)

Residuals:
   Min     1Q Median     3Q    Max 
-581.0 -288.4   61.9  273.1  510.5 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                  10714.60    1202.61   8.909 1.41e-08 ***
Inversion_extranjera_directa   -33.11     135.17  -0.245    0.809    
Gasto_publico_educacion       -200.14     233.97  -0.855    0.402    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 367.5 on 21 degrees of freedom
Multiple R-squared:  0.03371,   Adjusted R-squared:  -0.05831 
F-statistic: 0.3663 on 2 and 21 DF,  p-value: 0.6976

Análisis: Los resultados indican que ninguna de las variables explicativas es estadísticamente significativa al 5% de nivel de confianza. El coeficiente asociado a la inversión extranjera directa fue de -33.11 (p = 0.809), mientras que el del gasto público en educación fue de -200.14 (p = 0.402). Esto sugiere que, dentro del marco del modelo especificado y la muestra analizada, no se evidencia una relación lineal significativa entre estas variables y el PIB per cápita.

La magnitud negativa de los coeficientes, aunque no significativa, podría estar reflejando la presencia de efectos rezagados, externalidades negativas no controladas o una posible mala asignación de recursos. Asimismo, la falta de significancia podría deberse a limitaciones del modelo, como la omisión de variables relevantes, bajo tamaño muestral o colinealidad entre los regresores.

Cálculo del VIF

Inversion_extranjera_directa Gasto_publico_educacion 1.067395 1.067395

Los valores de VIF cercanos a 1 indican que no existe multicolinealidad entre las variables independientes del modelo. Por tanto, no hay distorsión significativa en las estimaciones de los coeficientes debido a redundancia o dependencia lineal entre las variables explicativas.

Se utiliza el modelo para predecir el PIB per capita con las dos variables

predicciones2 <- predict(modelo2)
data.frame(predicciones2)
   predicciones2
1       9870.304
2       9782.737
3       9783.049
4       9668.864
5       9709.968
6       9696.364
7       9743.523
8       9724.956
9       9707.921
10      9655.068
11      9635.085
12      9668.726
13      9689.124
14      9685.221
15      9631.264
16      9604.790
17      9646.538
18      9742.396
19      9786.354
20      9773.957
21      9720.732
22      9775.020
23      9775.632
24      9808.182