Objetivo

Construir un modelo de regresión lineal simple para observar el nivel de representatividad de las variables y predecir resultados a nuevos valores.

Las librerías

library(ggplot2)
library(readr)

Datos

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

Dispersión de los datos

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.

Construir el modelo

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

Linea de tendencia

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.

Predicciones

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