Un modelo de regresión lineal múltiple es un modelo estadístico versátil para evaluar las relaciones entre un destino continuo y los predictores. Los predictores pueden ser campos continuos, categóricos o derivados, de modo que las relaciones no lineales también estén soportadas. Los modelos de regresión lineal múltiple pueden emplearse para predecir el valor de la variable dependiente que tienen los predictores sobre ella. La formula para estos modelos lineales son: \[ y = \beta_0 + \beta_1 x + ... +\beta_n x +\epsilon \]
En este caso estamos relizando una investigacion sobre el PIB y cuales son su principales causas; utilizamos una base de datos proporcionada y establecida, en donde elegimos a nuestro criterio las variables que podian ser las indicadas para expliacar los valores del PIB.
En esta investigacion estamos trabajando con una base de datos, principalmente utilizamos el modelo de regresion lineal para determinar asi el porcentaje de significancia para el PIB; utilizando las bases del modelo hacemos un analisis por medio de graficos y medidas estadisticas descriptivas.
Para esta investigacion fue proporcionada una base de datos, contiene 48 variables y mas de 1000 objetos con sus años correspondientes.
BaseTaller_1 <- read_excel("BaseTaller_1.xlsx")
## Warning: Expecting numeric in A1035 / R1035C1: got 'Data from database: World
## Development Indicators'
## Warning: Expecting numeric in A1036 / R1036C1: got 'Last Updated: 09/16/2022'
Para poder sacar nuestro modelo de regresion lineal, realizamos una limpieza a nuestra base de datos, con los objetos del año correspondiente y nuestras 5 variables de interes, anexandole la de el nombre del objeto (en este caso pais) y su respectiva clasificación que fue: 0 para emergente y 1 para desarrollado.
Base1 <- BaseTaller_1[ ,-c(46,47)]
Base2 <- na.omit(Base1)
Base<- filter(Base2, Time == "2012")
Base3<-Base[,c(3,11,14,36,39,45,46)]
nombres<-c("pais","agricultura","industria","medio.t","independiente",
"salario.t", "clasificacion")
colnames(Base3)<-nombres
Empezamos haciendo nuestro modelo de regresion con la funcion lm basandonos en la clasificacion y anexandole nuestras variables de interes que son trabajadores de:
Estos datos guardados en nuestra ultima base la cual nombramos Base3. Al modelo lo llamamos modelo1 en el cual esta guardado lo realizado en la funcion lm. La función lm de R se usa para ajustar un modelo de regresión lineal
modelo1<-lm(clasificacion ~agricultura+industria+medio.t+
independiente+salario.t, Base3)
modelo1
##
## Call:
## lm(formula = clasificacion ~ agricultura + industria + medio.t +
## independiente + salario.t, data = Base3)
##
## Coefficients:
## (Intercept) agricultura industria medio.t independiente
## 1.169e+03 8.573e-03 -1.546e-02 2.551e-02 -1.171e+01
## salario.t
## -1.169e+01
ahora usamos la funcion summary en el modelo creado, con la cual podemos obtener informacion de nuestras variables de manera y individual y aun mas importante es el resumen de nuestro modelo pues a partir de él, podemos consultar algo muy importante que denominamos los residuos que son:
summary(modelo1)
##
## Call:
## lm(formula = clasificacion ~ agricultura + industria + medio.t +
## independiente + salario.t, data = Base3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.45542 -0.19542 0.00907 0.13258 1.07239
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.169e+03 1.623e+03 0.720 0.475
## agricultura 8.573e-03 8.840e-03 0.970 0.338
## industria -1.546e-02 9.225e-03 -1.676 0.101
## medio.t 2.551e-02 4.709e-03 5.417 2.72e-06 ***
## independiente -1.171e+01 1.623e+01 -0.721 0.475
## salario.t -1.169e+01 1.623e+01 -0.720 0.475
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3002 on 42 degrees of freedom
## Multiple R-squared: 0.6637, Adjusted R-squared: 0.6236
## F-statistic: 16.57 on 5 and 42 DF, p-value: 5.101e-09
Aqui podemos darnos cuenta que nuestro modelo explica el 66,37% del PIB con un p-value del 5.101e-09, teniendo como unica variable con significancia el trabajo a medio tiempo (en este caso nuestra variable para ello se denomino medio.t), teniendo cuatro variables sin significancia en este caso, que segun las investigaciones realizadas a cada una de ellas no afectan en el PIB por la siguiente razón:
Utilizamos 2 graficos de dispercion para poder realizar un analisis con base en ellos:
grafico1 <- ggplot(data = Base3, aes(agricultura, modelo1$residuals)) +
geom_point() + geom_smooth(color = "#000BF4") + geom_hline(yintercept = 0) +
theme_bw()
grafico2 <- ggplot(data = Base3, aes(industria, modelo1$residuals)) +
geom_point() + geom_smooth(color = "#000BF4") + geom_hline(yintercept = 0) +
theme_bw()
grafico3 <- ggplot(data = Base3, aes(medio.t, modelo1$residuals)) +
geom_point() + geom_smooth(color = "#000BF4") + geom_hline(yintercept = 0) +
theme_bw()
grafico4 <- ggplot(data = Base3, aes(independiente, modelo1$residuals)) +
geom_point() + geom_smooth(color = "#000BF4") + geom_hline(yintercept = 0) +
theme_bw()
grafico5 <- ggplot(data = Base3, aes(salario.t, modelo1$residuals)) +
geom_point() + geom_smooth(color = "#000BF4") + geom_hline(yintercept = 0) +
theme_bw()
grid.arrange(grafico1,grafico2,grafico3,grafico4,grafico5)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
Con este grafico podemos observar que los ingresos de los trabajadores a medio tiempo tiene un mayor impacto en el PIB, por que la variacion en la mayoria de los puntos ubicados cerca de la linea de tendencia oxilan cerca de cero y no tienen tantos puntos alejados de esta como las otras graficas, ya que los puntos de ellas no oxilan cerca de cero, por ende no oxilan cerca de la linea.
qqnorm(modelo1$residuals)
qqline(modelo1$residuals)
Con este grafico podemos analizar la función qqnorm la cual genera un gráfico Q-Q que compara los cuantiles de nuestros datos con los cuantiles teóricos de nuestra distribución normal estándar. La función qqline superpone una línea que nos ayuda a evaluar la relación lineal de las dos distribuciones. Esta línea, que por defecto cruza los puntos del primer y el tercer cuartil. Si los datos se alejan de esta línea, especialmente cerca del centro, nos sugeriría que nuestros datos no se distribuyen normalmente, lo cual es el caso de nuestra grafica ya que tenemos solo una variable con significancia, por lo tanto nuestros datos no se distribuyen normalmente.
Otra manera de analizar lo que ya veniamos hablando es con la siguiente tabla:
corrplot(cor(dplyr::select(Base3, agricultura, industria, medio.t,
independiente, salario.t)),
method = "number", tl.col = "black")
La cual nos dice lo mismo que los graficos pero de una manera un poco
mas numerica y con datos que visualmente son un poco mas faciles de
entender
Para entender los datos desde un punto de vista mas estadistico realizamos calculos con estadistica descriptiva, con cada una de las variables que seleccionamos
# agricultura
mean(Base3$agricultura)
## [1] 10.98417
mode(Base3$agricultura)
## [1] "numeric"
median(Base3$agricultura)
## [1] 6.115
sd(Base3$agricultura)
## [1] 10.84658
var(Base3$agricultura)
## [1] 117.6482
# industria
mean(Base3$industria)
## [1] 23.4525
mode(Base3$industria)
## [1] "numeric"
median(Base3$industria)
## [1] 21.76
var(Base3$industria)
## [1] 31.79498
sd(Base3$industria)
## [1] 5.638704
# medio.t
mean(Base3$medio.t)
## [1] 28.83604
mode(Base3$medio.t)
## [1] "numeric"
median(Base3$medio.t)
## [1] 27.58
var(Base3$medio.t)
## [1] 129.5642
sd(Base3$medio.t)
## [1] 11.38263
# independiente
mean(Base3$independiente)
## [1] 23.16062
mode(Base3$independiente)
## [1] "numeric"
median(Base3$independiente)
## [1] 17.065
var(Base3$independiente)
## [1] 215.6145
sd(Base3$independiente)
## [1] 14.68382
# salario.t
mean(Base3$salario.t)
## [1] 76.84021
mode(Base3$salario.t)
## [1] "numeric"
median(Base3$salario.t)
## [1] 82.935
var(Base3$salario.t)
## [1] 215.6169
sd(Base3$salario.t)
## [1] 14.6839
Gracias a los datos estadisticos obtenidos anteriormente podemos concluir que:
La agricultura, tiene la desviación estándar más alta, ya que es la variable con el rango de valores más amplio, como se puede observar en las graficas. Sin embargo, debido a que la variable Independente tiene la desviación estándar más pequeña, es la variable que presenta la menor cantidad de dispersión.
Si comparamos las medias, podemos ver que el tiempo parcial es el factor que mayor impacto tiene en el PIB, seguido por la industria y los factores salariales.
Los factores que tienen menores impactos en el PIB son el trabajo independiente y la agricultura.
En general, podemos decir que el empleo a tiempo parcial es el que mayor impacto tiene en el PIB, por ende es la variable que tiene significancia, cabe señalar que la influencia de cada variable se puede evaluar no solo por cuánto contribuye al PIB, sino también por qué tan relevante es para otras esferas económicas, sociales y políticas tanto en los paises desarrollados como en los emergentes.