Objetivo

Determinar predicciones de datos bajo el modelo de regresion lineal simple

Descripción

De un conjunto de datos con dos variables en donde una de ellas es X variable independiente y la otra de ellas Y variable dependiente, predecirr el valor de Y conforme la historia de X

Cargar Librerías

library(dplyr)
## 
## 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(mosaic)
## Warning: package 'mosaic' was built under R version 4.0.3
## 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 object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## 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
library(readr)
library(ggplot2)  
library(knitr)  

Ejercicios

2.1 De un conjunto de datos una empresa que invierte dinero en comerciales se tiene un historial de ventas de doce semanas

semanas <- c(1:12)
comerciales <- c(2,5,1,3,4,1,5,3,4,2,3,2)
ventas <- c(50,57,41,54,54,38,63,48,59,46, 45, 48 )

datos <- data.frame(semanas,comerciales,ventas)
kable(datos, caption = "Ventas en función de inversión en comerciales")
Ventas en función de inversión en comerciales
semanas comerciales ventas
1 2 50
2 5 57
3 1 41
4 3 54
5 4 54
6 1 38
7 5 63
8 3 48
9 4 59
10 2 46
11 3 45
12 2 48

2.2 Valor de correlación entre las variables

r <- cor(datos$comerciales, datos$ventas)
r
## [1] 0.9006177

2.3 Grafica de dispercion

ggplot(data = datos, aes(x = comerciales, y = ventas)) +
  geom_point(colour = 'black')

2.4 Generar el modelo de Regresion lineal

modelo <- lm(data = datos, formula = ventas~comerciales)

modelo
## 
## Call:
## lm(formula = ventas ~ comerciales, data = datos)
## 
## Coefficients:
## (Intercept)  comerciales  
##      36.131        4.841
summary(modelo)
## 
## Call:
## lm(formula = ventas ~ comerciales, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.6534 -2.7331  0.1076  2.8357  4.1873 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  36.1315     2.3650  15.278 2.93e-08 ***
## comerciales   4.8406     0.7387   6.553 6.45e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.378 on 10 degrees of freedom
## Multiple R-squared:  0.8111, Adjusted R-squared:  0.7922 
## F-statistic: 42.94 on 1 and 10 DF,  p-value: 6.449e-05
paste("El coeficiente de determinación o Multiple R-squared: es igual al cuadrado del coeficiente de correlación: ", r^2)
## [1] "El coeficiente de determinación o Multiple R-squared: es igual al cuadrado del coeficiente de correlación:  0.811112191696598"
a <- modelo$coefficients[1]
b <- modelo$coefficients[2]
a ; b
## (Intercept) 
##    36.13147
## comerciales 
##    4.840637

Grafica de tendencia

ggplot() + 
  geom_point(data = datos, aes(x = comerciales, y = ventas), colour='blue') +
  geom_line(aes( x = datos$comerciales, y = predict(modelo, datos)), color = "Black") +
  xlab("Comerciales") + 
  ylab("Ventas") + 
  ggtitle("Linea de tendencia sobre Conjunto de Datos")

2.5 Predecir conforme al modelo

  • Valores 4,3,5,2,0,1
x <- c(4,3.5,2,0,1)

prediccion <- predict(object = modelo, newdata = data.frame(comerciales = x))
prediccion
##        1        2        3        4        5 
## 55.49402 53.07371 45.81275 36.13147 40.97211
y = a + b * x
y
## [1] 55.49402 53.07371 45.81275 36.13147 40.97211

Ejercicio 2.1

Mediciones del cuerpo humano en donde se busca identificar el coeficiente de correlacion r, el coeficiente de determinacion r^2 y el modelo de regresion lineal para predecir alturas en relacion a el peso de una persona

datos <- read.table("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/datos/body.dat.txt", quote="\"", comment.char="")

datos <- as.data.frame(datos)

colnames(datos)[23:25] <- c("peso", "estatura", "genero")

# Solo nos interesan las tres pultimas columnas
datos <- select(datos, estatura, peso, genero)

kable(head(datos, 10), caption = "Datos de pesos y etaturas de personas")
Datos de pesos y etaturas de personas
estatura peso genero
174.0 65.6 1
175.3 71.8 1
193.5 80.7 1
186.5 72.6 1
187.2 78.8 1
181.5 74.8 1
184.0 86.4 1
184.5 78.4 1
175.0 62.0 1
184.0 81.6 1

2.2 Valor de correlacion entre las variables

r <- cor(datos$estatura, datos$peso)
r
## [1] 0.7173011

Grafica de dispercion

ggplot(data = datos, aes(x = estatura, y = peso)) +
  geom_point(colour = 'yellow')

2.3 Generar el modelo de regresion lineal

modelo <- lm(data = datos, formula = peso~estatura)

modelo
## 
## Call:
## lm(formula = peso ~ estatura, data = datos)
## 
## Coefficients:
## (Intercept)     estatura  
##    -105.011        1.018
summary(modelo)
## 
## Call:
## lm(formula = peso ~ estatura, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -18.743  -6.402  -1.231   5.059  41.103 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -105.01125    7.53941  -13.93   <2e-16 ***
## estatura       1.01762    0.04399   23.14   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.308 on 505 degrees of freedom
## Multiple R-squared:  0.5145, Adjusted R-squared:  0.5136 
## F-statistic: 535.2 on 1 and 505 DF,  p-value: < 2.2e-16
paste("El coeficiente de determinación o Multiple R-squared: es igual al cuadrado del coeficiente de correlación :", r^2)
## [1] "El coeficiente de determinación o Multiple R-squared: es igual al cuadrado del coeficiente de correlación : 0.514520837538849"
  • Determinar valores a y b en el ejercicio
a <- modelo$coefficients[1]
b <- modelo$coefficients[2]
a ; b
## (Intercept) 
##   -105.0113
## estatura 
## 1.017617

Grafico de tendencia

ggplot() + 
  geom_point(data = datos, aes(x = estatura, y = peso), colour='blue') +
  geom_line(aes( x = datos$estatura, y = predict(modelo, datos)), color = "red") +
  xlab("Estarura") + 
  ylab("Peso") + 
  ggtitle("Linea de tendencia sobre Conjunto de Datos")

4.5 Predecir conforme al modelo

x <- c(150, 160, 170, 175, 185, 190)

prediccion <- predict(object = modelo, newdata = data.frame(estatura = x))
prediccion
##        1        2        3        4        5        6 
## 47.63126 57.80743 67.98360 73.07168 83.24785 88.33593
y = a + b * x
y
## [1] 47.63126 57.80743 67.98360 73.07168 83.24785 88.33593

Interpretación del caso

Ejercicio 1

  • ¿De que trata el ejercicio?
    • Se saca los datos de una empresa que invierte dinero en unos comerciales y se tiene el historial de ventas como se puede ver en la tabla son 12 semanas de las que se tienen registro y los comerciales que se tiene registro son 2,5,1,3,4 etc. y las ventas fueron de 50, 57,41 etc.
  • ¿Qué significado tiene las variables?
    • En el primer ejercicio se muestran en forma ordenada los datos que se recopilaron, por ejemplo: En la semana 1 se hicieron 2 comerciales y se obtuvieron 50 ventas esos vendrían siendo las variables
  • ¿Cual es el valor del coeficiente y que representa?
    • El valor de la correlación entre las variables es de 0.906177 se interpreta como una correlación positiva
  • ¿Que representan los coeficientes a y b en la ecuación de mínimos cuadrados?
    • El valor de los coeficientes vendría siendo 81.11 %
  • ¿Que valores existen en la predicción?
    • Para el 1 sería 55.59
    • para el 2 53.07
    • Para el 3 45.81
    • Para el 4 36.13
    • para el 5 40.97

Ejercicio 2

  • ¿De que trata el ejercicio?
    • Se busca identificar la correlación r, el coeficiente de r^2 y el modelo de regresión lineal de un problema que se cargó de un URL
  • ¿Qué significado tiene cada variable?
    • Como se puede ver en la tabla está la estatura, peso y el género. De ahí cada una tiene sus variables
  • ¿Cual es el valor del coeficiente de correlación y que representa?
    • Sería 0.7173011 que es el peso y se interpreta como una correlación positiva
  • ¿Que representa los coeficientes a y b en la ecuación de mínimos cuadrados?
    • Significa que el valor de la estatura de una persona representa 51.45
  • ¿Que valores existen en la predicción?
    • Para una persona que mida 150 centímetro la predicción de peso es 47.63
    • Para 160 cm la predicción de peso es 57.80
    • Para 170 cm la predicción de peso es 67.98
    • Para 175 cm la predicción de peso es 73.07
    • para 185 cm la predicción de peso es de 83.24
    • Para190 cm la predicción de peso es de 88.33