Lösung des Kleinste-Quadrate-Problems Computergestützte Statistik Lisakowski, Christof 15.05.2009 Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 1 / 34
Themen 1 Problemstellung 2 Lösungsverfahren 3 Householder-Transformation 4 Implementierung der Verfahren in Softwarepaketen 5 Vergleich der Verfahren 6 Fazit 7 Literatur Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 2 / 34
Problemstellung Definition: Lineares Modell Seien X R n p, y R n, β R p und ε R n. Dann ist durch y = Xβ + ε ein multiples lineares Regressionsmodell mit p Regressoren (Einflussgrößen) und einem Regressor (abhängige Größe) definiert. β ist dabei ein Parametervektor und ε ein Vektor mit latenten Einflussgrößen In der Praxis: β unbekannt schätze β durch ˆβ mit Hilfe der Methode der kleinsten Quadrate. Betrachte dazu folgendes Problem min(y X ˆβ) (y X ˆβ) ˆβ Mit Hilfe der Vektoranalysis kommt man zu den Normalgleichungen X X ˆβ = X y Ax = b Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 3 / 34
Problemstellung Problem Fall 1: A regulär x = A 1 b ˆβ = (X X) 1 X y Fall 2: A singulär x = A b ˆβ = (X X) X y Analytisches Vorgehen klar, numerisch eine Katastrophe Grund: Kondition der Matrix X X Einschub Konditionszahl: K(X X) = s 1(X X) s r (X X), wobei s 1 (X X) größter Singulärwert (Wurzel aus Eigenwert) und s r (X X) der kleinste Singulärwert > 0 der Matrix X X ist. s 1 (X X) s r (X X) groß schlechte Kondition s 1 (X X) s r (X X) 0 gute Kondition Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 4 / 34
Lösungsverfahren Überblick über mögliche Lösungsverfahren Gauß sches Eliminationsverfahren (nur bei regulären Matrizen brauchbar) Anmerkung: keine Betrachtung im weiteren Verlauf Verfahren nach Gram-Schmidt (ursprünglich zur Bestimmung einer g-inversen) Verfahren von Greville (ursprünglich zur Bestimmung einer g-inversen) Verfahren von Householder Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 5 / 34
Lösungsverfahren Definition: Verfahren nach Gram-Schmidt Ausgangssituation: Matrix A R m n, m n ist gegeben Ergebnis des Verfahrens: Dreieckszerlegung der Matrix A in der Form A = BC, wobei B R m k, C R k n (obere Dreiecksmatrix) und Rang(A) = Rang(B) = Rang(C) =: k. Im weiteren: Verwendung eines modifizierten Algorithmus von Gram-Schmidt (Grund: numerische Stabilität) Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 6 / 34
Lösungsverfahren Modifiziertes Verfahren nach Gram-Schmidt (MGS) Seien a 1,..., a k die linear unabhängigen Vektoren der Matrix A. Algorithmus (Vorbereitung) Führe für s = 1,..., k 1 folgendes durch: 1 2 Für i = s + 1,..., k berechne: a (s+1) i q s = a (s) s d s = q sq s r si = (a (s) i ) q s d s = a (s) i r siq s Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 7 / 34
Lösungsverfahren Dreieckszerlegung mit Hilfe von MGS Sei A R m n, Rang(A) = m und B 1 := A. Algorithmus Führe für s = 1,..., n folgendes durch: 1 Wähle a (s) i 0 so, dass gilt a (s) i 0 2 = max i=s,...,n a (s) i 2 2 Vertausche die Spalte s und i 0 in B s 3 Führe Schritt s aus dem vorherigen Algorithmus durch und definiere u si := r si i = s + 1,..., n d s := q sq s Definiere nun C R n n mit c si = u si, 1 s n, s + 1 i n und c ss = u ss = 1, 1 s n. Alle anderen Einträge von C sind 0. C ist obere Dreiecksmatrix und es gilt A = BC, wobei B = (b 1... b n ) die durch Spaltenvertauschungen entstandene Matrix aus A ist. Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 8 / 34
Lösungsverfahren Berechnung der Inversen Mit D := diag(d 1,..., d n ) und P, wobei P eine elementare Permutationsmatrix ist folgt A + = PC 1 D 1 B. Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 9 / 34
Lösungsverfahren Verfahren von Greville Algorithmus Sei A = (a 1... a n ) eine Spaltendarstellung von A, wobei A R m n. Sei A 1 := (a 1 ). Falls a 1 0, dann ist A + 1 = a 1 (a 1 a 1) 1, sonst 0. Berechne für i = 2,..., n: A i := (A i 1 a i ) d i := A + i 1 a i c i := a i A i 1 d i b i := c + i = (c i c i ) 1 c i A + i = (A i 1 a i ) + = ( A + i 1 d i b i b i Nach n Schritten ist A + n die gesuchte g-inverse von A. ) Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 10 / 34
Householder-Transformation Einleitung: Householder-Transformation Sei A R m n, m n und b R m. Gesucht ist widerum die Lösung des linearen Gleichungssystems Ax = b. Vorgehensweise 1 Berechne Householder-Matrizen Q 1,..., Q m 1 und Matrix R = Q m 1... Q 1 A 2 Berechne b durch b = Q b 3 Erhalte neues System Rx = b und löse nach x auf Fragen Wie berechne ich die Householder-Matrizen? Wieso ist das neue Gleichungssystem Rx = b besser als das alte Ax = b? Anmerkung: Im Gegensatz zu Gram-Schmidt und Greville: keine Ausgabe einer (g-)inversen von A Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 11 / 34
Householder-Transformation Householder-Transformation Definiere: 0 = D R m m. Sei ferner à := A. Führe den Algorithmus für i = 1,..., m 1 aus. Algorithmus Sei e i R m+1 i Einheitsvektor der Form e i = (1, 0,..., 0). Ferner sei ã i die i-te Spalte von à ohne die ersten i 1 Einträge und ã ii der Eintrag der Matrix à in der Stelle (i, i). Berechne sgn(ã ii ) = { 1 ãii 0 1 ã ii < 0 v i = ã i + sgn(ã ii ) ã i 2 e i Q i = I m+1 i 2 viv i v i v i Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 12 / 34
Householder-Transformation Householder-Transformation Algorithmus (Fortsetzung) Es gilt für die Householder Matrix Q i : Q i, i = 1 ( ) Q i = Ii 1 0, sonst 0 Q i Berechne: Abschließend berechnet man: Ã neu = Q i Ãalt R = Q m 1... Q 1 A b = Q m 1... Q 1 b Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 13 / 34
Householder-Transformation Householder-Transformation Eigenschaften Householder-Matrix Q = Q 1... Q m 1 ist die gesamte Householder-Matrix Die Q i sind symmetrisch Q ist symmetrisch Q ist orthogonal Q 1 = Q = Q Q ist involutorisch, also Q 2 = I Da R eine obere Dreiecksmatrix ist, ist durch A = QR somit eine QR-Zerlegung von A gegeben. Rx = b ist aufgrund der Gestalt von R somit numerisch viel stabiler zu lösen als Ax = b. x entspricht in diesem Fall unserem β aus X Xβ = X y. Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 14 / 34
Householder-Transformation Householder-Transformation 20 18 44 4 Seien A = 0 40 45, b = 45, gesucht: x R 3, sodass 15 24 108 78 Ax = b gilt. Beispiel 1 ã 1 = (20, 0, 15) 20 v 1 = 0 + 20 2 + 0 2 + ( 15) 2 1 45 0 = 0 15 } {{ } 0 15 =25 v 1v 1 = 45 2 + 0 2 + ( 15) 2 = 2250 Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 15 / 34
Householder-Transformation Householder-Transformation Beispiel: Fortsetzung 1 Berechne jetzt die Householder-Matrix Q 1 und das neue Ã. 45 0 (45 0 15) Q 1 = I 3 2 v1v 1 15 v 1 v = I 3 2 = 1 4 0 3 0 1 0 1 2250 5 3 0 4 25 0 100 Q 1 Ã = 0 40 45 0 30 60 Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 16 / 34
Householder-Transformation Householder-Transformation Beispiel: Fortsetzung 2 Es ist nun ã 2 = (40, 30). Folgende Berechnungen werden durchgeführt: ( ) 40 v 2 = + ( ) ( ) 1 90 40 30 2 + 30 } {{ 2 = } 0 30 =50 ( ) 90 (90 30) 30 Q 2 = I 2 2 v2v 2 v 2 v = I 2 2 2 Q 2 = 1 5 0 0 0 4 3 5 0 3 4 9000 = 1 5 ( 4 ) 3 3 4 Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 17 / 34
Householder-Transformation Householder-Transformation Beispiel: Fortsetzung Abschließend gilt: R = Q 2 Ã = 1 5 0 0 25 0 100 25 0 100 0 4 3 0 40 45 = 0 50 0 5 0 3 4 0 30 60 0 0 75 b = Q 2 Q 1 b = 1 5 0 0 4 0 3 4 50 0 4 3 0 1 0 45 = 0 5 0 3 4 3 0 4 78 75 Das neue Gleichungssystem lautet somit 25 0 100 Rx = b 50 2 0 50 0 x = 0 x = 0 0 0 75 75 1 Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 18 / 34
Householder-Transformation Householder-Transformation Zusammenfassung Welche Vorteile hat das Verfahren bei meiner Arbeit somit? Kondition der Matrix R i.d.r. deutlich besser als von A Berechnungs- und Speicheraufwand gering Verfahren reduziert Dimensionen im Laufe der Zeit (siehe Berechnung: Q i ) Geschwindigkeitsgewinn Nachteil im Vergleich zu Gram-Schmidt und Greville: keine Ausgabe der (g-)inversen von A Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 19 / 34
Implementierung der Verfahren in Softwarepaketen Überblick Frage: Wie lösen verschiedene Software-Pakete das Kleinste-Quadrate-Problem? Bedeutung: Statistiker haben im Alltag mit großen Datenmengen zu tun. Lineare Modelle werden häufig auf große Matrizen mit Dimensionen m, n > 100 angewandt. Problem: Schlechte Konditionierung der Matrizen starke Rechenungenauigkeiten falsche Modelle werden erstellt Kosten entstehen durch Anwendung falscher Modelle Softwarepakete: R, SAS, SPSS, Excel Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 20 / 34
Implementierung der Verfahren in Softwarepaketen Implementierung: R Lösung über QR-Zerlegung (Householder-Transformation) Berechnung von ˆβ Verwendung von LINPACK (früher, dennoch Standardeinstellung) und LAPACK (aktueller) LINPACK (Fortran, C, C++): Programmbibliothek zum Lösen linearer Gleichungssysteme; enthält Rechenverfahren zur schnellen und numerisch stabilen Lösung von linearen Gleichungssystemen u.a.: Implementierung der Householder-Transformation LAPACK (Fortran 77): Fortsetzung von LINPACK (enthält: Routinen zur Lösung von linearen Gleichungssystemen, Ausgleichsproblemen und Eigenwertproblemen) Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 21 / 34
Implementierung der Verfahren in Softwarepaketen Implementierung: SAS Verwendung von ˆβ = (X X) 1 X y, falls (X X) invertierbar, sonst ˆβ = (X X) X y (Quelle: Handbuch) Genauere Information nicht zu erhalten (Grund: SAS ist nicht Open Source) Obere Aussage ist zweifelhaft, da SAS professionell genutzt wird und somit bessere Verfahren Verwendung finden müssten. Positiv: In SAS sind mehrere Verfahren zur Berechnung einer g-inversen implementiert Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 22 / 34
Implementierung der Verfahren in Softwarepaketen Implementierung: SPSS Anwendung eines iterativen Verfahrens SPSS verwendet zur Berechnung von ˆβ eine an die Software angepasste Version des Eliminationsverfahrens von Gauss Vorteil: Numerisch stabiles Verfahren Nachtteil: Sehr rechenintensiv, da viele Berechnungen in SPSS pro Iteration durchgeführt werden langsam bei großen Datenmengen Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 23 / 34
Implementierung der Verfahren in Softwarepaketen Implementierung: Excel Prinzipiell nur Regression mit einem Regressor x und einem Regressor y möglich. Verwendung folgender Formel zur Berechnung von ˆβ 0 und ˆβ 1 : ˆβ 1 = 1 ni=1 n (x i x)(y i ȳ) ni=1 (x i x) 2 1 n ˆβ 0 = ȳ b x Es existiert Add-in, welches Lineare Regression ermöglicht, dort Anwendung der Formel ˆβ = (X X) 1 X y Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 24 / 34
Vergleich der Verfahren Beispiel Konstruktion Zunächst Konstruktion einer Zielke-Matrix Vorteil der Zielke-Matrix: Einträge der Matrix sind ganzzahlig und Konstruktionsprinzip erlaubt ganzzahlige Darstellung der Inversen (näheres: siehe Zielke (1974)) Wähle einen einfachen Vektor b und erhalte ein einfaches Ergebnis Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 25 / 34
Beispieldaten Vergleich der Verfahren Situation: Ax = b, wobei x gesucht wird. 101 102 103 104 100 1 101 102 103 103 100 1 A = 101 102 102 103 100, b = 1 101 101 102 103 100 1 100 101 102 103 99 1 103 1 1 2 100 1 0 0 1 1 0 0 A 1 = 0 1 1 0 0, x = 0 1 1 0 0 0 0 103 1 1 1 101 1 Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 26 / 34
Vergleich der Verfahren Allgemeines zur Genauigkeit der Verfahren > householder(a,b)[[2]] > greville(a) %*% b [,1] [,1] [1,] 1.000000e+00 [1,] 9.999998e-01 [2,] 1.748801e-15 [2,] 4.880580e-10 [3,] -2.121123e-19 [3,] -1.407341e-09 [4,] -3.635849e-15 [4,] 2.012199e-09 [5,] -1.000000e+00 [5,] -9.999998e-01 > Dreieck(A)[[5]] %*% b > solve(a,b) [,1] [,1] [1,] 1.000000e+00 [1,] 1 [2,] -8.541928e-14 [2,] 0 [3,] 7.085010e-14 [3,] 0 [4,] -1.482918e-12 [4,] 0 [5,] -1.000000e+00 [5,] -1 Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 27 / 34
Vergleich der Verfahren Allgemeines zur Genauigkeit der Verfahren solve(x) liefert bestes Ergebnis (Grund: optimierte Verfahren aus LINPACK und LAPACK) Householder genauer als Gram-Schmidt und Greville Greville sehr ungenau: siehe ersten und letzten Eintrag insgesamt: Abweichungen bei der Berechnung (wird bei größeren Matrizen und schlechterer Kondition ein noch größeres Problem) Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 28 / 34
Vergleich der Verfahren Allgemeines zur Schnelligkeit der Verfahren Aussagen in Zeiteinheiten schwierig, da Schnelligkeit von der Güte der Implementierung abhängt Angabe der Rechenzeit in Rechenschritten Gram-Schmidt Greville Householder m > n 2mn 2 2mn 2 2mn 2 m n 2n 3 2n 3 4 3 n3 Angaben nur ungefähr, da noch weitere Operationen im Rechner anfallen (Beispiel: Speichern, Ersetzen,...) bei m > n alle Verfahren ungefähr gleich schnell Wähle Verfahren mit bester Genauigkeit bei m = n (bei KQ-Problem der Fall) ist Householder schneller als Gram-Schmidt und Greville Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 29 / 34
Fazit Fazit Ergebnisse Greville numerisch nicht sehr stabil (in unserem Beispiel sogar Ungenauigkeiten in allen Komponenten) Householder-Transformation deutlich besser in der in LINPACK-optimierten Version in R Householder-Transformation bei guter Implementierung deutlich besser als Gram-Schmidt Für das Kleinste-Quadrate-Problem Householder schneller als Gram-Schmidt (m = n!) Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 30 / 34
Fazit Fazit weitere Ergebnisse LINPACK und LAPACK verbessern Rechengenauigkeit durch Feintuning der Lösungsverfahren Laufzeit stellt bei heutigen Rechnern bei der Berechnung von ˆβ keine Rolle Excel nicht sinnvoll für lineare Regression prinzipiell kein Unterschied zwischen den Programmpaketen (größtes Optimierungspotential: R, da modifizierbar) Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 31 / 34
Literatur Literatur I Anderson, E. et al. (1999), LAPACK Users Guide, SIAM. Ben-Israel, A. und Greville, T.N.E. (1974), Generalized Inverses: Theory and Applications, John Wiley & Sons. Deuflhard, P. und Hohmann, A. (1993), Numerische Mathematik I: Eine algorithmisch orientierte Einführung, Walter de Gruyter. Dongarra, J.J., Bunch, J.R., Moler, C.B. und Stewart, G. W (1978), LINPACK Users Guide, SIAM. Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 32 / 34
Literatur II Literatur Greville, T.N.E. (1960), Some applications of the pseudoinverse of a matrix, SIAM Review 2, Seiten 15-22. Househoulder, A.S. (1958), Unitary Triangularization of a Nonsymmetric Matrix, Journal ACM, 5 (4), Seiten 339-342. Opfer, G. (1994), Numerische Mathematik für Anfänger, Vieweg. Peters, G. und Wilkinson, J.H. (1970), The least-squares problem and pseudoinverses, The Computer Journal 13, Seiten 309-316. Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 33 / 34
Literatur Literatur III Microsoft Excel 2007 (2007), Microsoft Excel 2007 Dokumentation, Microsoft Corporation. R Development Core Team (2009), R: A language and environment for statistical computing, R Foundation for Statistical Computing, Wien. SAS Institute Inc. (2004), SAS Online Doc 9.1.3, SAS Institute Inc.. SPSS Inc. (2008), SPSS Documentation 16, SPSS Inc.. Lisakowski, Christof ()Lösung des Kleinste-Quadrate-Problems 15.05.2009 34 / 34