Normalgleichungen (Methode der kleinsten Quadrate)

Normalgleichungen (Methode der kleinsten Quadrate)

Studium
ATA x⃗=ATb⃗A^{T} A\, \vec x = A^{T} \vec b

Voraussetzung: A∈Rm×n,A \in \mathbb{R}^{m \times n}, b⃗∈Rm\vec b \in \mathbb{R}^{m}

AA
Koeffizientenmatrix eines meist überbestimmten Systems (m Gleichungen, n Unbekannte)
b⃗\vec b
rechte Seite, z.B. die Messwerte
x⃗\vec x
gesuchte Lösung im Sinne der kleinsten Quadrate
ATA^{T}
Transponierte von A

Der Vektor x, der den Fehler |Ax − b| minimiert, löst das quadratische System AᵀAx = Aᵀb.

Erklärung

Ein überbestimmtes Gleichungssystem Ax⃗=b⃗A\vec x = \vec b mit mehr Gleichungen als Unbekannten hat meist keine exakte Lösung, etwa wenn Messwerte gestreut sind. Man sucht dann das x⃗\vec x, für das der Fehler ∥Ax⃗−b⃗∥2\lVert A\vec x - \vec b \rVert^2 möglichst klein ist: die Methode der kleinsten Quadrate.

Dieses x⃗\vec x löst die Normalgleichungen ATAx⃗=ATb⃗A^T A \vec x = A^T \vec b. Der Grund ist geometrisch: Ax⃗A\vec x ist der Punkt im Spaltenraum von AA, der b⃗\vec b am nächsten liegt, also die orthogonale Projektion von b⃗\vec b. Das Residuum r⃗=b⃗−Ax⃗\vec r = \vec b - A\vec x steht deshalb senkrecht auf allen Spalten von AA, das heißt ATr⃗=0⃗A^T \vec r = \vec 0. Umgestellt sind das die Normalgleichungen.

Lösbarkeit:

  • Die Normalgleichungen sind immer lösbar.
  • ATAA^T A ist genau dann invertierbar, wenn die Spalten von AA linear unabhängig sind (rg⁡(A)=n\operatorname{rg}(A) = n). Dann ist die Lösung eindeutig: x⃗=(ATA)−1ATb⃗\vec x = (A^T A)^{-1} A^T \vec b.

Die Ausgleichsgerade y=c0+c1ty = c_0 + c_1 t durch Messpunkte (tk, yk)(t_k,\ y_k) ist der Spezialfall mit Zeilen (1, tk)(1,\ t_k) in AA und b⃗=(yk)\vec b = (y_k). Für schlecht konditionierte Probleme rechnet man numerisch besser mit der QR-Zerlegung, weil ATAA^T A die Kondition quadriert.

Beispiele

Gesucht ist die Ausgleichsgerade y=c0+c1ty = c_0 + c_1 t durch (0∣1)(0 \mid 1), (1∣3)(1 \mid 3), (2∣4)(2 \mid 4):

A=(101112),b⃗=(134),ATA=(3335),ATb⃗=(811)A = \begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 1 & 2 \end{pmatrix}, \quad \vec b = \begin{pmatrix} 1 \\ 3 \\ 4 \end{pmatrix}, \quad A^T A = \begin{pmatrix} 3 & 3 \\ 3 & 5 \end{pmatrix}, \quad A^T \vec b = \begin{pmatrix} 8 \\ 11 \end{pmatrix}

Das System 3c0+3c1=83c_0 + 3c_1 = 8, 3c0+5c1=113c_0 + 5c_1 = 11 liefert c1=32c_1 = \frac32 und c0=76c_0 = \frac76. Die Gerade lautet y=76+32ty = \frac76 + \frac32 t.

Das Residuum ist r⃗=(−16, 13, −16)\vec r = \left(-\frac16,\ \frac13,\ -\frac16\right). Probe: ATr⃗=(−16+13−16, 13−26)=(0, 0)A^T \vec r = \left(-\frac16 + \frac13 - \frac16,\ \frac13 - \frac26\right) = (0,\ 0). Die minimale Fehlerquadratsumme ist ∥r⃗∥2=16\lVert \vec r \rVert^2 = \frac16.

Als Vorhersage für t=3t = 3 ergibt sich y=76+92=173≈5,67y = \frac76 + \frac92 = \frac{17}{3} \approx 5{,}67.

Typische Fehler

  • Das überbestimmte System Ax⃗=b⃗A\vec x = \vec b direkt mit dem Gauß-Algorithmus lösen wollen. Es ist in der Regel widersprüchlich.
  • AATA A^T statt ATAA^T A bilden. AATA A^T ist m×mm \times m und passt nicht zu x⃗∈Rn\vec x \in \mathbb{R}^n.
  • Die rechte Seite ATb⃗A^T \vec b vergessen und nur b⃗\vec b einsetzen.
  • (ATA)−1=A−1(AT)−1(A^T A)^{-1} = A^{-1} (A^T)^{-1} ansetzen. Für nicht quadratisches AA gibt es kein A−1A^{-1}.

Verwandte Formeln