Determinar un modelo de regresión lineal simple para estimar y predecir resultados a partir del modelo.
Desarrollar el modelo de regresión lineal paso a paso identificar los coeficientes de ecuación por el método de mínimos cuadrados.
Con los coeficientes encontrados se van a realizar predicciones con nuevos valores de la variable depeiente \(x\).
library(ggplot2) # Operaciones con datos
library(dplyr) # Gráficos
library(knitr) # TAblas amigables
library (corrplot) # Para gráficos de correlaciones
library(PerformanceAnalytics) # Para gráficos de correlaciones
library(mosaic) # Para distribución normal
Con lo anteriormente descrito, se construyen modelos de regresión lineal simple para cada conjunto de datos en donde se busca encontrar e interpretar aspectos siguientes:
Generar o importar los datos y contextualizar los datos.
Identificar variables independiente y dependiente es decir, x e y.
Visualizar el modelo de dispersión y observar la relación lineal.
Determinar el coeficiente de correlación de Pearson r e interpretar su significado.
Construir el modelo,
Determinar los coeficiente a y b e interpretar su significado.
Determinar la recta de regresión o tendencia e interpretar su significado
Identificar con summary(modelo) el valor del coeficiente de determinación R-Square e interpretar su significado
Predecir con valore nuevos
Establecer conclusiones e interpretaciones finales de cada ejercicio.
Es un conjunto de datos provistos por los paquetes base de R, se encuentra varios de ellos con la función data() y se utilizará el de nombre women().
Los datos son promedios pesos y estaturas de mujeres de Estados Unidos.
datos <- women
names(datos) <- c('estatura', 'peso')
datos
## estatura peso
## 1 58 115
## 2 59 117
## 3 60 120
## 4 61 123
## 5 62 126
## 6 63 129
## 7 64 132
## 8 65 135
## 9 66 139
## 10 67 142
## 11 68 146
## 12 69 150
## 13 70 154
## 14 71 159
## 15 72 164
kable(x = datos, caption = "Promedios de estaturas y pesos de mujeres Americanas")
| estatura | peso |
|---|---|
| 58 | 115 |
| 59 | 117 |
| 60 | 120 |
| 61 | 123 |
| 62 | 126 |
| 63 | 129 |
| 64 | 132 |
| 65 | 135 |
| 66 | 139 |
| 67 | 142 |
| 68 | 146 |
| 69 | 150 |
| 70 | 154 |
| 71 | 159 |
| 72 | 164 |
La variable idependiente será la estatura \(height\).
La variable dependiente será el peso \(weight\).
ggplot(data = datos, aes(x=estatura, y=peso)) +
geom_point(colour='blue') +
xlab("Estaturas") +
ylab("Pesos") +
ggtitle("Dispersión de los promedios de alturas y pesos de mujeres Americanas")
Se observa una relación absolutamente lineal, se visualiza el histograma para asegurarse de que las variables se comportan bajo una distribución normal además de no tener datos atípicos por lo que determinar el coeficiente de Pearson es adecuado.
correla <- cor(datos$estatura, datos$peso)
correla
## [1] 0.9954948
chart.Correlation(R = datos, histogram = T, pch = 19)
Se observa una correlación positiva muy fuerte casi perfecta en los datos.
Se construye el modelo con la fórmula peso en función de la estatura de acuerdo a los datos.
modelo <- lm(data = datos, formula = peso~estatura)
sm <- summary(modelo)
sm
##
## Call:
## lm(formula = peso ~ estatura, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.7333 -1.1333 -0.3833 0.7417 3.1167
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -87.51667 5.93694 -14.74 1.71e-09 ***
## estatura 3.45000 0.09114 37.85 1.09e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.525 on 13 degrees of freedom
## Multiple R-squared: 0.991, Adjusted R-squared: 0.9903
## F-statistic: 1433 on 1 and 13 DF, p-value: 1.091e-14
Coeficiente del modelo de regresión lineal simple \(a\) y \(b\)
a <- modelo$coefficients[1]
b <- modelo$coefficients[2]
La ecuación de mínimos cuadrados es de la siguiente manera:
\[Y = a + bx_i\]
ggplot(data = datos, aes(x=estatura, y=peso)) +
geom_point(colour='blue') +
geom_line(aes(x = estatura, y = modelo$fitted.values), color = "red") +
xlab("Estaturas") +
ylab("Pesos") +
ggtitle("Linea de tendencia sobre datos")
¿Cuál debiera ser el peso de una persona que mide aproximadamente 60 70 u 80 pulgadas?
nuevas.estaturas <- c(60, 70, 80)
Y = a + b * nuevas.estaturas
Y
## [1] 119.4833 153.9833 188.4833
o se puede predecir mediante la función predict()
predict(object = modelo, newdata = data.frame(estatura = nuevas.estaturas))
## 1 2 3
## 119.4833 153.9833 188.4833
# predict(object = modelo, newdata = data.frame(estatura = estaturas))
¿Cuál es el valor de R_Squared y que significa?. 0.991 significa que el peso de las personas es representado en un 99.1% por la estatura de las mismas.
Amat Rodrigo, Joaquín. 2016. “Correlación Lineal y Regresión Lineal Simple.” https://www.cienciadedatos.net/documentos/24_correlacion_y_regresion_lineal. Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008. Estadística Para Administración y Economía. 10th ed. Australia Brasil Corea España Estados Unidos Japón México Reino Unido Singapur: Cengage Learning,. Hernández Sampieri, Roberto, Carlos Fernández Collado, and María del Pilar Baptista Lucio. 2014. Metodología de La Investigación. Sexta. Lind, Douglas, William Marchal, and Samuel Wathen. 2015. Estadística Aplicada a Los Negocios y La Economía. Decimo Sexta. México, D.F.: McGraw-Hill. Walpole, Ronald E., Raymond H. Myers, and Sharon L. Myers. 2012. Probabilidad y Estadística Para Ingeniería y Ciencias. Novena Edición. México: Pearson.