You are on page 1of 9

Capı́tulo 9

Modelos Polinomiales y Variables


Categóricas en RLM

9.1. Modelos Polinomiales


Nuestro modelo de RLM, y = Xβ + e incluye casos como:

y = β0 + β1 x + β2 x2 + e (9.1)
y = β0 + β1 x1 + β2 x2 + β3 x1 x2 + β4 x21 + β5 x22 +e (9.2)

Y polinomios de grado mucho más grande.

Con las herramientas que hemos desarrollado, podemos ajustar fácilmente casos como
9.1, 9.2 y modelos polinomiales de ordenes mayores. Los ajustes de este tipo funcionan
bien cuando hay un efecto de curvatura en E[y|X], el caso más sencillo serı́a en RLS como
el de la figura:
12
11
10
E[y|X]

9
8
7
6

−2 −1 0 1 2

Figura 9.1: Ejemplo de efecto de curvatura para E[y|x] en el caso de RLS

En estos casos, podemos realizar una transformación para linealizar la relación entre
variables o podrı́amos trabajar directamente con la curvatura, si lo hacemos adecuada-

1
9.2. VARIABLES CATEGÓRICAS EN RLM M. en C. Carlos Erwin Rodrı́guez

mente en ambos casos tendrı́amos que llegar al mismo ajuste.

Los modelos polinomiales bien aplicados, pueden ser una herramienta poderosa. Tomem-
os en cuenta que por el desarrollo en serie de Taylor, podemos aproximar una función f ,
con ciertas caracterı́sticas, mediante polinomios de la siguiente forma:

f ′′ (c)
f (x) = f (c) + f ′ (c)(x − c) + (x − c)2 + . . .
2!
Veamos el ejemplo 9.0 en R para aclarar este punto.

Sin embargo, antes de empezar a trabajar con modelos polinomiales hay varias cosas
que se tienen que tomar en cuenta:

Orden del modelo: es muy importante mantener el orden del modelo polinomial
tan bajo como se pueda. Cuando sea posible, es recomendable realizar transforma-
ciones a linealidad para facilitar el análisis. Como norma, nuestro modelo siempre
debe mantener un sentido de parsimonia (usar el modelo más simple que ajuste
adecuadamente los datos). Además, se tiene que tomar en cuenta que siempre es
posible pasar un polinomio de orden n − 1 por n puntos, entonces, un polinomio
de grado suficientemente grande siempre podrá ajustar “bien” nuestros datos. Pero
este modelo no nos ayudará a entender el comportamiento de E[y|X] y será muy mal
predictor.

Extrapolación: aunque el orden del polinomio se mantenga bajo, realizar extrap-


olaciones puede llegar a ser muy arriesgado.

Matriz mal condicionada: al ir incrementando el orden del modelo polinomial,


la matriz X ′ X se vuelve mal condicionada. Esto quiere decir que aunque utilicemos
métodos numéricos estables para calcular β̂, tendremos resultados muy imprecisos.
Esto claramente deriva en el problema de multicolinealidad.

9.2. Variables Categóricas en RLM


Las variables categóricas o cualitativas pueden ser muy útiles en RLM. Estas variables
pueden tener 2 niveles, por ejemplo: tratado y no tratado, masculino y femenino etc. Tam-
bién pueden tener muchos niveles, por ejemplo: color de ojos (café, verde, azul, gris etc.),
localización (sur, norte, centro, etc.)

Para incluir variables cualitativas en RLM, tenemos que encontrar una manera de
indicarle al modelo el nivel que va tomando la variable y ası́ poder trabajar con ella.
Claramente esto no lo podemos hacer directamente, pues no tiene sentido manejar vari-
ables categóricas como si fueran variables continuas, si llegamos a hacer esto, estarı́amos
cometiendo un grave error.

En el caso de una variable categórica de dos niveles, podemos utilizar una variable
indicadora y ası́ ya podrı́amos manejarla dentro de un modelo de RLM. Esto lo podemos

2
9.2. VARIABLES CATEGÓRICAS EN RLM M. en C. Carlos Erwin Rodrı́guez

hacer de la siguiente forma:

Supongamos que F es una variable cualitativa con dos categorı́as, entonces generamos
una nueva variable U , en donde cada entrada se definirá como:

1 si Fi ∈ categorı́a 1 de F
Ui =
0 si Fi ∈/ categorı́a 1 de F
Esta nueva variable U ya la podrı́amos utilizar como variable predictora o respuesta
en una RLM, sin ningún problema.

Con la misma idea podemos trabajar con variables categóricas que tengan varios nive-
les, sin embargo para mostrar esto de forma más sencilla veremos un ejemplo en R.

Trabajaremos los datos sleep1, de la librerı́a alr3. En esta base de datos se tienen
muchas variables, sin embargo, por el momento sólo nos interesará T S que es el tiem-
po total en horas al dı́a, que duerme una determinada especie y D que es una variable
categórica con 5 niveles, en donde 1 indica la especie que corre menos peligro,...,5 la que
corre más peligro (indicador del peligro que corre la especie).

En la Figura 9.2 se muestran los diagramas de caja para el tiempo total que una especie
duerme (TS), para cada nivel de D.
20
15
TS(h)

10
5

1 2 3 4 5

Indice de peligro

Figura 9.2: Diagramas de caja para TS por nivel de peligro

Como análisis inicial, nos gustarı́a saber ¿cómo va cambiando el valor promedio de
T S a medida que D cambia? Entonces para contestar esta pregunta, tendrı́amos que ser
capaces de escribir E[T S|D] de forma que para cada nivel de D podamos calcular el valor
promedio de T S en ese nivel. Esto lo podemos hacer de varias formas, una de ellas es
la siguiente, la variable D tiene 5 niveles, entonces definimos Uj para j = 1, . . . , 5 como
variables indicadoras de forma que

1 si Di = j
Uij =
0 si en otro caso

3
9.2. VARIABLES CATEGÓRICAS EN RLM M. en C. Carlos Erwin Rodrı́guez

Para entender mejor cómo generar las Uj ’s, revisar el ejemplo 9.1 en R.

Entonces U1 , . . . , U5 son variables indicadoras que representan cada uno de los niveles
de la variable D, con esto podemos escribir:

E[T S|D] = β1 U1 + β2 U2 + β3 U3 + β4 U4 + β5 U5 (9.3)


y podemos interpretar a βj como el tiempo promedio que duerme la especie dado que
corre un nivel de peligro j (dado que D = j).

La función de cambio medio 9.3 no incluye ordenada al origen. Si construimos la


matriz U = [U1 U2 U3 U4 U5 ], y sumamos cada una de sus columnas, entonces tenemos
una columna de unos (con el rango de U podemos generar la columna necesaria para la
ordenada al origen), por lo que la ordenada al origen esta implı́cita en 9.3. Para incluir
explı́citamente la ordenada al origen en el modelo, simplemente tenemos que evitar que la
matriz U resultante sea linealmente dependiente, una opción sencilla es incluir la ordenada
al origen y eliminar alguna de las Ui ’s, por costumbre siempre es U1 . Entonces nos queda
U = [1 U2 U3 U4 U5 ] y el modelo serı́a:

E[T S|D] = α0 + α2 U2 + α3 U3 + α4 U4 + α5 U5 (9.4)


Para recuperar las βj ’s a partir de 9.4, simplemente hacemos βj = α0 + αj con
j = 2, . . . , 5 y β1 = α0 . Entonces aunque βj 6= αj , tenemos que los modelos 9.3 y 9.4
son equivalentes aunque tengan interpretaciones distintas.

En el contexto de análisis de varianza, lo que interesa es el modelo 9.4 pues siempre


se busca contrastar H0 : E[T S|D] = α0 contra el modelo completo (o comparar funciones
de cambio medio), lo que sólo tiene sentido si el modelo tiene ordenada al origen “global”,
con el modelo 9.3, lo que se contrasta es H0 : E[T S|D] = 0 contra el modelo completo (que
no tiene mucho sentido). Otro comentario importante es que los parámetros del modelo
9.3 son fácilmente interpretables, mientras que los del modelo 9.4 no lo son tanto. Debido
a estas razones y quizá otras, conviene tomar en cuenta ambos modelos.

En R es muy sencillo trabajar con funciones de cambio medio como 9.3 y 9.4, lo único
que tendrı́amos que hacer es definir a D como variable tipo factor

library(alr3) ### Necesitaremos esta librerı́a


data(sleep1) ### Trabajaremos con estos datos
TS<-sleep1$TS
D<-factor(sleep1$D) ### Definimos a D como variable tipo factor

Ya con esto, para ajustar el modelo 9.3, simplemente hacemos T S ∼ −1 + D y para


el modelo 9.4 sólo escribimos T S ∼ D, pues aquı́ la ordenada al origen esta implı́cita y R
por default quita la primer variable para evitar problemas de dependencia lineal.

4
9.2. VARIABLES CATEGÓRICAS EN RLM M. en C. Carlos Erwin Rodrı́guez

Una buena idea, siempre que se tengan variables categóricas y se quiera


usarlas en una RLM, es definirlas como variables tipo factor, como se hizo
con la variable D. Sin embargo, es muy importante no perder de vista que lo
que se esta haciendo es trabajar con variables indicadoras, como lo mostramos
anteriormente. Entonces, R lo único que hace es simplificar las cosas para que
nosotros no tengamos que generar las Uj ’s, pero los coeficientes de la regresión
si vendrán dados en términos de estas variables.

A continuación presentamos el ajuste para los modelos 9.3 y 9.4

> summary(m1<-lm(TS~-1+D))

Coefficients:
Estimate Std. Error t value Pr(>|t|)
D1 13.0833 0.8881 14.732 < 2e-16 ***
D2 11.7500 1.0070 11.668 2.91e-16 ***
D3 10.3100 1.1915 8.653 1.03e-11 ***
D4 8.8111 1.2559 7.016 4.26e-09 ***
D5 4.0714 1.4241 2.859 0.00606 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.768 on 53 degrees of freedom


Multiple R-squared: 0.9016, Adjusted R-squared: 0.8923
F-statistic: 97.09 on 5 and 53 DF, p-value: < 2.2e-16

> summary(m2<-lm(TS~D))

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.0833 0.8881 14.732 < 2e-16 ***
D2 -1.3333 1.3427 -0.993 0.32519
D3 -2.7733 1.4860 -1.866 0.06754 .
D4 -4.2722 1.5382 -2.777 0.00756 **
D5 -9.0119 1.6783 -5.370 1.78e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.768 on 53 degrees of freedom


Multiple R-squared: 0.378, Adjusted R-squared: 0.3311
F-statistic: 8.052 on 4 and 53 DF, p-value: 3.78e-05

5
9.2. VARIABLES CATEGÓRICAS EN RLM M. en C. Carlos Erwin Rodrı́guez

El análisis de varianza para 9.3 y 9.4 se muestra en seguida:

> anova(m1)
Analysis of Variance Table

Response: TS
Df Sum Sq Mean Sq F value Pr(>F)
D 5 6891.7 1378.3 97.09 < 2.2e-16 ***
Residuals 53 752.4 14.2
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> anova(m2)
Analysis of Variance Table

Response: TS
Df Sum Sq Mean Sq F value Pr(>F)
D 4 457.26 114.31 8.0523 3.78e-05 ***
Residuals 53 752.41 14.20
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

6
9.3. TRABAJANDO CON VARIABLES
PREDICTORAS TIPO FACTOR Y CONTINUAS M. en C. Carlos Erwin Rodrı́guez

9.3. Trabajando con variables


predictoras tipo factor y continuas
Para los datos sleep1, si nuestro objetivo es modelar T S, convendrı́a agregar otra
variable predictora, además de D. En este caso podemos agregar la variable predictora
log (BodyW t), el logaritmo del peso promedio de la especie. Con esta variable predictora
adicional y D, podemos ajustar varios modelos, veremos cada uno de ellos a continuación.
Antes mostramos la gráfica de T S Vs log (BodyW t) en donde a cada punto se le etiquetó de
acuerdo a el nivel de la variable D al que pertenece.

20
1 1 1 1
1
1
2
3
2
15

2 1
3 2
3 3 2 1
3 4 12
1
TS(h)

3
2 2 2 4 1
2 1 2 4
10

124 1
4
1 34 52 4
1

2
1 1 4
3 3
5

5 5 5 4
5 3
5 5

−4 −2 0 2 4 6 8

log(BodyWt)

Figura 9.3: T S Vs log (BodyW t)

1. Modelo general: Este modelo ajusta los datos de forma que para cada nivel de
D se tengan rectas de regresión completamente distintas. Este modelo equivaldrı́a
a ajustar 5 regresiones distintas, una para cada nivel de D. Formalmente esto lo
podemos escribir de la siguiente forma:

5
X
E[T S| log BodyW t = x, D = j] = (β0j Uj + β1j Uj x) (9.5)
j=1

Este modelo tiene 10 términos, las 5 variables indicadoras Uj que nos darán 5 orde-
nadas al origen y 5 interacciones que son el producto de Uj x, como resultado ten-
dremos 5 pendientes para cada nivel de D. En R es muy sencillo ajustar 9.5, ya que D
esta definido como factor, simplemente hacemos T S ∼ −1 + D + D : log(BodyW t),
en donde “−1” quita la ordenada al origen “global”, el término “D” ajustará las
diferentes ordenadas al origen para cada nivel de D y “D : log(BodyW t)” especifica
las interacciones entre cada variable indicadora de D y log(BodyW t).
Podemos escribir 9.5 de forma totalmente equivalente como sigue

5
X
E[T S| log BodyW t = x, D = j] = α0 + α1 x + (α0j Uj + α1j Uj x) (9.6)
j=2

7
9.3. TRABAJANDO CON VARIABLES
PREDICTORAS TIPO FACTOR Y CONTINUAS M. en C. Carlos Erwin Rodrı́guez

Comparando las dos parametrizaciones tenemos que α0 = β01 , α1 = β11 y para j > 1,
α0j = β0j − β01 y α1j = β1j − β11 . De nuevo tenemos que la parametrización 9.5 es
más conveniente para tener parámetros interpretables, mientras que 9.6 se usa para
comparar funciones de cambio medio. En R es muy fácil ajustar 9.6, simplemente
hacemos T S ∼ log(BodyW t) + D + D : log(BodyW t)
2. Regresiones paralelas: Para este modelo se generan 5 rectas paralelas de regresión,
cada una con ordenada al origen distinta, pero con la misma pendiente. La función
de cambio medio la escribimos de la siguiente forma:

5
X
E[T S| log BodyW t = x, D = j] = β0j Uj + β1 x (9.7)
j=1

En R esto lo escribimos como T S ∼ D + log(BodyW t)


3. Ordenada al origen común: en este modelo se tiene una ordenada el origen “global”
y pendientes distintas para los distintos niveles de D. Lo podemos ver como sigue:

5
X
E[T S| log BodyW t = x, D = j] = β0 + β1j Uj x (9.8)
j=1

La fórmula para R es T S ∼ 1 + D : log(BodyW t)


4. Modelo reducido: Simplemente es el modelo de RLS con log(BodyW t) como vari-
able predictora. En R como por default se incluye la ordenada al origen, T S ∼
log(BodyW t).

Para comparar estos modelos, podemos recurrir a la prueba F parcial que se vio ante-
riormente en el curso, recordemos un poco la prueba.

Tenemos y = Xβ +e en donde X es una matriz de nxp y β es un vector de px1, nuestro


modelo de RLM de siempre, y quisiéramos saber si r variables en la matriz X nos están
ayudando a explicar la varianza de y o no, entonces particionamos X en la parte de las
variables que creemos nos ayuda para explicar la varianza de y y la que no, esto induce
una partición del vector β automáticamente.

Xnxp = [X1 |X2 ] y β = [β1 |β2 ]t


En donde X1 es de nx(p − r), X2 de nxr, β1 de (p − r)x1 y β2 de rx1. Entonces al
modelo completo lo podemos escribir como y = X1 β1 + X2 β2 + e y lo que quisiéramos
es contrastar H0 : β2 = 0 V s H1 : β2 6= 0. Si NO rechazamos H0 , tendrı́amos que las r
variables en X2 , no nos sirven para explicar y.

Con esto llegamos a que la regla de decisión es rechazar H0 al nivel α si F0 > F1−α,r,n−p
y el p-value=1 − P (F0 ≤ F1−α,r,n−p |H0 cierta). Ası́, sólo necesitamos:

(êt1 ê1 − êt ê)/r


F0 =
êt ê/(n − p)

8
9.3. TRABAJANDO CON VARIABLES
PREDICTORAS TIPO FACTOR Y CONTINUAS M. en C. Carlos Erwin Rodrı́guez

en donde ê1 son los residuales obtenidos al ajustar el modelo resultante al suponer H0
cierta (y = X1 β1 + e) y ê son los residuales obtenidos al ajustar el modelo completo.

Tenemos 4 diferentes modelos para E[T S| log BodyW t, D], claramente el modelo 1(mod-
elo general), contiene a los modelos 2,3 y 4. Dicho de otra forma, la matriz X resultante
de ajustar el modelo general, contiene a todas las matrices que usarı́amos para ajustar los
demás modelos, entonces podemos utilizar la prueba F parcial para comparar los modelos
1,2,3 y 4. El resultado se muestra de forma abreviada a continuación:

Modelo df RSS F0 P(>F)


Modelo 1 48 565.46
Modelo 2 52 581.22 0.33 0.853
Modelo 3 52 709.49 3.06 0.025
Modelo 4 56 866.23 3.19 0.006

De los cuatro modelos, el mejor modelo es el 2 (el modelo de regresiones paralelas)


pues claramente no se rechaza H0 . Es posible graficar este ajuste, el resultado se muestra
a continuación.
20

1 1 1 1
1
1
2
3
2
15

2 1
3 2
3 3 2 1
3 4 12
1
TS (h)

3
2 2 2 4 1
2 1 2 4
10

124 1
4
1 34 52 4
1

2
1 1 4
3 3
5

5 5 5 4
5 3
5 5

−4 −2 0 2 4 6 8

log(BodyWt)

Figura 9.4: Regresiones Paralelas

En la Figura 9.4, la recta naranja modela el tiempo promedio que duermen las especies
que enfrentan un peligro de 1, la recta roja modela el tiempo promedio que duermen las
especies que enfrentan un peligro de 2, la recta azul modela el tiempo promedio que duer-
men las especies que enfrentan un peligro de 3, la recta verde modela el tiempo promedio
que duermen las especies que enfrentan un peligro de 4 y por último la recta gris modela
el tiempo promedio que duermen las especies que enfrentan un peligro de 5.

Esta gráfica, nos indica claramente que mientras mayor peligro enfrente una especie y
mientras más pesada sea, en promedio menor tiempo dormirá.

You might also like