Cálculos en Regresión Felipe Osorio http://www.ies.ucv.cl/fosorio Instituto de Estadı́stica Pontificia Universidad Católica de Valparaı́so Abril 21, 2015 1 / 19 Estimación en regresión lineal I El método por defecto para llevar a cabo la estimación de parámetros en regresión lineal es mediante la descomposición QR. I También podemos usar los siguientes procedimientos: I Descomposición Cholesky. I Descomposición SVD. I Operador Sweep. I Método de gradientes conjugados. 2 / 19 Estimación en regresión lineal: Método Cholesky Podemos usar el método Cholesky (¿por qué?) para obtener estimaciones de los coeficientes de regresión, mediante considerar el sistema de ecuaciones: b = GG> β b = X>Y , X>Xβ y resolvemos los sistemas triangulares: Gz = X > Y , b = z. G> β Observaciones: I El procedimiento requiere “formar” las matrices X > X y X > Y . I Estos resultados no pueden ser “aprovechados” para obtener s2 , los valores predichos y/o residuos. 3 / 19 Estimación en regresión lineal: Método Cholesky Podemos usar el método Cholesky (¿por qué?) para obtener estimaciones de los coeficientes de regresión, mediante considerar el sistema de ecuaciones: b = GG> β b = X>Y , X>Xβ y resolvemos los sistemas triangulares: Gz = X > Y , b = z. G> β Observaciones: I El procedimiento requiere “formar” las matrices X > X y X > Y . I Estos resultados no pueden ser “aprovechados” para obtener s2 , los valores predichos y/o residuos. 3 / 19 Estimación en regresión lineal: Método SVD Considere la descomposición SVD de X como: X = U DV , Rn×p , > donde U ∈ tal que U U = I p . D = diag(δ1 , . . . , δp ) y V ∈ Op . De este modo, podemos re-escribir el modelo lineal como: Y = Xβ + = U DV β + . Sea α = V β, esto lleva al modelo en forma canónica: Y = U Dα + , Cov() = σ 2 I. 4 / 19 Estimación en regresión lineal: Método SVD Sea Z = U >Y , Cov(U > ) = σ 2 I. Entonces, la estimación de parámetros en el modelo canónico es dada por: b = D −1 z. α Finalmente, para obtener el estimador LS en el modelo original, calculamos: b = V >α b = V > D −1 U > Y . β Observaciones: I El procedimiento permite la estimación en problemas de rango deficiente, b = D − z con D − alguna inversa generalizada de D. mediante α I Podemos reescribir de forma simple algunos resultados, como: b = U U > Y = HY , b = Xβ Y En particular, hii = u> i ui , b e = Y − U D α. i = 1, . . . , n. 5 / 19 Estimación en regresión lineal: Método SVD Sea Z = U >Y , Cov(U > ) = σ 2 I. Entonces, la estimación de parámetros en el modelo canónico es dada por: b = D −1 z. α Finalmente, para obtener el estimador LS en el modelo original, calculamos: b = V >α b = V > D −1 U > Y . β Observaciones: I El procedimiento permite la estimación en problemas de rango deficiente, b = D − z con D − alguna inversa generalizada de D. mediante α I Podemos reescribir de forma simple algunos resultados, como: b = U U > Y = HY , b = Xβ Y En particular, hii = u> i ui , b e = Y − U D α. i = 1, . . . , n. 5 / 19 Alternativas a mı́nimos cuadrados I Soluciones regularizadas: Regresión ridge. I Estimación vı́a IRLS: I Modelos lineales generalizados. I Estimación L1 . I Estimación M . I Regresión lineal considerando distribuciones con colas pesadas. 6 / 19 Colinealidad en regresión lineal Considere el modelo de regresión lineal Y = Xβ + , con X ∈ Rn×p , E() = 0 y Cov() = σ 2 I n . Es bien conocido que cuando X es mal-condicionada, el sistema de ecuaciones b = X>Y , X>Xβ puede ser inestable (ver, Stewart, 1987 y Belsley, 1991). 7 / 19 Detección de colinealidad en regresión lineal Considere la descomposición valor singular (SVD) de X, X = U DV > , donde U ∈ Rn×r , tal que U > U = I r , D = diag(δ1 , . . . , δr ) con δ1 ≥ · · · ≥ δr > 0, V ∈ Rr×r es matriz ortogonal y r = rg(X). La detección de colinealidad en el modelo lineal puede ser llevada a cabo por medio del número condición δ1 , κ(X) = kXkkX + k = δr y κ(X) “grande” es indicador de colinealidad. 8 / 19 Número condición Considere la matriz A= 1.000 0.667 0.500 , 0.333 A−1 = −666 1344 1000 . −2000 El número condición se define como κ(A) = kAkkA−1 k para k · k alguna norma matricial. Por ejemplo1 , κ1 (A) = kAk1 kA−1 k1 = (1.667)(3000) = 5001 κ∞ (A) = kAk∞ kA−1 k∞ = (1.500)(3344) = 5016 λ maxx6=0 kAxk/kxk 1.333375 max κ2 (A) = = = 3555.778 = λmin minx6=0 kAxk/kxk 0.000375 1 kAk p = maxkxkp =1 kAxkp , kAk2 = p ρ(A> A) 9 / 19 Cemento Portland (Woods, Steinour y Starke, 1932) Estudio experimental relacionando la emisión de calor durante la producción y endurecimiento de 13 muestras de cementos Portland. Woods et al. (1932) consideraron cuatro compuestos para los clinkers desde los que se produce el cemento. La respuesta (Y ) es la emisión de calor después de 180 dı́as de curado, medido en calorı́as por gramo de cemento. Los regresores son los porcentajes de los cuatro compuestos: aluminato tricálcico (X1 ), silicato tricálcico (X2 ), ferrito aluminato tetracálcico (X3 ) y silicato dicálcico (X4 ). 10 / 19 Cemento Portland (Woods, Steinour y Starke, 1932) Siguiendo a Woods et al. (1932) consideramos un modelo lineal sin intercepto (modelo homogéneo). El número condición escalado es κ(X) = 9.432, esto es X es bien condicionada. (variables centradas, κ(X̃) = 37.106) Por otro lado, Hald (1952), Gorman y Toman (1966) y Daniel y Wood (1980) adoptan un modelo con intercepto (modelo no homogéneo). En cuyo caso, κ(X) = 249.578, sugiriendo la presencia de colinealidad. El aumento en el número condición se debe a que existe una relación lineal aproximada, pues x1 + x2 + x3 + x4 ≈ 100. de modo que incluir el intercepto causa una colinealidad severa. 11 / 19 Tratamiento de colinealidad en regresión lineal El estimador ridge (Hoerl y Kennard, 1970), b = (X > X + λI)−1 X > Y , β λ λ > 0. puede ser visto como la solución del problema regularizado (restringido): min kY − Xβk2 − β λ kβk2 , 2 o bien como el problema mı́nimos cuadrados con datos aumentados: X Y = √ β+ . 0 ∗ λI p En este contexto λ es un parámetro de regularización (parámetro ridge). 12 / 19 Cemento Portland Resultados de estimación: Estimador LS (No homog.) LS (homogéneo) Ridge β0 62.405 8.587 β1 2.193 1.551 2.105 β2 1.153 0.510 1.065 β3 0.759 0.102 0.668 β4 0.486 -0.144 0.400 σ2 4.047 3.682 4.000 b = ps2 /kbk2 = 0.00768 (Hoerl, Kennard y Baldwin, 1975). Se utilizó λ 13 / 19 Regresión L1 Uno de los primeros procedimientos robustos en regresión2 corresponde al problema: min β n X |Yi − x> i β|. i=1 Mı́nimo desvı́o absoluto (LAD) o regresión L1 puede ser planteado como un problema de programación lineal, considerando las partes positivas y negativas de los residuos, e+ y e− , respectivamente, y análogamente para β + , β − . Ası́, el problema puede ser expresado como (Charnes, Cooper y Ferguson, 1955): min 1> (e+ + e− ), β sujeto a: Y = X(β + − β − ) + (e+ − e− ), con β + , β − , e+ , e− deben ser todos ≥ 0. Observación: Barrodale y Roberts (1973, 1974) presentan un algoritmo de propósito especial para resolver éste problema modificando el método simplex y la estructura de datos requerida. 2 Este método es, de hecho, anterior a LS! 14 / 19 Regresión L1 Uno de los primeros procedimientos robustos en regresión2 corresponde al problema: min β n X |Yi − x> i β|. i=1 Mı́nimo desvı́o absoluto (LAD) o regresión L1 puede ser planteado como un problema de programación lineal, considerando las partes positivas y negativas de los residuos, e+ y e− , respectivamente, y análogamente para β + , β − . Ası́, el problema puede ser expresado como (Charnes, Cooper y Ferguson, 1955): min 1> (e+ + e− ), β sujeto a: Y = X(β + − β − ) + (e+ − e− ), con β + , β − , e+ , e− deben ser todos ≥ 0. Observación: Barrodale y Roberts (1973, 1974) presentan un algoritmo de propósito especial para resolver éste problema modificando el método simplex y la estructura de datos requerida. 2 Este método es, de hecho, anterior a LS! 14 / 19 Llamadas telefónicas en Bélgica 1950-73 (Rousseeuw y Leroy, 1987) 200 ● ● 150 ● ● ● calls 50 100 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0 ● ● 50 55 60 65 70 year Ajustes: LS, normal contaminada ( = .15, γ = .10), Student-t (ν = 2.5), L1 . 15 / 19 Regresión L1 I Schlossmacher (1973) originalmente propuso calcular estimadores LAD usando IRLS. I Lange y Sinsheimer (1993) y Phillips (2002) identificaron que éste procedimiento IRLS corresponde a un algoritmo EM. I Sin embargo, también ha sido reportado que este algoritmo puede ser incapaz de detectar la observaciones básicas de manera eficiente. 16 / 19 Regresión lineal: función LAD de L1pack Considere el modelo √ −1 i , Yi = x> i β + ( 2τi ) i = 1, . . . , n ind donde ∼ N (0, σ 2 ) y τi tiene función de densidad g(τi ) = τi−3 exp{− 21 τi−2 }. El algoritmo EM procede a llevar a cabo la estimación de β y σ 2 iterativamente mediante maximizar la función: Q(θ|θ (k) ) = − =− (k) n n 1 X (k) 2 log σ 2 − W (Yi − x> i β) 2 2φ i=1 i n 1 log σ 2 − (Y − Xβ)> W (k) (Y − Xβ) 2 2φ (k) donde W (k) = diag(W1 , . . . , Wn ) y los pesos son dados por: √ (k) (k) |, Wi = E(τi2 |Yi , θ (k) ) = σ (k) / 2|Yi − x> i β (k) para |Yi − x> | > 0. i β Regresión lineal: función LAD de L1pack Considere el modelo √ −1 i , Yi = x> i β + ( 2τi ) i = 1, . . . , n ind donde ∼ N (0, σ 2 ) y τi tiene función de densidad g(τi ) = τi−3 exp{− 21 τi−2 }. El algoritmo EM procede a llevar a cabo la estimación de β y σ 2 iterativamente mediante maximizar la función: Q(θ|θ (k) ) = − =− (k) n 1 X (k) n 2 log σ 2 − W (Yi − x> i β) 2 2φ i=1 i n 1 log σ 2 − (Y − Xβ)> W (k) (Y − Xβ) 2 2φ (k) donde W (k) = diag(W1 , . . . , Wn ) y los pesos son dados por: √ (k) (k) |, Wi = E(τi2 |Yi , θ (k) ) = σ (k) / 2|Yi − x> i β (k) para |Yi − x> | > 0. i β Algoritmo IRLS Paso de coeficientes: 1/2 I Calcular r (k) = Y − Xβ (k) y W (k) (k) (k) = diag(W1 , . . . , Wn ) I Obtener δ (k) como solución del problema WLS 1/2 min kW (k) δ (r (k) − Xδ)k2 I Actualizar β (k+1) = β (k) + δ (k) . Paso de escala: φ(k+1) = 1/2 1 kW (k) r (k+1) k2 n Criterio de convergencia: basado en el criterio usado en la función glm.fit(). 18 / 19 Detalles de la implementación c 1/2 X, Y ∗ = W c 1/2 Y y calcular la descomposición QR de X ∗ Sea X ∗ = W (DGEQRF) X∗ = Q R , 0 Q ∈ On y R ∈ R p×p triangular superior, considere c = Q> Y ∗ , entonces (DORMQR) > > c 1/2 Q e∗ = Q W (Y − Xβ) = c1 − Rβ c2 = r1 r2 de este modo, δ es solución del sistema triangular (DTRTRS) Rδ = r 1 ⇒ Rβ (k+1) = c1 , actualizar β (k+1) = β (k) + δ (DAXPY) y φ(k+1) = kr 2 k2 /n (DNRM2). Finalmente, note que (DORMQR) b ∗ = X ∗ β (k+1) = Q Y Rβ (k+1) 0 =Q c1 0