Regresión lineal simple

Datos

equipos <- c("Texas","Boston","Detroit","Kansas","St.","New_S.","New_Y.",
             "Milwaukee","Colorado","Houston","Baltimore","Los_An.","Chicago",
             "Cincinnati","Los_P.","Philadelphia","Chicago","Cleveland","Arizona",
             "Toronto","Minnesota","Florida","Pittsburgh","Oakland","Tampa",
             "Atlanta","Washington","San.F","San.I","Seattle")
numero_bateos <- c(5659,  5710, 5563, 5672, 5532, 5600, 5518, 5447, 5544, 5598,
                   5585, 5436, 5549, 5612, 5513, 5579, 5502, 5509, 5421, 5559,
                   5487, 5508, 5421, 5452, 5436, 5528, 5441, 5486, 5417, 5421)
runs <- c(855, 875, 787, 730, 762, 718, 867, 721, 735, 615, 708, 644, 654, 735,
          667, 713, 654, 704, 731, 743, 619, 625, 610, 645, 707, 641, 624, 570,
          593, 556)
datos <- data.frame(equipos,numero_bateos,runs)

Transformar

bateos <- as.numeric(datos$numero_bateos)
runs <- as.numeric(datos$runs)
batrun <- data.frame(numero_bateos,runs)

Visualizar

  • Gráfico de correlación, gráfico de pares
head(datos)
##   equipos numero_bateos runs
## 1   Texas          5659  855
## 2  Boston          5710  875
## 3 Detroit          5563  787
## 4  Kansas          5672  730
## 5     St.          5532  762
## 6  New_S.          5600  718
pairs(datos)

Modelar

Grado de correlación lineal

  • Matriz de coeficientes de correlación:
cor(batrun)
##               numero_bateos     runs
## numero_bateos      1.000000 0.610627
## runs               0.610627 1.000000

Cálculo y representación de la recta de mínimos cuadrados

regresion <- lm(runs~bateos, data=datos)
summary(regresion)
## 
## Call:
## lm(formula = runs ~ bateos, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -125.58  -47.05  -16.59   54.40  176.87 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2789.2429   853.6957  -3.267 0.002871 ** 
## bateos          0.6305     0.1545   4.080 0.000339 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.47 on 28 degrees of freedom
## Multiple R-squared:  0.3729, Adjusted R-squared:  0.3505 
## F-statistic: 16.65 on 1 and 28 DF,  p-value: 0.0003388
  • Entonces, la recta de mínimos cuadrados, sería la siguiente:

\[ y = -2789.2429 + 0.6305 x \]

Representación gráfica de la recta

plot(datos$numero_bateos, datos$runs, col = "firebrick", pch = 19, ylab = "Runs",
     xlab = "Número de bateos", main = 'Runs ~ Número de bateos')
abline(regresion, col = 1)

Modelación de valores

nuevos <- data.frame(numero_bateos=seq(5771,5800))
predict(regresion, nuevos)
##        1        2        3        4        5        6        7        8 
## 779.0395 811.1976 718.5067 787.2367 698.9597 741.8371 690.1320 645.3629 
##        9       10       11       12       13       14       15       16 
## 706.5263 740.5760 732.3788 638.4269 709.6790 749.4037 686.9792 728.5955 
##       17       18       19       20       21       22       23       24 
## 680.0432 684.4570 628.9686 715.9845 670.5849 683.8265 628.9686 648.5157 
##       25       26       27       28       29       30 
## 638.4269 696.4375 641.5796 669.9544 626.4464 628.9686

Conclusión

En esta actividad se puede observar que un mayor número de bateos no siempre lleva a un mayo número de home runs, ya que hay equipos con pocos bateos que aún así tienen un gran número de home runs, aun que son pocos los casos. En la mayoría de los casos, se puede llegar a la conclusión de que entre mayor sea el número de bateos por equipo, mayor será la cantidad de home runs.