Regresión lineal simple

New York Yankees

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)
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~numero_bateos, data=datos)
summary(regresion)
## 
## Call:
## lm(formula = runs ~ numero_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 ** 
## numero_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

newbats <- data.frame(numero_bateos =seq(5400,5750))
predict(regresion, newbats)
##        1        2        3        4        5        6        7        8 
## 615.7271 616.3576 616.9882 617.6187 618.2493 618.8798 619.5104 620.1409 
##        9       10       11       12       13       14       15       16 
## 620.7715 621.4020 622.0326 622.6631 623.2937 623.9242 624.5548 625.1853 
##       17       18       19       20       21       22       23       24 
## 625.8159 626.4464 627.0770 627.7075 628.3381 628.9686 629.5992 630.2297 
##       25       26       27       28       29       30       31       32 
## 630.8603 631.4908 632.1214 632.7519 633.3825 634.0130 634.6436 635.2741 
##       33       34       35       36       37       38       39       40 
## 635.9047 636.5352 637.1658 637.7963 638.4269 639.0574 639.6880 640.3185 
##       41       42       43       44       45       46       47       48 
## 640.9491 641.5796 642.2102 642.8407 643.4713 644.1018 644.7324 645.3629 
##       49       50       51       52       53       54       55       56 
## 645.9935 646.6240 647.2546 647.8851 648.5157 649.1462 649.7768 650.4073 
##       57       58       59       60       61       62       63       64 
## 651.0379 651.6684 652.2990 652.9295 653.5601 654.1906 654.8212 655.4517 
##       65       66       67       68       69       70       71       72 
## 656.0823 656.7128 657.3434 657.9739 658.6045 659.2350 659.8656 660.4961 
##       73       74       75       76       77       78       79       80 
## 661.1267 661.7572 662.3878 663.0183 663.6489 664.2794 664.9100 665.5405 
##       81       82       83       84       85       86       87       88 
## 666.1711 666.8016 667.4322 668.0627 668.6933 669.3238 669.9544 670.5849 
##       89       90       91       92       93       94       95       96 
## 671.2155 671.8460 672.4766 673.1071 673.7377 674.3682 674.9988 675.6293 
##       97       98       99      100      101      102      103      104 
## 676.2599 676.8904 677.5210 678.1515 678.7821 679.4126 680.0432 680.6737 
##      105      106      107      108      109      110      111      112 
## 681.3043 681.9348 682.5654 683.1959 683.8265 684.4570 685.0876 685.7181 
##      113      114      115      116      117      118      119      120 
## 686.3487 686.9792 687.6098 688.2403 688.8709 689.5014 690.1320 690.7625 
##      121      122      123      124      125      126      127      128 
## 691.3931 692.0236 692.6542 693.2847 693.9153 694.5458 695.1764 695.8069 
##      129      130      131      132      133      134      135      136 
## 696.4375 697.0680 697.6986 698.3291 698.9597 699.5902 700.2208 700.8513 
##      137      138      139      140      141      142      143      144 
## 701.4819 702.1124 702.7430 703.3735 704.0041 704.6346 705.2652 705.8957 
##      145      146      147      148      149      150      151      152 
## 706.5263 707.1568 707.7874 708.4179 709.0485 709.6790 710.3096 710.9401 
##      153      154      155      156      157      158      159      160 
## 711.5707 712.2012 712.8318 713.4623 714.0929 714.7234 715.3540 715.9845 
##      161      162      163      164      165      166      167      168 
## 716.6151 717.2456 717.8762 718.5067 719.1373 719.7678 720.3984 721.0289 
##      169      170      171      172      173      174      175      176 
## 721.6595 722.2900 722.9206 723.5511 724.1817 724.8122 725.4428 726.0733 
##      177      178      179      180      181      182      183      184 
## 726.7039 727.3344 727.9650 728.5955 729.2261 729.8566 730.4872 731.1177 
##      185      186      187      188      189      190      191      192 
## 731.7483 732.3788 733.0094 733.6399 734.2705 734.9010 735.5316 736.1621 
##      193      194      195      196      197      198      199      200 
## 736.7927 737.4232 738.0538 738.6843 739.3149 739.9454 740.5760 741.2065 
##      201      202      203      204      205      206      207      208 
## 741.8371 742.4676 743.0982 743.7287 744.3593 744.9898 745.6204 746.2509 
##      209      210      211      212      213      214      215      216 
## 746.8815 747.5120 748.1426 748.7731 749.4037 750.0342 750.6648 751.2953 
##      217      218      219      220      221      222      223      224 
## 751.9259 752.5564 753.1870 753.8175 754.4481 755.0786 755.7092 756.3397 
##      225      226      227      228      229      230      231      232 
## 756.9703 757.6008 758.2314 758.8619 759.4925 760.1230 760.7536 761.3841 
##      233      234      235      236      237      238      239      240 
## 762.0147 762.6452 763.2758 763.9063 764.5369 765.1674 765.7980 766.4285 
##      241      242      243      244      245      246      247      248 
## 767.0591 767.6896 768.3202 768.9507 769.5813 770.2118 770.8424 771.4729 
##      249      250      251      252      253      254      255      256 
## 772.1035 772.7340 773.3646 773.9951 774.6257 775.2562 775.8868 776.5173 
##      257      258      259      260      261      262      263      264 
## 777.1479 777.7784 778.4090 779.0395 779.6701 780.3006 780.9312 781.5617 
##      265      266      267      268      269      270      271      272 
## 782.1923 782.8228 783.4534 784.0839 784.7145 785.3450 785.9756 786.6061 
##      273      274      275      276      277      278      279      280 
## 787.2367 787.8672 788.4978 789.1283 789.7589 790.3894 791.0200 791.6505 
##      281      282      283      284      285      286      287      288 
## 792.2811 792.9116 793.5422 794.1727 794.8033 795.4338 796.0644 796.6949 
##      289      290      291      292      293      294      295      296 
## 797.3255 797.9560 798.5866 799.2171 799.8477 800.4782 801.1088 801.7393 
##      297      298      299      300      301      302      303      304 
## 802.3699 803.0004 803.6310 804.2615 804.8921 805.5226 806.1532 806.7837 
##      305      306      307      308      309      310      311      312 
## 807.4143 808.0448 808.6754 809.3059 809.9365 810.5670 811.1976 811.8281 
##      313      314      315      316      317      318      319      320 
## 812.4587 813.0892 813.7198 814.3503 814.9809 815.6114 816.2420 816.8725 
##      321      322      323      324      325      326      327      328 
## 817.5031 818.1336 818.7642 819.3947 820.0253 820.6558 821.2864 821.9169 
##      329      330      331      332      333      334      335      336 
## 822.5475 823.1780 823.8086 824.4391 825.0697 825.7002 826.3308 826.9613 
##      337      338      339      340      341      342      343      344 
## 827.5919 828.2224 828.8530 829.4835 830.1141 830.7446 831.3752 832.0057 
##      345      346      347      348      349      350      351 
## 832.6363 833.2668 833.8974 834.5279 835.1585 835.7890 836.4196

Inferencia en el modelo de regresión lineal simple

Suponemos que los datos proceden de un modelo de regresión simple de la forma:

\[ y_i = \beta_0 + \beta_1 x_i + \epsilon_i, \ \ \ \ i=1,\ldots,n,\] en donde:

Los errores aleatorios \(\epsilon_i\) son independientes con distribución normal de media 0 y varianza \(\sigma^2\)

Bajo este modelo:

  • Los errores típicos de los estimadores de los parámetros \(\beta_0\) y \(\beta_1\) se encuentran en la columna Std Error de la salidad anterior. Los valores son: 853.6957 y 0.1545 respesctivamente.

  • Los intervalos de confianza de los parámetros se obtienen con el comando confint. El parámetro level permite elegir el nivel de confianza (por lo regular es 0.95)

confint(regresion)
##                       2.5 %        97.5 %
## (Intercept)   -4537.9592982 -1040.5264727
## numero_bateos     0.3139863     0.9471137
confint(regresion, level=0.90)
##                         5 %          95 %
## (Intercept)   -4241.4910857 -1336.9946852
## numero_bateos     0.3676548     0.8934452
  • ¿Que tan confiable es este modelo? Comparativa de datos reales vs datos predecidos

Intervalos de confianza

Un intervalo de confianza es un rango de valores, derivado de los estadísticos de la muestra, que posiblemente incluya el valor de un parámetro de población desconocido. Debido a su naturaleza aleatoria, es poco probable que dos muestras de una población en particular produzcan intervalos de confianza idénticos. Sin embargo, si usted repitiera muchas veces su muestra, un determinado porcentaje de los intervalos de confianza resultantes incluiría el parámetro de población desconocido.

  • Los intervalos de confianza para la respuesta media y los intervalos de confianza para la respuesta se pueden obtener con el comando predict. Por ejemplo el código a continuación estima y representa los dos tipos de intervalores, los de predicción en rojo.
# Gráfico de dispersión y 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)

#Intervalos de confianza de la respuesta media
# ic es una matriz con tres columnas:
#La primera es la predicción, las otras son los extremos del intervalo

ic <- predict(regresion,newbats, interval = "confidence")
lines(newbats$numero_bateos, ic[, 2], lty=2)
lines(newbats$numero_bateos, ic[, 3], lty=2)

#Intervalos de predicción
ic <- predict(regresion,newbats, interval = "prediction")
lines(newbats$numero_bateos, ic[, 2], lty=2, col = "red")
lines(newbats$numero_bateos, ic[, 3], lty=2, col = "red")

ANOVA

Un análisis de varianza (ANOVA) prueba la hipótesis de que las medias de dos o más poblaciones son iguales. Los ANOVA evalúan la importancia de uno o más factores al comparar las medias de la variable de respuesta en los diferentes niveles de los factores. La hipótesis nula establece que todas las medias de la población (medias de los niveles de los factores) son iguales mientras que la hipótesis alternativa establece que al menos una es diferente.

  • La tabla de analizis de varianza se obtiene con el comando ANOVA
anova(regresion)
## Analysis of Variance Table
## 
## Response: runs
##               Df Sum Sq Mean Sq F value    Pr(>F)    
## numero_bateos  1  73559   73559  16.648 0.0003388 ***
## Residuals     28 123722    4419                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

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.