-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path03-unidad3.Rmd
1527 lines (1143 loc) · 78.8 KB
/
03-unidad3.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Regresión Lineal
En general, las bases de datos que se trabajarán en esta sección son las siguientes:
- [Tasa Euro/Dólar](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2023-1/Tasa%2Beuro%2Bdolar%2Bhistorica2023.csv){#TasaEURUSD}: Contiene el registro diario histórico de la tasa de cambio del Euro a Dólar durante el 2023. Las columnas de la base de datos son las siguientes:
- Date: Fecha de medición (yyyy-mm-dd), desde enero del 2003 hasta enero del 2023.
- Open: tasa de apertura.
- High: tasa más alta alcanzada en el día.
- Low: tasa más baja alcanzada en el día.
- Close: tasa de cierre del día.
- Adj Close: tasa de cierre ajustada del día (precio de cierre sin dividendos).
```{r, echo = FALSE, results="asis", eval=code}
cat("El código para cargar la base de datos en R es:")
```
```{r, echo = code}
datos = read.csv("https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2023-1/Tasa%2Beuro%2Bdolar%2Bhistorica2023.csv")
```
- [Precios de electricidad](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2024-1/Belgian%20Electricity%20Prices.csv){#PreciosElectricidad}: Un conjunto de datos históricos que contiene el precio por hora de la electricidad para Bélgica. Las columnas de la base de datos son las siguientes:
- MTU: Hora de inicio (formato fecha y hora) del coste de la electricidad.
- EUR_MWh: Precio por hora (Euros por MWh).
```{r, echo = FALSE, results="asis", eval=code}
cat("El código para cargar la base de datos en R es:")
```
```{r, eval = F, echo = code}
datos = read.csv("https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2024-1/Belgian%20Electricity%20Prices.csv")
```
- [Pacientes](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2023-1/Heart+complete.csv){#Pacientes}: Contiene datos respecto a los ataques al corazón de distintos pacientes hospitalarios. El detalle de algunas de las columnas de la base de datos que utilizaremos son las siguientes:
- age: edad del paciente (en años).
- sex: sexo del paciente (Hombre: 1 y Mujer: 0).
- cp: Tipo de dolor en el pecho, Valor 1: angina típica, Valor 2: angina atípica, Valor 3: dolor no anginoso, Valor 4: asintomático.
- trtbps: presión arterial en reposo (en mm Hg).
- chol: nivel de colestorol (en mg/dl).
- fbs: azúcar en sangre en ayunas $>$ 120 mg/dl (V = 1; F = 0).
- thalachh: frecuencia cardíaca máxima alcanzada (en latidos por minuto).
- oldpeak: tiempo de duración del último ataque al corazón (en minutos).
```{r, echo = FALSE, results="asis", eval=code}
cat("El código para cargar la base de datos en R es:")
```
```{r, eval = F, echo = code}
datos = read.csv("https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2023-1/Heart+complete.csv")
```
- [Ingreso](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2023-1/Ingreso%2Buniversidad.csv){#Ingreso}: Contiene datos relacionados a características de ingresos de estudiantes a un determinada universidad. Las columnas de la base de datos son las siguientes.
- Sexo: Hombre o Mujer.
- Ingreso: indica la vía de ingreso del estudiante a la universidad, se clasifica en PTU u Otra.
- Logro: corresponde a la proporción de logro (número entre 0 y 1, un logro de 0.4 indica que el estudiante respondió correctamente un 40% de la prueba) del estudiante en el diagnóstico de "Comunicación escrita" aplicado por la universidad.
- LEN: Puntaje PTU - Lenguaje.
- NEM: Puntaje NEM del estudiante.
```{r, echo = FALSE, results="asis", eval=code}
cat("El código para cargar la base de datos en R es:")
```
```{r, eval = F, echo = code}
datos = read.csv("https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2023-1/Ingreso%2Buniversidad.csv")
```
- [Imacec](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2022-2/Estad%C3%ADstica%201/imacec.csv){#Imacec3}: Contiene los datos de los valores del Imacec mensual de distintos sectores desde enero del 2018 hasta junio del 2022. Las columnas de la base de datos son las siguientes:
- Ano: Año de medición del Imacec.
- Mes: Mes de medición del Imacec.
- Mineria: Imacec del sector de minería.
- Industria: Imacec del sector de industria.
```{r, echo = FALSE, results="asis", eval=code}
cat("El código para cargar la base de datos en R es:")
```
```{r, eval = F, echo = code}
datos = read.csv("https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2022-2/Estad%C3%ADstica%201/imacec.csv")
```
<!-- ## Análisis descriptivo de datos {#descriptiva} -->
## Medidas de asociación lineal
### Covarianza
Es posible entender las relaciones entre dos o más variables, gráficamente y a través de estadísticos. En esta sección seabarcarán las relaciones lineales entre dos variables cuantitativas, utilizando la Covarianza y la Correlación. El gráfico que apoya a estas dos medidas es el gráfico de dispersión.
La **Covarianza** entre dos variables de la misma muestra, se puede calcular como:
```{=tex}
\begin{equation}
S_{XY} = \displaystyle\frac{\displaystyle\sum_{i=1}^n(x_i-\bar{x})(y_i-\bar{y})}{n-1}
(\#eq:Covarianza)
\end{equation}
```
La utilidad radica en el signo de esta expresión, el cual, da a conocer el tipo de relación lineal entre las variables $X$ e $Y$. Para interpretar esta expresión se puede usar la siguiente regla.
- Si $S_{XY} = 0$, entonces no existe *relación lineal* entre $X$ e $Y$.
- Si $S_{XY} > 0$, entonces existe una relación lineal directa o positiva entre $X$ e $Y$. Esto es, a mayores valores de $X$, en promedio tenemos mayores valores de $Y$ y viceversa.
- Si $S_{XY} < 0$, entonces existe una relación lineal inversa o negativa entre $X$ e $Y$. Esto es, a mayores valores de $X$, en promedio tenemos menores valores de $Y$ y viceversa.
:::: blackbox
::: {.example}
Por ejemplo, si $S_{XY} = -1000$, ¿qué podemos decir acerca de la relación entre $X$ e $Y$?
La relación entre las variables es inversa. No podemos decir nada acerca de qué tan fuerte es la relación; para eso tendríamos calcular el coeficiente de correlación.
**Nota:** En R, se utiliza el comando `cov()` para calcular la covarianza entre dos variables.
:::
::::
A continuación, se estudia gráficamente la covarianza entre dos variables. Para ello, se necesita del gráfico de dispersión y de las líneas promedio de ambas variables.
```{r echo=FALSE, fig.width=6, fig.height=3, fig.align='center'}
df = iris
x = iris$Petal.Length
y = iris$Petal.Width
x.bar = mean(iris[["Petal.Length"]])
y.bar = mean(iris[["Petal.Width"]])
df$Cuadrante = ifelse(x >= x.bar & y >= y.bar, "+ +",
ifelse(x > x.bar & y < y.bar, "+ -",
ifelse(x <= x.bar & y <= y.bar, "- -", "- +")))
ggplot(data = df, aes(x = Petal.Length, y = Petal.Width, color = Cuadrante)) +
geom_vline(xintercept = x.bar, linetype = "dashed") +
geom_hline(yintercept = y.bar, linetype = "dashed") +
geom_point() +
labs(x = "Variable 1", y = "Variable 2", title = "Gráfico de dispersión")
```
En este caso, la mayoría de los puntos están en los cuadrantes '$+ +$' y '$- -$', y en estos cuadrantes la expresión $(x_i-\bar{x})(y_i-\bar{y})$ es positiva; por eso la covarianza es positiva (aunque también necesario considerar que tan lejos están los puntos de la intersección de las líneas promedio). **¿Es pronunciada la relación lineal?**
### Correlación
Aunque con el signo de la covarianza podemos detectar el tipo de relación entre dos variables, al depender de las unidades de $X$ y de $Y$, no sabemos si corresponde a un relación fuerte o débil (es decir, la forma lineal es fuertemente o débilmente pronunciada); sólo sabemos el signo. Para solucionar esto, **estandarizamos** los valores. La fórmula que realiza este proceso utilizando la covarianza es
```{=tex}
\begin{equation}
r_{XY} = \frac{S_{XY}}{S_{X}S_{Y}}
(\#eq:Correlacion)
\end{equation}
```
Este estadístico, también conocido como **Coeficiente de correlación de Pearson** se encuentra entre -1 y 1.
- Si $r_{XY} = 0$, entonces no hay relación lineal o con relación lineal débil entre las variables.
- Si $r_{XY}$ es cercano a 1, entonces hay relación lineal directa y fuerte entre variables.
- Si $r_{XY}$ es cercano a $-1$, entonces hay relación lineal inversa y fuerte entre las variables.
Una regla más fina sobre la intensidad de la relación es [@ratner_correlation_2009]:
- $r_{XY} = 0$ indica que no hay relación lineal.
- $r_{XY} = 1$ indica una relación lineal positiva perfecta: a medida que una variable aumenta en sus valores, la otra variable también aumenta en sus valores a través de una regla lineal exacta.
- $r_{XY} = -1$ indica una relación lineal negativa perfecta: a medida que una variable aumenta en sus valores, la otra variable disminuye en sus valores a través de una regla lineal exacta.
- Los valores entre $0$ y $0.3$ ($0$ y $−0.3$) indican una relación lineal positiva (negativa) débil a través de una regla lineal inestable.
- Valores entre $0.3$ y $0.7$ ($-0.3$ y $−0.7$) indican una relación lineal positiva (negativa) moderada a través de una regla lineal difusa-firme.
- Los valores entre $0.7$ y $1.0$ ($−0.7$ y $−1.0$) indican una fuerte relación lineal positiva (negativa) a través de una regla lineal firme.
:::: {.blackbox}
::: {.exercise}
Por ejemplo, si $r_{XY} = -0.96$, ¿qué podemos decir acerca de la relación entre $X$ e $Y$?
:::
::::
A continuación, se estudia gráficamente la correlación entre dos variables. Para ello, se necesita del gráfico de dispersión y una recta que refleje la asociación lineal (detalles de esta recta en secciones posteriores).
```{r echo=FALSE, fig.width=6, fig.height=3, fig.align='center', warning=FALSE, message=FALSE}
df = iris
x = iris$Petal.Length
y = iris$Petal.Width
x.bar = mean(iris[["Petal.Length"]])
y.bar = mean(iris[["Petal.Width"]])
ggplot(data = df, aes(x = Petal.Length, y = Petal.Width))+
geom_smooth(method = lm, se = FALSE, formula = 'y ~ x') +
geom_point() +
labs(x = "Variable 1", y = "Variable 2", title = "Gráfico de dispersión")
```
**Nota:** En R, se utiliza el comando `cor()` para calcular la correlación entre dos variables.
**¿Cómo se comportan los puntos al rededor de la línea azul?**
::: {.exercise}
La base de datos [*graficos+dolar.csv*](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2022-2/Estad%C3%ADstica%202/dolar.csv) contiene el valor del dólar observado de algunos de los días de los meses de junio y julio del 2022, tomados por el el SII. A continuación:
1. Realice un histograma del valor de dólar.
2. Realice un histograma del valor de dólar diferenciado por mes. Utilice el comando `facet_grid(~Mes)`.
3. Reordene los gráficos por mes. Para ello convierta la variable Mes a factor, ordenando los meses como corresponde.
4. Realice un gráfico de Violín con caja y promedio del valor de dolar. Interprete lo observado.
5. Separe el gráfico anterior por mes. Comente lo observado.
6. Estudie las medidas de asociación entre los valores del dólar de los primeros 18 registros de cada mes. Interprete. ¿Por qué no es posible comparar todos los registros de cada uno de los meses?
7. Realice un gráfico de dispersión de los para estudiar las medidas de asociación entre las variables de la pregunta 6.
:::
## Regresión lineal simple
La regresión lineal simple (RLS) consiste en generar un **modelo de regresión** (ecuación de una recta) que permita explicar la relación lineal que existe entre dos variables. A la variable dependiente, predicha o respuesta se le identifica como $Y$ y a la variable predictora o independiente como $X$. [@Devore, página 450]
El modelo de regresión lineal simple se describe de acuerdo a la ecuación:
```{=tex}
\begin{equation}
Y_i = \beta_0 + \beta_1X_i + \epsilon_i \text{ , }i = 1,\ldots ,n \text{ , } \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)
(\#eq:regresion)
\end{equation}
```
Una ejemplificación de esta ecuación es la siguiente (\@ref(fig:regresion1)).
```{r regresion1, echo=FALSE, message=FALSE, fig.width=6, fig.height=3, fig.align='center', fig.cap='Ecuación de regresión'}
df = data.frame("Variable.Explicativa" = 0:8,
"Variable.Respuesta" = c(12,10,8,11,6,7,2,3,3))
model = lm(Variable.Respuesta ~ ., data = df)
df$Predicha = model$fitted.values
ggplot(data = df, aes(x = Variable.Explicativa, y = Variable.Respuesta)) +
# geom_segment(aes(x = Variable.Explicativa, xend = Variable.Explicativa,
# y = Variable.Respuesta, yend = Predicha, color = "segment")) +
labs(x = "Variable explicativa (X)", y = "Variable repuesta (Y)",
title = "Ecuación de regresión") +
geom_point() +
geom_smooth(method = lm, se = FALSE, formula = 'y ~ x')
# theme_bw() +
# theme(legend.position = "none")
```
Siendo $\beta_0$ la ordenada en el origen, $\beta_1$ la pendiente y $\epsilon$ el **error aleatorio**. Este último representa la diferencia entre el valor ajustado por la recta y el valor real (línea de color rojo en el gráfico enla figura \@ref(fig:regresion2)), el cual, recoge el efecto de todas aquellas variables que influyen en $Y$ pero que no se incluyen en el modelo como predictores. En el gráfico \@ref(fig:regresion2) es posible apreciar los errores como el distanciamiento de los puntos respecto de la recta.
```{r regresion2, echo=FALSE, message=FALSE, fig.width=6, fig.height=3, fig.align='center', fig.cap='Errores de una ecuación de regresión'}
df = data.frame("Variable.Explicativa" = 0:8,
"Variable.Respuesta" = c(12,10,8,11,6,7,2,3,3))
model = lm(Variable.Respuesta ~ ., data = df)
df$Predicha = model$fitted.values
ggplot(data = df, aes(x = Variable.Explicativa, y = Variable.Respuesta)) +
geom_segment(aes(x = Variable.Explicativa, xend = Variable.Explicativa,
y = Variable.Respuesta, yend = Predicha), color = "red") +
geom_point() +
geom_smooth(method = lm, se = FALSE, formula = 'y ~ x') +
# theme(legend.position = "none") +
labs(x = "Variable explicativa (X)", y = "Variable repuesta (Y)",
title = "Ecuación de regresión")
```
La ecuación \@ref(eq:regresion) representa la **ecuación de regresión verdadera** (o poblacional). Sin embargo, no es posible conocer el valor de $\beta_0$ y $\beta_1$, ya que son parámetros poblacionales (de antemano, no se conocen todos los datos de la población), por lo cual, se se deben determinar estimadores que permitan aproximar los valores de estos parámetros a partir de una muestra ("base de datos"), para así de determinar una expresión estimada de esta ecuación de regresión verdadera.
### Estimadores de mínimos cuadrados {#EMCRLS}
Una forma intuitiva de abordar el problema de estimar $\beta_0$ y $\beta_1$ es minimizando los errores aleatorios. Para ello, se hace uso de la ecuación de regresión verdadera:
$$
Y_i = \beta_0 + \beta_1X_i + \epsilon_i
$$
Luego, es posible escribir el error aleatorio de la siguiente manera:
```{=tex}
\begin{equation}
\epsilon_i = Y_i - [\beta_0 + \beta_1X_i]
(\#eq:funcion-errores)
\end{equation}
```
Para considerar el error en cada uno de los puntos al rededor de la recta de regresión verdadera se considera la suma de los errores. Sin embargo, para tener mayor facilidad en el proceso de determinar los estimadores, se elevan los errores al cuadrado (**suma cuadrática de errores**).
```{=tex}
\begin{equation}
\sum_{i=1}^n\epsilon_i^2 = \sum_{i=1}^n (Y_i - [\beta_0 + \beta_1X_i])^2
(\#eq:sumacuadratica-RL)
\end{equation}
```
Llegado a este punto, es natural minimizar esta función, ya que los valores de $\beta_0$ y $\beta_1$ estimados buscan dar lugar a la recta que "pasa más cerca de todos lo puntos". Los estimadores de $\beta_0$ y $\beta_1$ se denotan por $\widehat{\beta}_0$ y $\widehat{\beta}_1$ respectivamente, y son denominados como **Estimadores de Mínimos Cuadrados** (EMC). La ecuación \@ref(eq:regresionajustada) representa la ecuación de regresión ajustada (estimada) mediante una muestra.
```{=tex}
\begin{equation}
\widehat{Y}_i = \widehat{\beta}_0 + \widehat{\beta}_1X_i
(\#eq:regresionajustada)
\end{equation}
```
Los estimadores de $\beta_0$ y $\beta_1$ son (detalles del desarrollo en el anexo \@ref(RLS-EMC)):
```{=tex}
\begin{equation}
\widehat{\beta}_1 = \frac{\displaystyle\sum_{i=1}^n(x_i-\bar{x})(y_i-\bar{y})}{\displaystyle\sum_{i=1}^n(x_i-\bar{x})^2} = \frac{S_Y}{S_X}r_{XY}
(\#eq:beta1gorro)
\end{equation}
```
```{=tex}
\begin{equation}
\widehat{\beta}_0 = \bar{y} - \widehat{\beta}_1\bar{x}
(\#eq:beta0gorro)
\end{equation}
```
- Los valores de $S_y$ y $S_x$ son las desviaciones estándar de cada variable y $r_{XY}$ el coeficiente de correlación entre estas.
- $\widehat{\beta}_0$ es el valor esperado la variable $Y$ cuando $X = 0$, es decir, la intersección de la recta con el eje $y$. En ocasiones, no tiene interpretación práctica (situaciones en las que $X$ no puede adquirir el valor 0).
- $\widehat{\beta}_1$ corresponde al valor de la pendiente. La interpretación de este valor se detalla más adelante.
- $\widehat{Y}$ se entiende como el valor esperado, es decir, el valor promedio (muestral) de $Y$.
- La diferencia entre los valores reales $Y$ (en la base de datos) y los valores de la recta estimada ($\widehat{Y}$) se denominan residuos, que se denotan por la letra $e$. Estos se observan de la misma forma que los errores aleatorios (figura \@ref(fig:regresion2)).
:::: {.blackbox}
::: {#AFPUNO .example}
El archivo [*cuota+patrimonio.csv*](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2022-2/Estad%C3%ADstica%202/cuota%2Bpatrimonio.csv) contiene los valores cuota (pesos) y valor del patrimonio (miles de millones de pesos) de los primeros dos meses del año 2022 de la AFP UNO. En R:
1. Realice un estudio inicial de los datos, elaborando un gráfico de violín + caja + promedio para cada una de las variables.
Inspeccionamos la base de datos.
```{r, echo=FALSE}
datos = read.csv("https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2022-2/Estad%C3%ADstica%202/cuota%2Bpatrimonio.csv")
```
```{r}
# Cargue previamente la base de datos, guardándola con el nombre "datos"
str(datos)
```
Luego, realizamos el gráfico de violín con caja y promedio.
```{r fig.align='center', fig.width=4, fig.height=2}
ggplot(data = datos, aes(y = 1, x = Valor.Cuota)) +
geom_violin(trim = F) +
geom_boxplot(width = 0.1) +
stat_summary(fun = mean, color = "red", geom = "point", orientation = "y") +
labs(y = "", x = "Pesos", title = "Valor Cuota")
```
Se observa, que la mayor concentración de datos se encuentra entre el primer y segundo cuartil. Además, el cierre superior del gráfico de violín presenta una mayor concentración de datos que el cierre inferior, lo cual, explica la posición del promedio por sobre la mediana.
```{r fig.align='center', fig.width=4, fig.height=2}
ggplot(data = datos, aes(y = 1, x = Valor.Patrimonio)) +
geom_violin(trim = F) +
geom_boxplot(width = 0.1) +
stat_summary(fun = mean, color = "red", geom = "point", orientation = "y") +
labs(y = "", x = "Miles de millones de pesos", title = "Valor Patrimonio")
```
Se observa, que la mayor concentración de datos se encuentra entre el primer y segundo cuartil. Una segunda concentración se encuentra por sobre el tercer cuartil , lo cual, explica la posición del promedio por sobre la mediana.
2. Estudie la correlación entre ambas variables.
```{r}
cor(datos$Valor.Cuota, datos$Valor.Patrimonio)
```
El valor de la correlación indica que la relación lineal entre las dos variables es positiva y fuerte. Esto quiere decir que, cuando en promedio el valor cuota aumenta, el promedio el valor del patrimonio también aumenta.
3. Considerando que desea explicar el valor del patrimonio a partir del valor cuota. Determine los valores de $\widehat{\beta}_0$ y $\widehat{\beta}_1$ utilizando el comando `lm()`.
```{r}
modelo = lm(Valor.Patrimonio ~ Valor.Cuota, data = datos)
modelo
```
4. Escriba la ecuación de la recta de regresión ajustada.
$$
\widehat{Y}_i = -135.3 + 0.004936X_i
$$
5. Realice un gráfico de la la recta de regresión y los residuos del modelo.
```{r message=FALSE, fig.width=6, fig.height=3, fig.align='center'}
# Guardamos los valores de la recta estimada en una nueva columna en la base de datos
datos$Ajustados = modelo$fitted.values
ggplot(data = datos, aes(x = Valor.Cuota, y = Valor.Patrimonio)) +
geom_segment(aes(x = Valor.Cuota, xend = Valor.Cuota,
y = Valor.Patrimonio, yend = Ajustados), color = "red") +
labs(x = "Valor Cuota", y = "Valor Patrimonio",
title = "Ecuación de regresión ajustada") +
geom_point() +
geom_smooth(method = lm, se = FALSE, formula = 'y ~ x')
```
:::
::::
Para interpretar cada uno de los beta estimados se debe hacer en función de la variable de estudio (variable dependiente). En este sentido,
- $\widehat{\beta}_1$: corresponde a la pendiente de la ecuación de la recta de regresión ajustada, e indica un avance lineal constante en crecimiento o en decrecimiento dependiendo de su valor. La interpretación de este parámetro, está sujeta a la unidad de medida de la variable predictora $X$, de tal manera, que una cambio en una unidad de medida de la variable $x$, afecta en **promedio** $\widehat{\beta}_1$ unidades en la variable $Y$.
En el ejemplo \@ref(exm:AFPUNO), el valor de $\widehat{\beta}_1$ es de `r modelo$coefficients[2]` , lo cual indica que por cada unidad de valor cuota (por cada peso), el valor del patrimonio aumenta en promedio `r modelo$coefficients[2]` miles de millones pesos.
- $\widehat{\beta}_0$: es el intercepto de la ecuación de la recta de regresión ajustada, y se debe verificar que el valor obtenido tenga sentido con el fenómeno. En el ejemplo \@ref(exm:AFPUNO), se obtiene un valor lejano a cero (`r modelo$coefficients[1]`), por lo que, cuando $\beta_1x$ vale cero (es decir, una cantidad de cuotas igual a 0), el valor del promedio del patrimonio es menor a cero. Esto tiene sentido, ya que las cuotas no constituyen la totalidad del valor del patrimonio de la AFP (en el ejemplo se trabaja con un fondo en específico de los cinco existentes, de un determinado producto de inversión).
::: {.exercise #ingreso}
Utilizando la base de datos [Ingreso](#Ingreso):
1. Realice un estudio inicial de los datos, elaborando un gráfico de violín + caja + promedio para cada una de las variables cuantitativas continuas, mientras que para las variables categóricas elabore tablas de frecuencias relativas.
2. Considerando que desea explicar la proporción de logro en el diagnóstico de comunicación escrita a partir del puntaje en la PTU de Lenguaje (considere esto para las siguientes preguntas), estudie la correlación entre ambas variables.
3. Determine los valores de $\widehat{\beta}_0$ y $\widehat{\beta}_1$ utilizando el comando `lm()`. Interprete los valores.
4. Escriba la ecuación de la recta de regresión ajustada.
5. Realice un gráfico de la la recta de regresión ajustada y los residuos del modelo.
:::
### Sumas cuadráticas {#sumascuadraticas}
En un modelo sin variables independientes los valores ajustados o predichos son iguales al promedio de las observaciones, $\bar{Y}$ (tal como se mostró en la interpretación asociada a las estimaciones de los parámetros). Los residuos de dicho modelo corresponden a $Y_i - \bar{Y}$. La **suma de cuadrados total** (SCT) se define como:
```{=tex}
\begin{equation}
\text{SCT} = \sum_{i=1}^n\left( Y_i - \bar{Y} \right)^2
(\#eq:SCT)
\end{equation}
```
¿Cómo se relacionan la SCT y la suma cuadrática de errores (SCE)? Consideremos la siguiente igualdad.
```{=tex}
\begin{equation}
Y_i - \bar{Y} = \left( \widehat{Y}_i - \bar{Y} \right) + \left( Y_i - \widehat{Y}_i \right)
(\#eq:SCT-SCE-SCReg)
\end{equation}
```
A partir de esta igualdad se demuestra que:
```{=tex}
\begin{equation}
\underbrace{\sum_{i=1}^n\left( Y_i - \bar{Y} \right)^2}_{\text{SCT}} = \underbrace{\sum_{i=1}^n\left( \widehat{Y}_i - \bar{Y} \right)^2}_{\text{SCReg}} + \underbrace{\sum_{i=1}^n\left( Y_i - \widehat{Y}_i \right)^2}_{\text{SCE}},
(\#eq:descomposicion-sct)
\end{equation}
```
donde,
- **Suma de cuadrados total** (SCT): corresponde a la variabilidad de los datos.
- **Suma de cuadrados de la regresión** (SCReg): corresponde a la variabilidad de los datos que es explicada por el modelo de regresión.
- **Suma de cuadrados del error** (SCE): corresponde a la variabilidad de los datos que no es explicada por el modelo.
En la experimentación, se quiere que SCE sea pequeña y que SCReg sea grande.
Las expresiones involucradas en la ecuación \@ref(eq:descomposicion-sct) dan lugar a reescribir distintas expresiones, entre las cuales se encuentra, el coeficiente de determinación ($R^2$) y el error estándar residual explicados en la sección \@ref(metricasRLS), y el estadístico asociado a las pruebas de hipótesis de los parámetros explicado en la sección \@ref(pruebasHipotesisRLS).
### Pruebas de hipótesis {#pruebasHipotesisRLS}
Los modelos de regresión lineal simple incluyen pruebas de hipótesis asociadas a los betas, además de otro tipo de información. En R es posible utilizar el comando `summary()` para acceder al resumen de información. A continuación, a modo de ejemplo se utiliza el modelo elaborado en el ejemplo \@ref(exm:AFPUNO).
```{r}
summary(modelo)
```
El detalle por columna es el siguiente.
- En primer lugar, ya conocemos los coeficientes del modelo (betas estimados) y cómo se interpretan. Estos valores los podemos encontrar en la columna llamada **Estimate**.
- La segunda columna (**Std. Error**) corresponde a la desviación estándar de la estimación de cada uno de los betas. Como cada uno de los errores ($\epsilon_i$) tiene distribución normal, esto implica que cada uno de los $\beta$ tenga distribución t -- Student (no analizaremos esto en profundidad).
- La tercera y cuarta columna están diseñadas para probar una determinada prueba de hipótesis relacionada a los $\beta$, llamada **prueba de no nulidad**. En este caso, cada fila aborda la siguiente hipótesis:
```{=tex}
\begin{equation}
\notag
\begin{split}
H_0:&\beta_i = 0\\
H_1:&\beta_i \neq 0\\
\end{split}
\end{equation}
```
El estadístico para cada uno de los beta se obtiene dividiendo el valor estimado (**Estimate**) por la desviación estándar (**Std. Error**). El resultado de estos valores, se puede apreciar en la columna **t value**.
- Finalmente, se calcula el valor - p asociado a cada una de las hipótesis del punto anterior, con la fórmula $2\cdot(1-pt(|t_0|, n-2))$. El valor resultante de esta expresión para cada uno de los betas se encuentra en la columna **Pr(\>\|t\|)**. La interpretación de este valor es mediante el criterio del valor - p presentado en la unidad anterior.
En el ejemplo \@ref(exm:AFPUNO), al no rechazarse la hipótesis nula asociada a cada beta estimado, se tiene que cada variable (intercepto y valor cuota) son relevantes para explicar la variable respuesta (valor del patrimonio). Sin embargo, esto no es un regla decidora respecto a si una variable debe o no considerarse en el modelo, es decir,
- No rechazar las hipótesis nula de los beta estimados, indica que su "valor" es **cero**, por lo que no "aportarían" al modelo de regresión construido. En este punto, muchas personas eliminarían la variable utilizada para construir el modelo (el valor cuota) (esto es una de tantas técnicas aplicables, pero que no profundizaremos) o, cambiarían la variable explicativa utilizada (no considerarían el valor cuota, sino que utilizarían otra variable).
- A pesar de que los valores-p puedan no ser significativos (mayores a 0.05), es decir, no rechazar las hipótesis nulas; es posible forzar la permanencia de la variable en el modelo debido al criterio experto del profesional.
Por último, al final de la salida del resumen, encontramos el valor llamado **F-statistic**. Este valor, es un estadístico que prueba de hipótesis llamada **prueba de no nulidad conjunta**,
```{=tex}
\begin{equation}
\notag
\begin{split}
H_0:&\text{ Todos los betas asociados a las covariables valen 0}\\
H_1:&\text{ Almenos uno de los betas asociados a las covariables es distinto de 0}\\
\end{split}
\end{equation}
```
Se rechaza $H_0$ cuando:
```{=tex}
\begin{equation}
F_0 = \frac{\text{SCReg}}{\text{MCE}} \geq F_{1-\alpha, 1, n-2}.
(\#eq:estadistico-F-RLS)
\end{equation}
```
con una significancia $\alpha$. El valor de MCE se especifica en la sección \@ref(metricasRLS).
**Nota**: esta prueba de hipótesis no considera $\beta_0$.
En el ejemplo \@ref(exm:AFPUNO), se observa un valor del estadístico igual a 322.6 con 1 y 57 grados de libertad, además de un valor menor a 0.05. Por lo tanto, existe suficiente evidencia estadística para rechazar $H_0$, es decir, almenos uno de los betas asociados a las covariables es distinto de 0.
::: {.exercise}
Utilizando la base de datos [Pacientes](#Pacientes):
1. Ajuste un modelo para estudiar el nivel de colesterol de los pacientes a partir de su edad. Luego, estudie las pruebas de hipótesis asociadas utilizando una confianza del 95%.
2. Ajuste un modelo para estudiar el tiempo de duración del último ataque al corazón de los pacientes a partir de su edad. Luego, estudie las pruebas de hipótesis asociadas utilizando una confianza del 95%.
:::
### Métricas {#metricasRLS}
La salida de R nos proporciona dos valores que permiten evaluar al modelo de regresión lineal simple:
- **Residual standard error** (error estándar residual): corresponde a la desviación estándar de los residuos, es decir, que mientras menor sea este valor, los puntos se alejarán menos de la recta de regresión. Este valor es una estimación de $\sigma$, que en términos de las expresiones de la ecuación \@ref(eq:descomposicion-sct) se tiene que:
```{=tex}
\begin{equation}
\widehat{\sigma}^2 = \frac{\text{SCE}}{n-2} = \text{MCE},
(\#eq:sigma2-estimador)
\end{equation}
```
donde, MCE se denomina **media cuadrática del error**. El denominador de esta expresión corresponde al total de observaciones ($n$) menos la cantidad de parámetros del modelo ($\beta_1$ y $\beta_2$). Finalmente, el valor del error estándar residual ($\widehat{\sigma}$) es igual a $\sqrt{\text{MCE}}$.
- **Multiple R-squared** o $R^2$: es un métrica de error de la regresión que mide el rendimiento del modelo, corresponde a la proporción de variabilidad explicada por la regresión sobre la variabilidad total de las observaciones. En términos de las expresiones de la ecuación \@ref(eq:descomposicion-sct) se tiene que:
```{=tex}
\begin{equation}
R^2 = \frac{\text{SCReg}}{\text{SCT}}
(\#eq:R2-RLS)
\end{equation}
```
En el ejemplo \@ref(exm:AFPUNO) se obtiene un error estándar residual de 4.2. Sin embargo, **NO EXISTE** un regla que determine cuando un error estándar residual es bueno o malo. En general, este valor se utiliza para comparar don o más modelos que estudian la misma variable respuesta pero con distintas variables predictoras (variables independientes), para saber cual realiza un mejor ajuste.
Por otro lado, se tiene un valor de $R^2$ igual a 0.84, el cual es muy alto, por lo que se logra explicar gran parte de la variable respuesta. Al igual que el error estándar residual, no existe una regla para determinar cuando un valor de $R^2$ es bueno o malo, aunque valores cercanos a cero indican que el poder explicativo del modelo es extremadamente pobre; y a su vez, valores muy cercanos a 1 son muy buenos, aunque extremadamente sospechosos.
Lo anteriormente explicado se puede observar mediante los siguientes comandos, aunque es posible observarlos en salida general del comando `summary()`.
```{r}
# Resumen del modelo
summ = summary(modelo)
print(c("Error estándar residual" = summ$sigma, "R cuadrado" = summ$r.squared))
```
::: {.exercise}
Utilizando la base de datos [Ingreso](#Ingreso):
1. Ajuste un modelo para estudiar la proporción de logro a partir el puntaje NEM.
2. Ajuste un modelo para estudiar la proporción de logro a partir el puntaje PTU de la prueba de Lenguaje.
3. Obtenga de manera manual el estadístico F asociado a la prueba de hipótesis de nulidad conjunta de cada modelo. Interprete, utilizando una confianza del 95%.
4. Compare los ajustes de ambos modelos utilizando el error estándar residual y el $R^2$, obteniendo las métricas de manera manual. Interprete.
:::
### Supuestos
Cuándo se elabora un modelo de regresión lineal, es necesario verificar el cumplimiento de condiciones para la correcta interpretación y utilización del modelo desarrollado. Las condiciones que se deben cumplir se denominan supuestos. A continuación, se detallan los 4 supuestos que se deben estudiar, utilizando como ejemplo el modelo elaborado en el ejemplo \@ref(exm:AFPUNO).
#### Linealidad
La relación entre ambas variables (dependiente e independiente) debe ser lineal. Para observar el comportamiento es posible realizar un gráfico de puntos entre la variable predictora ($X$) y la variable de estudio ($Y$).
```{r fig.width=6, fig.height=3, fig.align='center'}
ggplot(data = datos) +
geom_point(aes(x = Valor.Cuota, y = Valor.Patrimonio)) +
labs(x = "Valor Cuota (pesos)", y = "Valor Patrimonio \n (miles de millones de pesos)")
```
La interpretación del comportamiento queda a discreción del profesional. En este caso, se aprecia una clara tendencia lineal, por lo que se asume que se cumple el supuesto de linealidad.
#### Normalidad
Los residuos \texttt{estandarizados} deben distribuir Normal con media 0 ($\mu$) y varianza 1 ($\sigma^2$). Para ello, se pueden ejecutar varios comandos en R para probar esta hipótesis. El más conocido es el comando `shapiro.test()`. La hipótesis es
```{=tex}
\begin{equation}
\notag
\begin{split}
H_0&: \text{Los residuos estandarizados tienen distribución Normal}\\
H_1&: \text{Los residuos estandarizados NO tienen distribución Normal}\\
\end{split}
\end{equation}
```
Se definen los residuos estandarizados, $r_i$, como los residuos, $e_i$, divididos por su error estándar:
```{=tex}
\begin{equation}
r_i = \frac{e_i}{\widehat{\text{es}}(e_i)}, i = 1,\ldots,n
(\#eq:residuos-estandarizados)
\end{equation}
```
Utilizando la definición dada en la ecuación \@ref(eq:sigma2-estimador), se tiene que
```{=tex}
\begin{equation}
r_i = \frac{e_i}{\sqrt{\text{MCE}}}
(\#eq:residuos-estandarizados-2)
\end{equation}
```
```{r fig.width=7, fig.height=4, fig.align='center'}
residuos = resid(modelo) # Residuos
residuos_estandarizados = rstandard(modelo) # Residuos estandarizados
shapiro.test(x = residuos_estandarizados)
```
Considerando una confianza del 95%, el valor-p de 0.1177 no es menor o igual a la significancia de 0.05, por lo cual, no existe suficiente evidencia estadística para rechazar la hipótesis nula, es decir, se asume que los residuos (estandarizados) tienen distribución normal.
En caso de que la cantidad de datos sea mayor a 5000, el comando `shapiro.test()` fallará. En su lugar, es posible usar el comando `ks.test()`, un ejemplo con los residuos del ejemplo anterior es
```{r fig.align='center', warning=FALSE}
ks.test(residuos_estandarizados, "pnorm", 0, 1)
```
Una tercera opción es utilizar el comando `ad.test()` de la librería **nortest**
```{r fig.align='center'}
library(nortest)
ad.test(residuos_estandarizados)
```
#### Homocedasticidad
Este supuesto hace referencia a la necesidad de una varianza constante de los residuos. Para verificar esto, se grafican los residuos estandarizados del modelo versus los valores de la variable predictora (o variable predicha, $\widehat{y}$). Se busca que las amplitudes verticales en las figuras sean similares en la medida que se recorre el eje de las abscisas. Similarmente, es posible ejecutar una prueba de hipótesis (Breucsh - Pagan) en R con el comando `bptest()` de la librería **lmtest**, siendo
```{=tex}
\begin{equation}
\notag
\begin{split}
H_0&: \text{Los residuos tienen varianza constante}\\
H_1&: \text{Los residuos NO tienen varianza constante}\\
\end{split}
\end{equation}
```
```{r fig.width=6, fig.height=3, fig.align='center'}
valores_predichos = modelo$fitted.values
ggplot(data = datos) +
geom_point(aes(x = valores_predichos,
y = residuos_estandarizados)) +
geom_hline(yintercept = 0) +
labs(x = "Valores predichos", y = "Residuos estandarizados")
```
Las amplitudes verticales no tiene un patrón claro de cambio (puede ser difícil de interpretar), por lo que utilizaremos la prueba de Breucsh - Pagan para decidir.
```{r message=FALSE}
library(lmtest)
bptest(formula = Valor.Patrimonio ~ Valor.Cuota,
data = datos)
```
Considerando una confianza del 95%, el valor-p de 0.5835 no es menor o igual a la significancia de 0.05, por lo cual, no existe suficiente evidencia estadística para rechazar la hipótesis nula, es decir, se asume que los residuos tienen varianza constante (homocedasticidad).
#### Independencia
El último supuesto corresponde a la independencia de los residuos, es decir que, no deben estar correlacionados entre ellos (autocorrelación igual a 0). La prueba de hipótesis de Durbin - Watson está diseñada para detectar autocorrelación en los residuos. Para ejecutar esta prueba en R se debe utilizar la función `dwtest()` de la librería **lmtest**. La hipótesis es
```{=tex}
\begin{equation}
\notag
\begin{split}
H_0&: \text{Autocorrelación de los residuos es igual a 0}\\
H_1&: \text{Autocorrelación de los residuos es distinta de 0}\\
\end{split}
\end{equation}
```
```{r}
# Prueba de Durbin Watson
dwtest(formula = Valor.Patrimonio ~ Valor.Cuota,
data = datos,
alternative = "two.sided")
```
Considerando una confianza del 95%, el valor-p de $2.2 \times 10^{-16}$ es menor o igual a la significancia de 0.05, por lo cual, existe suficiente evidencia estadística para rechazar la hipótesis nula, es decir, se asume que los residuos no son independientes (autocorrelación distinta de 0).
**Conclusión**: En resumen, se han cumplido 3 de los 4 supuestos planteados. Esto es muy común que suceda en la realidad, además de existir diversos factores que influyen en los resultados vistos.
::: {.exercise}
Utilizando la base de datos [Ingreso](#Ingreso), ajuste el modelo:
$$\widehat{Y}_{\text{Logro}} = \widehat{\beta}_0 + \widehat{\beta}_1X_{\text{NEM}}$$
Luego,
1. Escriba la ecuación de regresión ajustada.
2. Verifique los supuestos del modelo, utilizando una confianza del 95% cuando corresponda.
:::
::: {.exercise}
Utilizando la base de datos [Pacientes](#Pacientes), elabore un modelo para estudiar la variable *oldpeak* a través de la variable *chol*. Estudie los supuestos del modelo, utilizando una confianza del 92%.
:::
::: {.exercise}
La base de datos [*terremotos.csv*](https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2022-2/Estad%C3%ADstica%202/terremotos.csv), contiene datos sobre los terremotos ocurridos a nivel mundial entre los años 1900 y 2014. Las columnas de la base de datos son:
- Ano: año de ocurrencia del terremoto.
- Latitud: grados decimales de la coordenada de latitud (valores negativos para latitudes del sur).
- Longitud: grados decimales de la coordenada de longitud (valores negativos para longitudes occidentales).
- Profundidad: profundidad del evento en kilómetros.
- Magnitud: magnitud del evento (la escala no es fija, ya que, a través de los años, la escala a cambiado según el método de medición. Sin embargo, todos las magnitudes son comparables, indicando que a mayor magnitud, mayor es la intensidad en movimiento/fuerza del terremoto).
Ajuste los siguientes modelos:
- $Y_{\text{Magnitud}} = \beta_0 + \beta_1X_{\text{Profundidad}} + \epsilon, \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)$
- $Y_{\text{Magnitud}} = \beta_0 + \beta_1X_{\text{Latitud}} + \epsilon, \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)$
Luego, para cada modelo:
1. Estudie la relación entre la variable dependiente e independiente mediante gráficos de dispersión.
2. Escriba la ecuación de regresión ajustada.
3. Interprete los betas estimados.
4. Estudie los supuestos del modelo, utilizando una confianza del 98%.
:::
## Regresión lineal múltiple
A diferencia de la regresión lineal simple, la regresión lineal múltiple (RLM) hace uso de más de una variable independiente para modelar el comportamiento de variable de estudio [@Devore, página 528]. La expresión de un modelo de regresión múltiple es:
```{=tex}
\begin{equation}
Y = X\beta + \epsilon
(\#eq:multiple1)
\end{equation}
```
con $\epsilon \sim N(0,\sigma^2I)$ independientes. Es detalles de las matrices es el siguiente,
```{=tex}
\begin{equation}
\begin{pmatrix}
y_1\\
y_2\\
\vdots\\
y_n
\end{pmatrix}
=
\begin{pmatrix}
1 & x_{11} & x_{12} & \cdots & x_{1k}\\
1 & x_{21} & x_{22} & \cdots & x_{2k}\\
\vdots & \vdots & \vdots & \ddots & \vdots \\
1 & x_{n1} & x_{n2} & \cdots & x_{nk}\\
\end{pmatrix}
\begin{pmatrix}
\beta_0\\
\beta_1\\
\vdots \\
\beta_k\\
\end{pmatrix}
+
\begin{pmatrix}
\epsilon_1\\
\epsilon_2\\
\vdots \\
\epsilon_n\\
\end{pmatrix}.
(\#eq:multiple2)
\end{equation}
```
Una expresión equivalente es:
```{=tex}
\begin{equation}
y_i = \beta_0 + \sum_{j=1}^k x_{ij}\beta_j +\epsilon_i\text{, } i = 1,\dots,n \text{, } \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)
(\#eq:multiple3)
\end{equation}
```
### Estimadores de mínimos cuadrados {#EMC-RLM-CUERPO}
Al igual que el una regresión lineal simple, se busca minimizar la **suma cuadrática de los errores** (SCE). Sin embargo, al trabajar con matrices, el proceso de minimización de la SCE da como resultado los siguientes estimadores de mínimos cuadrados (EMC), valores ajustados y residuos.
```{=tex}
\begin{equation}
\widehat{Y} = X\widehat{\beta}
(\#eq:ecuacionajustadamultiple)
\end{equation}
```
```{=tex}
\begin{equation}
\widehat{\beta} = (X^tX)^{-1}X^tY
(\#eq:betasestimadosmultiple)
\end{equation}
```
```{=tex}
\begin{equation}
\widehat{Y} = X(X^tX)^{-1}X^tY
(\#eq:ygorromultiple)
\end{equation}
```
Además, los residuos se calculan como
```{=tex}
\begin{equation}
e = Y - \widehat{Y}
(\#eq:residuosmultiple)
\end{equation}
```
Cabe mencionar, que se mantiene la igualdad respecto a la descomposición de la SCT expresada en la ecuación \@ref(eq:descomposicion-sct).
::: blackbox
::: {#MultipleManual .example}
Utilizando la base de datos [Imacec](#Imacec3) , se debe considerar un modelo que estudie el valor del Imacec de Minería a base del Imacec de Industria y del Año de medición, con el fin de determinar los beta estimados, los valores ajustados y los errores del modelo, mediante las fórmulas explicadas anteriormente.
Los modelos poblacional y ajustado son:
- Modelo poblacional:
```{=tex}
\begin{equation}
\notag
Y_{\text{Imacec Minería}} = \beta_0 + \beta_1X_{\text{Año}} + \beta_2X_{\text{Imacec Industria}} + \epsilon \text{, } \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)
\end{equation}
```
- Modelo ajustado:
```{=tex}
\begin{equation}
\notag
\widehat{Y}_{\text{Imacec Minería}} = \widehat{\beta}_0 + \widehat{\beta}_1X_{\text{Año}} + \widehat{\beta}_2X_{\text{Imacec Industria}}
\end{equation}
```
```{r, echo=FALSE}
df = read.csv("https://raw.githubusercontent.com/Dfranzani/Bases-de-datos-para-cursos/main/2022-2/Estad%C3%ADstica%201/imacec.csv")
```
```{r}
# Cargamos previamente la base de datos, guardándola previamente con el nombre "df"
# Para conformar la matriz de covariables (X) extraemos las columnas relevantes de la base de datos
X = df[,c(1,4)] # Año e Imacec de Industria
# Agregamos la columna de unos que debe ir antes de las otras
X = cbind(1, X)
# Cambiamos el formato de X a matriz
X = as.matrix(X)
# Extraemos la variable independiente (en formato de matriz)
Y = as.matrix(df$Mineria)
# Determinemos los estimadores de los beta
betas.gorro = solve(t(X)%*%X)%*%t(X)%*%Y
# El comando solve() calcula la inversa de una matriz.
# el operador %*% es para multiplicar matrices.
# El comando t() es para calcular una matriz traspuesta de una matriz.
```
Los valores estimados de los beta son
```{r}
betas.gorro
```
Los valores ajustados son
```{r}
y.gorro = X%*%betas.gorro
head(y.gorro)
```
Los residuos del modelo son
```{r}
residuos = Y - y.gorro
head(residuos)
```
La ecuación de regresión ajustada es:
$$
\widehat{Y}_{\text{Imacec Minería}} = 3293.79 -1.59X_{\text{Año}} + 0.32X_{\text{Imacec Industria}}
$$
:::
:::
El modelo ajustado del ejemplo \@ref(exm:MultipleManual) se elabora con el siguiente comando en R:
```{r}
modelo = lm(Mineria ~ Ano + Industria, data = df)
modelo
```
La interpretación de los beta estimados es similar a la vista en regresión lineal simple, aunque la estructura de la expresión ya no es una recta como tal. Considerando la salida correspondiente al ejemplo \@ref(exm:MultipleManual):
- $\widehat{\beta}_0$: en la salida de R tiene el nombre de **Intercept**, su interpretación es igual a la vista en regresión lineal, es decir, corresponde al valor esperado de $y$ cuando las covariables tienen un valor nulo (igual a 0).
Respecto al ejemplo, se interpreta que, cuando se está en el año 0 y, el valor del Imacec de industria es de 0 puntos, entonces, el valor promedio (o esperado) del Imacec de Minería es de $\widehat{\beta}_0 = 3293.79$. Este valor carece de sentido, ya que el Imacec se empezó a utilizar en 1984, por lo que sería recomendable ajustar los años para considerar el tiempo inicial en 0 (1984).
- $\widehat{\beta}_j$: dado un cambio en una unidad de medida de variable $x_j$ (considerando que el resto de covariables se mantiene constante), en promedio, la variable $y$ se ve afectada (aumenta o disminuye) en $\widehat{\beta}_j$ unidades.
Respecto al ejemplo:
- $\widehat{\beta}_1 = -1.598$: Por cada año que transcurre, el Imacec de Minería disminuye en promedio $1.598$ unidades. Considerando que el resto de covariables se mantiene constante.
- $\widehat{\beta}_2 = 0.322$: Por cada unidad que aumenta el Imacec de Industria, el Imacec de Minería aumenta en promedio $0.322$ unidades. Considerando que el resto de covariables se mantiene constante.
::: {.exercise}
Utilizando la base de datos [Pacientes](#Pacientes):
1. Ajuste un modelo para estudiar la presión arterial en reposo, a partir de la edad, frecuencia cardíaca máxima alcanzada y el nivel de colesterol del paciente.
2. Interprete los parámetros estimados.
3. Escriba el modelo poblacional y la ecuación de regresión ajustada.
:::
::: {.exercise}
Utilizando la base de datos [Ingreso](#Ingreso):
1. Ajuste un modelo para estudiar la variable *Logro* a partir de las variables *LEN* y *NEM*.
2. Interprete los parámetros estimados.
3. Escriba el modelo poblacional y la ecuación de regresión ajustada.
:::
### Covariables cualitativas {#covariables-cualitativas}
En un modelo de regresión lineal es posible utilizar variable cualitativas, para ello es necesario usar variables indicadoras que toman los valores 0 o 1 [@neter]. Por ejemplo, consideremos un extracto de la base de datos del Imacec del ejemplo \@ref(exm:MultipleManual), el cual contenga únicamente los valores asociados a los meses de enero y febrero.
```{r}
extracto = df[df$Mes %in% c("ene", "feb"),]
str(extracto)
```
Suponiendo que, se desea estudiar el Imacec de Minería a través del Imacec de Industria y el mes de medición, el modelo poblacional es el siguiente:
$$Y_{\text{Imacec Minería}} = \beta_0 + \beta_1X_{\text{Imacec Industria}} + \beta_2I_{\text{Mes = febrero}} + \epsilon, \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)$$
La covariable $I_{\text{Mes = febrero}}$ corresponde a una indicatriz, esta función vale 1 para el mes que se especifica (febrero en este caso) y 0 en otro caso (más detalles en el anexo \@ref(funcion-indicatriz)). El valor del `Mes` que no se observa en el modelo es llamado **categoría de referencia**. Ajustando el modelo en R se obtiene el siguiente resumen.
```{r}
modelo_con_categorias = lm(Mineria ~ Industria + Mes, data = extracto)
summary(modelo_con_categorias)
```
Es posible apreciar, que de los betas estimados, el que está asociado a la variable `Mes` solo corresponde al valor de `febrero`. En este sentido, la interpretación de $\widehat{\beta}_2$ es la siguiente: Cuando el mes de medición es en febrero, el Imacec de Minería es en promedio 6.92 unidades inferior al mes de enero.
La ecuación de regresión ajustada es:
$$\widehat{Y}_{\text{Imacec Minería}} = 111.086 - 0.186X_{\text{Imacec Industria}} - 6.920I_{\text{Mes = febrero}}$$
La forma en la que R selecciona la categoría de referencia es alfanumérica, sin embargo, es posible asignarla manualmente mediante el comando `as.factor()`.
Para modelos que consideren variables con más opciones de categoría, se debe agregar una indicatriz por cada categoría a excepción de la categoría de referencia. Por ejemplo, si consideramos un modelo que estudie el el Imacec de Minería a través del Imacec de Industria y el Mes, siendo está última una variable con tres opciones (marzo, abril y mayo). El modelo poblacional es el siguiente:
```{=tex}
\begin{equation}
\notag
\begin{split}
Y_{\text{Imacec Minería}} = &\beta_0 + \beta_1X_{\text{Imacec Industria}} + \beta_2I_{\text{Mes = abril}} + \\
&\beta_3I_{\text{Mes = mayo}} + \epsilon, \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)\\
\end{split}
\end{equation}
```
Se puede observar, que dado el modelo poblacional planteado, la categoría de referencia de la variable Mes corresponde a marzo.
::: {.exercise}
Utilizando la base de datos [Pacientes](#Pacientes), ajuste el siguiente modelo.
$$
Y_{\text{Logro}} = \beta_0 + \beta_1I_{\text{Sexo = Hombre}} + \beta_2X_{\text{NEM}} + \epsilon, \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)
$$
Luego,
1. Escriba la ecuación de regresión ajustada.
2. Interprete los betas estimados.
:::
::: {.exercise #co2}
La base de datos *CO2* (propia de R) contiene datos de una experimento sobre la tolerancia al frío de la especie de pasto Echinochloa crus-galli. Las columnas son las siguientes:
- Plant: Identificador del tipo de planta.
- Type: Lugar de origen de la planta.
- Treatment: indica si la planta fue refrigerada (chilled) o no (nonchilled).
- conc: Concentraciones ambientales de dióxido de carbono (ml/L).
- uptake: Tasas de absorción de dióxido de carbono (umol/$m^2$ seg) de las plantas.
Ajuste el siguiente modelo:
$$
Y_{\text{uptake}} = \beta_0 + \beta_1I_{\text{Type = Mississippi}} + \beta_2I_{\text{Treatment = chilled}} + \beta_3X_{\text{conc}} + \epsilon, \epsilon_i \overset{\text{iid}}{\sim} N(0,\sigma^2)
$$
Luego,
1. Escriba la ecuación de regresión ajustada.
2. Interprete los betas estimados.
:::
### Pruebas de hipótesis
Las hipótesis de no nulidad asociadas a cada uno de los betas se plantean de la misma forma que se ha visto en el caso de regresión lineal simple. La única diferencia radica en el valor- p de la prueba **F-statistic**, el cual es diferente al valor-p de la prueba asociada a $\widehat{\beta}_1$.
Considerando el modelo ajustado en el ejemplo \@ref(exm:MultipleManual), la ecuación de regresión ajustada es:
$$
\widehat{Y}_{\text{Imacec Minería}} = 3293.79 -1.59X_{\text{Año}} + 0.32X_{\text{Imacec Industria}}
$$