19041231 Osiris Ochoa Solis


Caso Pizzas: Regresión lineal simple


Objetivo. Realizar prediciones con Regresión lineal Simple. Caso de restaurante pizzas y estudiantes. Ventas de

P1

Librerías
library(ggplot2)   # Gráficos mas amigables

P2

Datos
poblacion <- c( 2,   6,  8,  8,  12,  16,  20,   20,  22, 26) 
ventas <-    c(58, 105, 88, 118, 117, 137, 157, 169, 149, 202)

datos <- data.frame(poblacion, ventas)

datos
##    poblacion ventas
## 1          2     58
## 2          6    105
## 3          8     88
## 4          8    118
## 5         12    117
## 6         16    137
## 7         20    157
## 8         20    169
## 9         22    149
## 10        26    202

P3

Visualizar la dispersión de los datos
ggplot(data = datos, mapping = aes(poblacion, ventas)) +
  geom_point()

P4

Valor de la correlación
cor(datos$poblacion, datos$ventas)
## [1] 0.950123
  • +0.90 = Correlación positiva muy fuerte.

P5

Encontrar la recta de regresión
  • Usar la función lm()
  • Se crea un model de regresión lineal simple
modelo <- lm(data = datos, formula = ventas ~ poblacion)


summary(modelo)
## 
## Call:
## lm(formula = ventas ~ poblacion, 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 ***
## poblacion     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 <- modelo$coefficients[1]
b <- modelo$coefficients[2]

P6

Multiple R-squared: 0.9027
  • Igual al valor de la correlación. Raiz de M R-squared
  • Se usa una variable para almacenar summary(modelo) y determinar el valor de r.squared
resumen <- summary(modelo)

sqrt(resumen$r.squared) # 
## [1] 0.950123

P7

Dibujar la linea de tendencia
  • Colo rojo
  • Fórmula de mínimos cuadrados para este caso
ggplot(data = datos, mapping = aes(poblacion, ventas)) +
  geom_point() +
  geom_line(aes(poblacion, modelo$fitted.values, color = "red"))

PRE1

Predecir para cuando hay 25 mil estudiantes
  • Primero mediante fórmula
x <- 25

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         185
  • Segundo mediante la función predict()
  • Varias predicciones
valornuevo <- data.frame(poblacion=c(25, 30, 28, 15, 10))
prediccion.Y <- predict(object = modelo, newdata =  valornuevo)
prediccion.Y
##   1   2   3   4   5 
## 185 210 200 135 110

PRE2

Predecir para cuando hay 8 mil estudiantes
x <- 8

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         100

PRE3

Predecir para cuando hay 14 mil estudiantes
x <- 14

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         130

PRE3

Predecir para cuando hay 20 mil estudiantes
x <- 20

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         160

PRE4

Predecir para cuando hay 30 mil estudiantes
x <- 30

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         210

PRE5

Predecir para cuando hay 28 mil estudiantes
x <- 28

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         200

PRE6

Predecir para cuando hay 40 mil estudiantes
x <- 40

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         260

PRE7

Predecir para cuando hay 50 mil estudiantes
x <- 50

prediccion.Y <- a + b * x 

prediccion.Y
## (Intercept) 
##         310

PRE8

TODAS LAS PREDICCIONES EN CONJUNTO ANTERIORES
valornuevo <- data.frame(poblacion=c(8, 14, 20, 30, 28, 40, 50))
prediccion.Y <- predict(object = modelo, newdata =  valornuevo)
prediccion.Y
##   1   2   3   4   5   6   7 
## 100 130 160 210 200 260 310

CONCLUSIONES

CONCLUSIONES

La regresion lineal sirve para comparar dos variables con cierto grados de coeficiente de relacion, entre una variable dependiente y una independiente en donde la variable independiente es quien dicta el compartamiento de la otra, algo que hay que tomar en cuenta es que esto no nos sirve para la toma de desiciones ya que no explica una grafica de causa y efecto, solo nos explica la relacion entre una variable y otra, con cierta relacion entre las dos, de alli que el grafico tenga una linea que atrivieza todos los puntos centrales, siendo esta linea la tendencia de la mayoria de los datos y siendo el coeficiente de relacion que tan separadas estan las demas muestras de la tendencia