Construir un modelo de regresión lineal simple para observar el nivel de representatividad de las variables y predecir resultados a nuevos valores.
library(ggplot2)
library(readr)
datos <- read.csv("https://raw.githubusercontent.com/rpizarrog/Industrias-4.0/main/datos/datos%20matemaicas%20ingles.csv")
datos
## matematicas ingles
## 1 90.0 95.0
## 2 80.0 90.0
## 3 70.0 74.0
## 4 95.0 95.0
## 5 90.0 92.0
## 6 78.0 96.0
## 7 80.0 96.0
## 8 90.0 95.0
## 9 80.0 85.0
## 10 80.0 80.0
## 11 70.0 70.0
## 12 85.0 80.0
## 13 90.0 88.0
## 14 78.0 80.0
## 15 90.0 90.0
## 16 75.0 70.0
## 17 95.0 90.0
## 18 98.0 95.0
## 19 90.0 89.0
## 20 80.5 90.5
## 21 70.5 78.0
## 22 95.5 96.0
## 23 90.5 93.0
## 24 78.5 80.0
## 25 80.5 85.0
## 26 90.5 95.5
## 27 80.5 86.0
## 28 80.5 84.0
## 29 70.5 75.0
## 30 85.5 86.0
## 31 90.5 92.0
## 32 78.5 80.5
## 33 90.5 92.0
## 34 90.0 92.0
## 35 93.0 95.0
## 36 85.0 89.0
## 37 92.0 94.0
## 38 72.0 74.0
## 39 90.0 93.0
## 40 95.0 97.0
ggplot(data = datos, aes(x= matematicas, y = ingles)) +
geom_point(colour = 'blue')
Se espera que la variable matemáticas represente al menos el 60% la variable de inglés, o lo que es lo mismo, ¿cuánto representa la variable matemáticas a la variable ingles?, usando el modelo de regresión lineal simple.
modelo <- lm(data = datos, formula = ingles ~ matematicas)
sm <- summary(modelo)
sm
##
## Call:
## lm(formula = ingles ~ matematicas, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.7263 -2.2547 -0.1604 1.2453 13.8640
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 19.48214 7.66176 2.543 0.0152 *
## matematicas 0.80325 0.09017 8.908 7.66e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.518 on 38 degrees of freedom
## Multiple R-squared: 0.6762, Adjusted R-squared: 0.6677
## F-statistic: 79.36 on 1 and 38 DF, p-value: 7.662e-11
ggplot(data = datos, aes(x= matematicas, y = ingles)) +
geom_point(colour = 'blue') +
geom_line(aes(x= matematicas, y= modelo$fitted.values), colour = 'red')
Se observa que el modelo tiene con una representatividad de independiente matemáticas sobre la variable dependiente inglés con un valor de aproximadamente del 67%.
El modelo y el valor de Multiple R-Squared significa que la variable matemáticas representa aproximadamente el 67% del valor de la variable inglés.
Las predicciones será sobre la base de que sólo representa aproximadamente un 61%
Que valores tendrá inglés cuando matemáticas sea 70, 80 y 90
nuevos_valores <- c(70, 80,90)
predict(object = modelo, newdata = data.frame(matematicas = nuevos_valores))
## 1 2 3
## 75.70998 83.74253 91.77508