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
Para construir un modelo de regresión lineal se requiere disponer de datos. Se necesita una variable independiente llamada x y una variable dependiente llamada y.
Se cargan las librerías necesarias
library(ggplot2) # Operaciones con datos
## Warning: package 'ggplot2' was built under R version 4.0.5
library(dplyr) # Gráficos
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(knitr) # TAblas amigables
library (corrplot) # Para gráficos de correlaciones
## corrplot 0.89 loaded
library(PerformanceAnalytics) # Para gráficos de correlaciones
## Warning: package 'PerformanceAnalytics' was built under R version 4.0.5
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.0.5
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.0.5
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
library(mosaic) # Para distribución normal
## Warning: package 'mosaic' was built under R version 4.0.5
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## The 'mosaic' package masks several functions from core packages in order to add
## additional features. The original behavior of these functions should not be affected by this.
##
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
##
## mean
## The following objects are masked from 'package:dplyr':
##
## count, do, tally
## The following object is masked from 'package:ggplot2':
##
## stat
## The following objects are masked from 'package:stats':
##
## binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
## quantile, sd, t.test, var
## The following objects are masked from 'package:base':
##
## max, mean, min, prod, range, sample, sum
Ejemplo:
Caso de pizzas cercanas a instituciones educativas. A mayor cantidad de alumnos cerca de un restaurante de pizzas posiblemente las ventas aumentan.
El ejemplo identifica a x como la cantidad de estudiante de una escuela que están cerca de un restaurante pizzas y y el valor de las ventas registradas.
La variable datos significan las ventas registradas por la cantidad de número de estudiantes cerca del restaurante. Los datos que se presentan son valores en miles de estudiantes y ventas en miles. Fuente del ejercicio de (Anderson, Sweeney, and Williams 2008).
Son 10 observaciones.
n <- 10
i <- 1:n
x <- c(2,6,8,8,12,16,20,20,22,26)
y <- c(58,105,88,118,117,137,157,169,149,202)
datos <- data.frame(i, x,y)
datos
## i x y
## 1 1 2 58
## 2 2 6 105
## 3 3 8 88
## 4 4 8 118
## 5 5 12 117
## 6 6 16 137
## 7 7 20 157
## 8 8 20 169
## 9 9 22 149
## 10 10 26 202
Se visualiza la relación de los datos mediante un diagrama de dispersión, la pregunta es ¿se observa una relación lineal entre las variables x y y, es decir entre la cantidad de estudiantes que están cerca del restaurante y las ventas?, es posible aplicar un modelo de regresión lineal simple. Las respuestas a estas preguntas es que SI.
La variable independiente es x la cantidad de estudiantes y
La variable dependiente es y las ventas de pizzas.
ggplot(data = datos, aes(x=x, y=y)) +
geom_point(colour='blue') +
xlab("Estudiantes") +
ylab("Ventas") +
ggtitle("Dispersión sobre datos")
La utilidad principal de los análisis correlacionales es saber cómo se puede comportar un concepto o una variable al conocer el comportamiento de otras variables vinculadas, por ejemplo: a mayor estudio mejor rendimiento; a mayor cantidad de sol mayor temperatura de ambiente; a mayor frecuencia de actividad social mayor porcentaje de contagios, entre muchos otros. (Hernández Sampieri, Fernández Collado, and Baptista Lucio 2014).
La importancia de la correlación es conocer el grado de relación entre variables y ayuda a las técnicas de predicción, es decir, intentar predecir el valor aproximado que tendrá un grupo de individuos o casos en una variable, a partir del valor que poseen en las variables relacionadas (Hernández Sampieri, Fernández Collado, and Baptista Lucio 2014).
La correlacion puede ser positiva o negativa de entre −1 a 1 y significa que el coeficiente r de Pearson puede variar de −1.00 a +1.00, donde:
−1.00 = correlación negativa perfecta. (“A mayor X, menor Y,” de manera proporcional. Es decir, cada vez que X aumenta una unidad, Y disminuye siempre una cantidad constante). Esto también se aplica “a menor X, mayor Y.”
−0.90 = Correlación negativa muy fuerte.
−0.70 = Correlación negativa considerable.
−0.50= Correlación negativa media.
−0.25 = Correlación negativa débil.
−0.10= Correlación neg ativa muy débil.
0.00 = No existe correlación alguna entre las variables.
+0.10 = Correlación positiva muy débil.
+0.25 = Correlación positiva débil.
+0.50= Correlación positiva media.
+0.75 = Correlación positiva considerable.
+0.90 = Correlación positiva muy fuerte.
+1.00 = Correlación positiva perfecta (“A mayor X, mayor Y” o “a menor X, menor Y,” de manera proporcional. Cada vez que X aumenta, Y aumenta siempre una cantidad constante).
El signo indica la dirección de la correlación (positiva o negativa); y el valor numérico, la magnitud de la correlación (Hernández Sampieri, Fernández Collado, and Baptista Lucio 2014).
Por otra parte (Walpole, Myers, and Myers 2012), menciona que el análisis de correlación intenta medir la intensidad de tales relaciones entre dos variables por medio de un solo número denominado coeficiente de correlación.
Para determinar el coeficiente de correlación de Pearson de una muestra se utiliza la siguiente fórmula:
r=∑ni=1(xi−ˉx)⋅(yi−ˉy)√∑ni=1(xi−ˉx)2⋅∑ni=1(yi−ˉy)2
El método de Pearson, no es el único método para identificar un correlación lineal, el coeficiente de Pearson se utiliza cuando se deduce que los datos tiene un comportamiento de normalidad (se comportan bajo una distribución normal), principalmente. Se presentan algunas de ellas que son alternativas dependiendo del comportamiento de los datos en cuanto a normalidad, cantidad, outliers (datos atípicos), homogéeneidad, entre otros.
Existen otras alternativa tales como correlación coeficiente de Spearman que se emplea como alternativa cuando los valores son ordinales, o bien, cuando los valores son continuos pero no satisfacen la condición de normalidad;
rs=1−6∑d2in(n2−1),
Siendo di la distancia entre los rangos de cada observación (xi−yi) y n el número de observaciones.
Trabaja con rangos, por lo que requiere que las variables cuya relación se quiere estudiar sean ordinales o que se puedan transformar en rangos. Es otra alternativa al Coeficiente de correlación de Pearson cuando no se cumple la condición de normalidad. Parece ser más aconsejable que el coeficiente de Spearman cuando el número de observaciones es pequeño o los valores se acumulan en una región por lo que el número de ligaduras al generar los rangos es alto (Amat Rodrigo 2016).
τ=C−D12n(n−1),
Siendo la C el número de pares concordantes, aquellos en los que el rango de la segunda variable es mayor que el rango de la primera variable. D el número de pares discordantes, cuando el rango de la segunda es igual o menor que el rango de la primera variable.
Tau T como coeficiente, representa una probabilidad; es decir, es la diferencia entre la probabilidad de que las dos variables estén en el mismo orden (ordinalidad) en los datos observados versus la probabilidad de que las dos variables estén en diferentes órdenes (Amat Rodrigo 2016).
El coeficiente de correlación de Pearson resulta efectivo en ámbitos muy diversos. Sin embargo, tiene la desventaja de no ser robusto frente a outliers a pesar de que se cumpla la condición de normalidad (Amat Rodrigo 2016).
Si dos variables están altamente correlacionadas excepto para una observación en la que los valores son muy dispares atípicos, entonces la correlación existente quedará expuesta. Una forma de evitarlo es recurrir al coeficiente de Jackknife correlation que consiste en calcular todos los posibles coeficientes de correlación entre dos variables si se excluye cada vez una de las observaciones. El promedio de todas las Jackknife correlations calculadas atenuará en cierta medida el efecto del outlier (Amat Rodrigo 2016).
ˉθ(A,B)=Promedio Jackknife correlation (A,B)=1n⋅n∑i=1⋅ˆri
Donde n es el número de observaciones y ˆri es el coeficiente de correlación de Pearson estimado entre las variables A y B, habiendo excluido la observación i
Para estos ejercicios se antepone el hecho de que los datos tienen normalidad sin atípicos por lo que se utilizará e interpretará sólamente el coeficiente de correlación de Pearson.
Si se tuviera que determinar manualmente el coeficiente de correlación de Pearson r con los datos sería:
Con cbind() se agregan columnas a un data.frame(), con rbind() se agregan reglones a un data.frame() y con apply() se calculan los totales por cada columna de acuerdo los parámetros que se le indique.
tabla <- datos
tabla <- cbind(datos, datos$x-mean(datos$x), datos$y-mean(datos$y), (datos$x-mean(datos$x)) * (datos$y-mean(datos$y)))
tabla <- cbind(tabla, (datos$x - mean(datos$x))^2, (datos$y - mean(datos$y))^2)
#tabla
names(tabla) <- c('i', 'x', 'y','(x-mx)', '(y-my)', '(xi-mx)*(y-my)', '(xi-mx)^2', '(yi-my)^2')
sumas <- apply(X = tabla, 2, FUN = sum)
tabla <- rbind(tabla, sumas)
tabla[nrow(tabla), 1] <- '*'
kable(tabla, caption = paste("Coeficiente de Correlación", "media de x:",mean(datos$x), "media de y", mean(datos$y)))
i | x | y | (x-mx) | (y-my) | (xi-mx)*(y-my) | (xi-mx)^2 | (yi-my)^2 |
---|---|---|---|---|---|---|---|
1 | 2 | 58 | -12 | -72 | 864 | 144 | 5184 |
2 | 6 | 105 | -8 | -25 | 200 | 64 | 625 |
3 | 8 | 88 | -6 | -42 | 252 | 36 | 1764 |
4 | 8 | 118 | -6 | -12 | 72 | 36 | 144 |
5 | 12 | 117 | -2 | -13 | 26 | 4 | 169 |
6 | 16 | 137 | 2 | 7 | 14 | 4 | 49 |
7 | 20 | 157 | 6 | 27 | 162 | 36 | 729 |
8 | 20 | 169 | 6 | 39 | 234 | 36 | 1521 |
9 | 22 | 149 | 8 | 19 | 152 | 64 | 361 |
10 | 26 | 202 | 12 | 72 | 864 | 144 | 5184 |
* | 140 | 1300 | 0 | 0 | 2840 | 568 | 15730 |
r=∑ni=1(xi−ˉx)⋅(yi−ˉy)√∑ni=1(xi−ˉx)2⋅∑ni=1(yi−ˉy)2=2840√568×15730=28402989.087=0.950123
numerador <- sum((datos$x - mean(datos$x)) * (datos$y - mean(datos$y)))
numerador
## [1] 2840
denominador <- sqrt(sum((datos$x - mean(datos$x))^2) * sum((datos$y - mean(datos$y))^2))
denominador
## [1] 2989.087
correla <- numerador / denominador
correla
## [1] 0.950123
En lenguaje de programación R, existe la función cor() que devuelve el valor de la correlación entre dos variables cuantitativas y debe salir el mismo valor.
correla <- cor(datos$x, datos$y)
correla
## [1] 0.950123
# o
pairs(x = datos[,2:3])
Puede verse mas amigable con la función chart.Correlation de la librería PerformanceAnalytics que previamente se cargó.
chart.Correlation(R = datos[,2:3], histogram = F, pch = 19)
La imagen anterior visualiza el tipo de relación lineal, el valor del coeficiente de correlación de Pearson y con los asteriscos ‘***’ indica si la variable independiente es estadísticamente significativa con respecto a la variable dependiente.
Se entiende que es una correlación lineal positiva muy fuerte
Siendo r el valor del coeficiente de correlación. La correlación de Pearson funciona bien con variables cuantitativas que tienen una distribución normal .
La idea básica del análisis de correlación es identificar la asociación entre dos variables; por lo general, se puede describir la relación graficando o elaborando un diagrama de dispersión entre x y y.
La regresión lineal simple implica aplicar una ecuación matemática de mínimos cuadrados que permite pronosticar o predecir el valor de una variable con base en el valor de otra; este procedimiento se llama análisis de regresión.
El análisis de regresión es un método para examinar una relación lineal entre dos variables; se utiliza el concepto de correlación r, sin embargo, la regresión proporciona mucho más información, además de permitir estimaciones o predicciones de la relación lineal con la ecuación de mínimos cuadrados (Lind, Marchal, and Wathen 2015).
Para estimar la recta de regresión se utiliza la fórmula de mínimos cuadrados. A la variable dependiente o respuesta se le identifica como Y y a la variable predictora o independiente como X
ˆy=ˆβ0+ˆβ1x
ó
Y=a+bx
en donde:
ˆy o Y es igual al valor de la predicción, ˆβ0 o a es el coeficiente de la intersección de recta estimada con el eje de las y, ˆβ1 o b es el valor de la pendiente y x es cada valor de la variable independiente.
¿cómo determinar los coeficientes a y b?
b=ˆβ1=∑ni=1(xi−¯x)(yi−¯y)∑ni=1(xi−¯x)2=SySx×r
Se requieren las medias de las variables x y y, es decir ˉx y ˉy , y desarrollar la fórmula.
Entonces b se obtiene con la sumatoria de la diferencia de cada valor de x menos su media ˉxmultiplicada por la diferencia de cada valor de y menos su media ˉy todo el resultado dividido entre la sumatoria del cuadrado de la diferencia de cada valor de x menos su media ˉx, y con ello se obtiene b o ^b1
De manera alternativa el coeficiente o la pendiente b se puede determinar multiplicando el valor del coeficiente de correlación determinado previamente multiplicado por la división de la desviación estándar Sy de la variable dependiente y entre la desviación estándar Sx de la variable independiente x, es decir: r×SySx
y
a=ˆβ0=¯y−ˆβ1¯x
Determinando los coeficientes de a y b aplicando la fórmula:
b=ˆβ1=∑ni=1(xi−¯x)(yi−¯y)∑ni=1(xi−¯x)2
b <- sum((datos$x - mean(datos$x)) * (datos$y - mean(datos$y))) / sum((datos$x - mean(datos$x))^2)
b
## [1] 5
a = mean(datos$y) - b * mean(x)
a
## [1] 60
Determinando los coeficientes de a y b aplicando las fórmula determinando b usando el coeficiente de correlación
b = correla * sd(datos$y) / sd(datos$x)
b
## [1] 5
a = mean(datos$y) - b * mean(x)
a
## [1] 60
En ambos casos se debe generar los mismos valores para los coeficientes aa y bb o bb y aa respectivamente.
Toda vez que se tienen los coeficientes a y b ya se puede determinar la recta de regresión para cada valor de x.
Por ejemplo: para un valor de xi=1 el valor de Y=a+bx1=65 para un valor de un valor de xi=2 el valor de Y=a+bx2=70 y para un valor de un valor de xi=50 el valor de Y=a+bx50=310 y así sucesivamente.
Aquí los valores predecidos de y por cada valor de la variable independiente x.
A estos valores se les llama también valores de la recta o valores ajustados.
Se presentan los valores de predicción para cada valor de x
datos$x
## [1] 2 6 8 8 12 16 20 20 22 26
Y = a + b*(datos$x)
Y
## [1] 70 90 100 100 120 140 160 160 170 190
Con estos valores ya se puede dibujar la recta en el diagrama de dispersión.
ggplot(data = datos, aes(x=x, y=y)) +
geom_point(colour='blue') +
geom_line(aes(x = x, y = Y), color = "red") +
xlab("Estudiantes") +
ylab("Ventas") +
ggtitle("Linea de tendencia sobre datos")
Determinando el modelo de regresión lineal simple con la función lm().
Un modelo de regresión lineal es la aplicación de la fórmula a partir de la historia de los datos, en don de participan las variables independientes x y la variable dependiente y. La función lm() del paquete base de R, ya genera los estadísticos necesarios para interpretar una regresión lineal simple.
Hay por lo menos dos argumentos necesarios que se incorporan en la función lm(): el origen de los datos o sea data = datos y la fórmula formula = y~x, que indica que la variable y es regresiva en función de la variable x o y depende de x.
El resultado de la función lm() se almacena en una variable llamada modelo (puede tener cualquier nombre válido de R).
En la variable modelo, se encuentran los estadísticos necesarios para su interpretación. Se utiliza la función summary() alojado en la variable sm para mostrarlos.
modelo <- lm(data = datos, formula = y~x)
sm <- summary(modelo)
sm
##
## Call:
## lm(formula = y ~ x, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -21.00 -9.75 -3.00 11.25 18.00
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 60.0000 9.2260 6.503 0.000187 ***
## x 5.0000 0.5803 8.617 2.55e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.83 on 8 degrees of freedom
## Multiple R-squared: 0.9027, Adjusted R-squared: 0.8906
## F-statistic: 74.25 on 1 and 8 DF, p-value: 2.549e-05
A este momento hay que interpretar dos cosas:
Los valores de los coeficientes a y b a partir de la construcción del modelo. El valor de a=60 que es la intersección del inicio de la linea recta o de tendencia en el eje Y, y b el valor de la pendiente que para este caso es a=5 que significa que por cada valor de x el valor de predicción Y aumenta en cinco unidades.
modelo$coefficients
## (Intercept) x
## 60 5
a <- modelo$coefficients[1]
b <- modelo$coefficients[2]
Y también se pueden obtener los valores ajustados de la linea por cada valor de x de los datos que coinciden con los valores de Y que se calcularon de acuerdo a la fórmula Y=a+bxi
modelo$fitted.values
## 1 2 3 4 5 6 7 8 9 10
## 70 90 100 100 120 140 160 160 170 190
El diagrama de dispersión también puede verse usando modelo$fitted.values en el ggplot().
ggplot(data = datos, aes(x=x, y=y)) +
geom_point(colour='blue') +
geom_line(aes(x = x, y = modelo$fitted.values), color = "red") +
xlab("Estudiantes") +
ylab("Ventas") +
ggtitle("Linea de tendencia sobre datos")
Los residuales con respecto a x que se generaron con la tabla construida arriba en donde se obtuvieron valores de x−¯xi se obtienen usando la expresión modelo$residuals
modelo$residuals
## 1 2 3 4 5 6 7 8 9 10
## -12 15 -12 18 -3 -3 -3 9 -21 12
Coeficiente de determinación R2:
El coeficiente de determinación R2, describe la proporción de variabilidad observada en la variable dependiente Y explicada por el modelo y relativa a la variabilidad total. Su valor está acotado entre 0 y 1. (Amat Rodrigo 2016). Es decir, el valor numérico de R2 es que tanto impacta o representa la variable x al valor de predicción Y, por supuesto entre más alto mejor la representatividad y variabilidad total de Y.
∑(^yi−yi)2∑(yi−¯y)2
Se construye una tabla2 para reflejar estas sumatorias siendo Y el valor de ˆy o el valor de la predicciones.
tabla2 <- datos[,c(2,3)]
tabla2 <- cbind(tabla2, Y)
tabla2 <- cbind(tabla2, Y - datos$y)
tabla2 <- cbind(tabla2, (Y - datos$y)^2)
tabla2 <- cbind(tabla2, datos$y - mean(datos$y))
tabla2 <- cbind(tabla2, (datos$y-mean(datos$y))^2)
names(tabla2) <- c('x', 'y', 'Y', '(Y-y)', '(Y-y)^2', '(y-media(y))', '(y-media(y))^2')
sumas <- apply(tabla2, 2, sum)
tabla2 <- rbind(tabla2, sumas)
kable (tabla2, caption = "Sumatorias para determinar coeficiente de determinación R-Square")
x | y | Y | (Y-y) | (Y-y)^2 | (y-media(y)) | (y-media(y))^2 |
---|---|---|---|---|---|---|
2 | 58 | 70 | 12 | 144 | -72 | 5184 |
6 | 105 | 90 | -15 | 225 | -25 | 625 |
8 | 88 | 100 | 12 | 144 | -42 | 1764 |
8 | 118 | 100 | -18 | 324 | -12 | 144 |
12 | 117 | 120 | 3 | 9 | -13 | 169 |
16 | 137 | 140 | 3 | 9 | 7 | 49 |
20 | 157 | 160 | 3 | 9 | 27 | 729 |
20 | 169 | 160 | -9 | 81 | 39 | 1521 |
22 | 149 | 170 | 21 | 441 | 19 | 361 |
26 | 202 | 190 | -12 | 144 | 72 | 5184 |
140 | 1300 | 1300 | 0 | 1530 | 0 | 15730 |
Se determinan paso a paso el numerador y el denominador conforme a la fórmula.
numerador <- sum((Y - datos$y)^2)
denominador <- sum((datos$y - mean(datos$y))^2)
numerador
## [1] 1530
denominador
## [1] 15730
r.cuad <- numerador / denominador
r.cuad
## [1] 0.09726637
El coeficiente de determinación r2 o R-squared se puede extraer con el modelo mediante sm$r.squared que debe ser el mismo valor que se genera conforme a la fórmula
sm$r.squared
## [1] 0.9027336
El valor de coeficiente de determinación o R-squared r2 es igual al cuadrado del coeficiente de correlación de Pearson r entre x e y, entonces hay que asociar es el valor de la correlación lineal
r= 0.950123.
correla^2
## [1] 0.9027336
El valor de la correlación de Pearson entonces es la raiz cuadrada que del coeficiente de determinación o r2 R-squared, también debe ser el mismo valor que el coeficiente de correlación de Pearson calculado arriba.
sqrt(sm$r.squared)
## [1] 0.950123
Finalmente para que sirve obtener la ecuación de regresión lineal simple, la respuesta es que se pueden predecir o pronosticar valores de Y a partir de la ecuación o se puede hacer mediante la función predict() directmente.
Por ejemplo, cual sería la predicción para un numero de estudiantes de 28 mil, 36 mil, 57 mil
Y=a+bxi
Y=a+b⋅28;Y=a+b⋅36;Y=a+b⋅57;
estudiantes <- c(28, 36, 57)
predict(object = modelo, newdata = data.frame(x=estudiantes))
## 1 2 3
## 200 240 345
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 rr 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 estalturas 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(formula = datos$peso~datos$estatura)
sm <- summary(modelo)
sm
##
## Call:
## lm(formula = datos$peso ~ datos$estatura)
##
## 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 ***
## datos$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
Coeficinte 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+bxi
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))
## Warning: 'newdata' had 3 rows but variables found have 15 rows
## 1 2 3 4 5 6 7 8
## 112.5833 116.0333 119.4833 122.9333 126.3833 129.8333 133.2833 136.7333
## 9 10 11 12 13 14 15
## 140.1833 143.6333 147.0833 150.5333 153.9833 157.4333 160.8833
# predict(object = modelo, newdata = data.frame(estatura = estaturas))
Interpretación
¿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. Apartir de lo aprendido en este caso, que fueron bastantes cosas las que se vieron, investigaron y los usos que se les puede dar a los conocimientos en una vida, sino bien contifiana, dentro de un entorno de trabajo donde se manejen los datos sería sumamente primordial el aprender de ello. Todos los temas dentro de esta asignatura nos abren muchos más caminos dentro de lo que la probabilidad y estadística se refiere, pues hemos vitos que los resultados de nuestros números y diagnosticos de pareja dependen de muchisimos otros datos más.
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.