You are on page 1of 15

Ejemplo de Regresin Lineal Mltiple

Un distribuidor de cervezas est analizando el sistema de entregas de su producto; en particular, est interesado en predecir el tiempo sugerido para servir a los detallistas. El ingeniero industrial a cargo del estudio ha sugerido que los factores que influyen sobre el tiempo de entrega son el nmero de cajas de cervezas y la mxima distancia que debe viajar el despachador. Se tomaron muestras y se obtienen los resultados que se muestran en la tabla 1.
Nmero de Cajas (X1) 10 15 10 20 25 18 12 14 16 22 24 17 13 30 Distancia (X2) 30 25 40 18 22 31 26 34 29 37 20 25 27 23 Tiempo (Y) 24 27 29 31 25 33 26 28 31 39 33 30 25 42

24 33 40 Tabla 1: Nmero de cajas transportadas, distancia recorrida y tiempo de servicio al cliente para 15 muestras de un sistema de reparto de cerveza

Primero se explorar las relaciones entre todas las parejas de variables, en particular la relacin de Y con cada una de las variables independientes. Esto lo detectaremos a travs de las correlaciones y la funcin pairs de R, la cual produce un grfico matricial para las variables dadas. Comandos en R: cervezas=read.table('cervezas.txt',header=T) Cargando los datos pairs(cervezas)

20

25

30

35

40 30

No.cajas

30

35

40

Distancia

20

25

Tiempo
25 10 15 20 25 30 25 30 35 40 30

Figura 1: Plot matricial de las variables del conjunto de datos cervezas

cor(cervezas) - Correlaciones No.cajas Distancia Tiempo No.cajas 1.0000000 -0.4052976 0.7246466 Distancia -0.4052976 1.0000000 0.1269032 Tiempo 0.7246466 0.1269032 1.0000000 los grficos bidimensionales hacemos: plot(No.cajas,Tiempo) y

Si deseamos observar plot(Distancia,Tiempo)

35

40

10

15

20

25

40

35

Tiempo

30

Tiempo
25 10 15 20 No.cajas 25 30

25

30

35

40

20

25

30 Distancia

35

40

Figura 2: Grficos 2D de la variable respuesta en funcin de las variables independientes por separado

Se puede observar que la variable independiente No. de cajas (X1) es la que tiene mejor relacin lineal con el tiempo de entrega, es decir, a medida que aumenta una de ellas aumenta la otra. En tanto la mxima distancia (X2) que debe recorrer el despachador no parece tener una relacin lineal muy marcada para predecir el tiempo. AJUSTE DE UN MODELO

Supongamos que se decide usar un modelo de la forma: yi = 0 + 1x1i + 2 x2i +i De manera matricial tenemos, , donde

Y: vector n x 1 de respuestas (variable dependiente) X: matriz n x p que contiene ceros, unos y/o valores de variables independientes (matriz de diseo) : vector p x 1 de parmetros : vector n x 1 de errores aleatorios

Datos:

x1i = 270 , x2i = 420 , yi = 463


i =1

15

15

15

i =1

i =1

Con lo cual las ecuaciones normales (sistema de mnimos cuadrados) toman la forma

1 0 15 0 3, 478 0, 069 0, 078 463 270 420 463 1 = 270 5.364 7.347 * 8.679 1 = 0, 069 0, 0024 0, 001 * 8.679 2 420 7.347 12.308 13.027 0, 078 0, 001 0, 002 13.027 2

y al resolver se obtiene:

De aqu que:

Tiempo = 2,31 + 0,88 No.cajas + 0, 46 Distancia


En R usamos la instruccin: lm(Tiempo~No.cajas+Distancia) Por las propiedades de los estimadores de mnimos cuadrados, se puede considerar que

donde es el elemento de la diagonal de la matriz tenemos que


1

que corresponde a

. En este caso

3.478 0.069 0.078 ( X X ) = 0.069 0.0024 0.001 0.078 0.001 0.002


t

Ahora bien, no conocemos , de manera que si queremos obtener algn tipo de inferencia sobre el modelo necesitaremos estimarlo. El vector de errores se puede calcular a travs de la siguiente expresin: La suma de errores al cuadrado la obtenemos as: .

Luego podemos calcular

(estimador insesgado de

3 corresponde al nmero de parmetros del modelo

PRUEBA DE HIPTESIS SOBRE LOS PARMETROS Se desea probar: Ho: i = 0 vs. H1: i 0. El estadstico de inters en este caso es

Puede probarse que este estadstico tiene una distribucin t con n-p grados de libertad. Se rechaza H0 cuando | T | > t n-p, / 2 Si no es usada con cuidado, la prueba t puede llevar a resultados errneos, porque las estimaciones de los coeficientes no son independientes. En general, no es recomendable eliminar ms de una

variable a la vez cuando aplicamos este procedimiento, pues slo nos permite comparar modelos que difieren en una variable. Veamos cmo puede usarse esta prueba para el ejemplo de las cervezas. Comencemos probando la hiptesis de que la distancia recorrida no influye en el tiempo de entrega. Esto equivale a plantear:

As, tenemos

Si decidimos usar =0.05, cuando buscamos el valor tabulado de t para un rea de cola de /2 = 0.025 correspondiente a una t con 12 grados de libertad, obtenemos . Como el valor calculado de T es mayor que el tabulado, rechazamos . Es decir, se puede afirmar (a este nivel) que la distancia recorrida es importante para predecir el tiempo de entrega de la cerveza. Realizando la misma prueba para , formulamos las hiptesis

y obtenemos

Comparando nuevamente contra , se rechaza . Es decir, podemos afirmar (a este nivel) que el nmero de cajas distribuidas es importante para predecir el tiempo de entrega de la cerveza. Si se realiza la misma prueba t para el parmetro , se tiene que

En este caso no podemos rechazar la hiptesis nula. Es decir, podemos decir a este nivel de significacin que la constante en el modelo lineal planteado no parece ser relevante para predecir el tiempo de entrega en esta muestra.

Utilizando el comando summary en R, observamos las caractersticas del modelo antes mencionada. Para los parmetros del modelo se reporta los valores estimados de los coeficientes (vector ), los errores estndares ( ) de cada coeficiente, el valor calculado de T y su p-valor correspondiente. Adems si disponemos de valores fijos de (0.001, 0.01, 0.05, 0.1) podemos establecer conclusiones preliminares de esta prueba individual, solamente al observar el p-valor. summary(mod1) Residuals: Min 1Q Median 3Q Max -9.2716 -0.5405 0.5212 1.4051 2.9381 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) No.cajas Distancia --2.3112 0.8772 0.4559 5.8573 0.1530 0.1468 0.395 0.70007 5.732 9.43e-05 *** 3.107 0.00908**

El valor del error estndar residual observado en la salida de R, corresponde a la .

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.141 on 12 degrees of freedom Multiple R-Squared: 0.7368, Adjusted R-squared: 0.6929 F-statistic: 16.8 on 2 and 12 DF, p-value: 0.0003325 El valor del estadstico F: 16.8, pertenece a la comparacin de modelos

En trminos de hiptesis, comparar ambos modelos equivale a plantear las hiptesis:

Recordemos que el estadstico en este caso viene dado por la expresin siguiente

Reemplazando

K es el nmero de parmetros a estimar.

Si fijamos un nivel =0.05 y comparamos el valor de F que acabamos de calcular con =3.89, observamos que el valor calculado es mayor que el valor tabulado. Segn el procedimiento de prueba desarrollado anteriormente, rechazamos ; por tanto, decidimos que el modelo (2) es mejor que el modelo (1). COMPARACIN DE MODELOS Si deseamos comparar modelos anidados, la informacin necesaria se encuentra en las tablas ANOVA de cada modelo. En este caso se considera el problema de comparar dos modelos de la forma: (I) (II) yi= 0 + 1x1i +...+ l xli + i yi= 0 + 1x1i +... + l xli + l+1 xl+1,I + ...+ k xki + i

En este caso contrastamos la hiptesis H0: l+1= l+2 = = k = 0 vs H1: j 0, algn j =l+1,...,k Rechazamos H0 si F > F k-l, n-(k+1). Para generar la tabla ANOVA para un modelo o para comparar dos modelos anidados, se utiliza el comando anova en R. Como la variable Distancia nos haba reflejado una relacin lineal ms dbil, se estimo un modelo lineal sin incluir esta misma. En R, escribimos mod2=lm(Tiempo~No.cajas) summary(mod2)

Residuals: Min 1Q Median 3Q Max -10.6583 -1.6018 -0.1821 2.5262 5.3952 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 18.5452 3.4142 5.432 0.000115 *** No.cajas 0.6845 0.1805 3.791 0.002244 ** --Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 4.053 on 13 degrees of freedom Multiple R-Squared: 0.5251, Adjusted R-squared: 0.4886 F-statistic: 14.37 on 1 and 13 DF, p-value: 0.002244

Al realizar esta instruccin notamos que las pruebas t, nos sugieren rechazar . Es decir, podemos afirmar (a este nivel) que el nmero de cajas distribuidas es importante para predecir el tiempo de entrega de la cerveza, de igual manera nos dice que consideremos la constante en el modelo. Sin embargo, el valor del R2 ajustado disminuye considerablemente.

Realicemos una comparacin de ambos modelos (1 y 2) a travs del ANOVA. Para hacer la comparacin entre los modelos se utiliza la instruccin anova (modelo ms sencillo, modelo ms complejo) anova(mod2,mod1) Esta instruccin permite comparar dos modelos anidados a travs de una prueba F. Res.Df 1 2 13 12 RSS 213.573 118.375 1 95.198 9.6505 0.00908 ** Df Sum of Sq F Pr(>F)

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

En este caso la hiptesis es H0: 2 = 0 vs H1: 2 0 El estadstico en este caso sera

Fijando un nivel =0.05 para la prueba, cuando comparamos el valor anterior con , observamos el valor calculado es mayor que el tabulado, por lo que podemos rechazar la hiptesis nula en este caso. Concluimos de manera similar que la distancia recorrida es importante para predecir el tiempo de entrega de la cerveza. Por lo que nos quedamos con el modelo

Tiempo = 2,31 + 0,88 No.cajas + 0, 46 Distancia

El ajuste y el anlisis de un modelo lineal se sustentan en cuatro suposiciones bsicas: La relacin entre las variables es lineal, lo cual puede ser chequeado con el grfico de los datos. Los errores siguen una distribucin normal. Las varianzas de los errores son iguales (es decir los errores son HOMOCEDSTICOS). Los errores son independientes.

Es necesario entonces preguntarse si estas suposiciones se cumplen.

ANLISIS DE RESIDUOS
Grfico de residuos en papel normal. Debe obtenerse un grfico similar a una recta. Grfico de residuos vs. valores estimados. Grfico de residuos vs. variables explicativas.

Figura 3: Forma de un grfico satisfactorio de residuos

Figura 4. Formas tpicas de grficos de residuos insatisfactorios. (1) Falta un trmino lineal. (2) Falta un trmino de orden superior. (3) No hay homocedasticidad.

Si se desea un grfico de residuos estandarizados vs. valores ajustados en R, existen funciones que extraen ambos objetos de un modelo lineal. Estas funciones son fitted.values y rstandard.

Para chequear la suposicin de normalidad podemos observar los siguientes grficos: rstint<-rstandard(mod1) residuos estndares del modelo ajustado (completo) win.graph() abre una ventana para los grficos par(mfrow=c(1,3)) divide la ventana en una fila y tres columnas hist(rstint) histograma de los residuos estandarizados boxplot(rstint) diagrama de cajas de los residuos estandarizados qqnorm(rstint) grfico de cuantiles de los residuos estandarizados qqline(rstint) Para chequear si la varianza de los errores es constante o no, se puede graficar: plot(fitted.values(mod1),rstandard(mod1), xlab="Valores ajustados", ylab="Residuos estandarizados") - grfico 2D de los valores ajustados vs. los residuos estandarizados abline(h=0) dibuja la recta en cero Para verificar la independencia de los errores plot(No.cajas,rstandard(mod1),xlab="No.cajas",ylab="Residuos estandarizados") plot(Distancia,rstandard(mod1),xlab="Distancia",ylab="Residuos estandarizados")
Histogram of rstint Normal Q-Q Plot

Sample Quantiles

Frequency

-1

-2

-3

-4

-3

-2

-1 rstint

-3

-2

-1

-1

0 Theoretical Quantiles

Residuos estandarizados

-3 25

-2

-1

30 Valores ajustados

35

Residuos estandarizados

-3 10

-2

-1

15

20 No.cajas

25

30

Residuos estandarizados

-3

-2

-1

20

25

30 Distancia

35

40

Figura 5. Grficos analizar los residuos del modelo ajustado

Figura 6. Grfico del plano ajustado

INTERPRETACIN DE LOS COEFICIENTES DE REGRESIN ESTIMADOS En general, un coeficiente de regresin representa el cambio promedio en la variable respuesta (Y) cuando la variable independiente (X) correspondiente se incrementa una unidad adicional, asumiendo que las otras variables independientes permanecen fijas.

1 : 0.88 - Significa que el tiempo promedio de servicio a los clientes aumenta en aproximadamente
0.88 cuando el nmero de cajas transportadas se incrementa, asumiendo que la distancia recorrida se mantiene fija.

2 : 0.46 - Significa que el tiempo promedio de servicio a los clientes se incrementa en promedio
aproximadamente 0.46 de lo que sean las unidades en que viene medida dicho tiempo cuando la distancia recorrida aumenta tambin. Suponiendo que el nmero de cajas de cervezas en este caso se mantiene constante.

0 : 2.31 - Representa el valor del tiempo de servicio a los clientes cuando el nmero de cajas de
cervezas y la distancia recorrida es cero. INTERVALOS DE CONFIANZA PARA LA RESPUESTA MEDIA INTERVALOS En esta parte vamos a construir un intervalo de confianza de 95% para el tiempo medio de servicio a los clientes de la muestra, cuando el nmero de cajas (X1) es 9 y la distancia recorrida (X2 ) es de 16 16. Usando el modelo ajustado tenemos que, el tiempo estimado de servicio cuando X1=9 y X2=16 es:

Luego determinamos que

3.478 0.069 0.078 0.069 0.0024 0.001 0.078 0.001 0.002

Buscamos en la tabla el valor

con n -(k +1) grados de libertad, es decir,

Adems usando

Tenemos nuestro intervalo buscado:

Tenemos un 95% de seguridad de que cuando las variables independientes (nmero de cajas y distancia recorrida) adoptan los valores 9 y 16, el valor medio (E(Y)) de la variable tiempo de servicio est entre 11.6 y 23.3.

INTERVALO DE PREDICCIN PARA UN VALOR PARTICULAR DE LA RESPUESTA Veamos el intervalo de prediccin de 95% para un valor particular de la variable dependiente (tiempo), cuando el nmero de cajas (X1) es 9 y la distancia recorrida (X2 ) es de 16. Usando los valores previos tenemos que:

Observe que, el intervalo de prediccin es considerablemente ms ancho que el intervalo de confianza. En R, se pueden observar estos mismos resultados ejecutando los comandos siguientes Valores=data.frame(No.cajas=9,Distancia=16) predict(mod1, newdata=valores, interval="confidence",level=0.95) predict(mod1, newdata=valores, interval="prediction",level=0.95)

Funciones genricas de extraccin de informacin del modelo

anova(objeto 1, objeto 2) Compara un submodelo con un modelo externo y produce una tabla de anlisis de la varianza. coefficients(objeto) Extrae la matriz de coeficientes de regresin. Forma reducida: coef(objeto). formula(objeto) Extrae la frmula del modelo. plot(objeto) Crea cuatro grficos que muestran los residuos, los valores ajustados y algunos diagnsticos. predict(objeto, newdata=hoja.de.datos) La nueva hoja de datos que se indica debe tener variables cuyas etiquetas coincidan con las de la original. El resultado es un vector o matriz de valores predichos correspondiente a los valores de las variables de hoja.de.datos. residuals(objeto) Extrae la matriz de residuos, ponderada si es necesario. La forma reducida es resid(objeto). step(objeto) Selecciona un modelo apropiado aadiendo o eliminando trminos y preservando las jerarquas. Se devuelve el modelo que en este proceso tiene el mximo valor de AIC
Otras funciones que permiten explorar sucesiones crecientes de modelos son add1(), drop1()