Was ist der Unterschied zwischen kleinsten Quadraten und pseudoinversen Techniken für die lineare Regression?

11

Ich wundere mich über den Unterschied zwischen ihnen. Grundsätzlich erledigen sie am Ende die gleiche Aufgabe, indem sie Parameterkoeffizienten finden, aber sie sehen genauso anders aus, wie wir die Koeffizienten finden. Für mich scheint die Methode der kleinsten Quadrate Differenzierung und Matrixform zu verwenden, um die Koeffizienten zu finden, und Pseudo-Inverse scheinen nur Matrixmanipulation zu verwenden, aber wie kann ich den Unterschied zwischen ihnen sagen? Oder gibt es überhaupt keinen Unterschied?

user122358
quelle
Die pseudo-inverse Matrix nach Moore-Penrose liefert per Definition eine Lösung der kleinsten Quadrate. Das Konzept der kleinsten Quadrate kann aber auch aus der Schätzung der maximalen Wahrscheinlichkeit unter normalen Modellen abgeleitet werden.
Łukasz Grad

Antworten:

13

Im Kontext der linearen Regression bedeutet "kleinste Quadrate", dass wir die Koeffizienten finden möchten, die den quadratischen Fehler minimieren. Es gibt nicht an, wie diese Minimierung durchgeführt werden soll, und es gibt viele Möglichkeiten. Das Multiplizieren des Antwortvektors mit der Moore-Penrose-Pseudoinverse der Regressormatrix ist eine Möglichkeit, dies zu tun, und daher ein Ansatz zur linearen Regression der kleinsten Quadrate (wie andere hervorgehoben haben).

Unterschiede zwischen Methoden können auftreten, wenn die Regressormatrix nicht den vollen Rang hat. Dies kann beispielsweise passieren, wenn die Anzahl der Variablen die Anzahl der Datenpunkte überschreitet. In diesem Fall gibt es unendlich viele Möglichkeiten für optimale Koeffizienten. Die Methoden unterscheiden sich darin, wie sie eine Lösung aus dieser unendlichen Menge auswählen. Das Unterscheidungsmerkmal der pseudoinversen Methode in dieser Situation ist, dass sie die Lösung mit einem Minimum zurückgibt2 Norm.

user20160
quelle
Dies ist die richtige Antwort, aber ich würde genauer sagen, es gibt die minimale L2-Normlösung zurück, da es unendlich viele Möglichkeiten gibt, Ihre Norm zu definieren, und es ist wichtig zu beachten, dass die Lösung beispielsweise nicht die beste sein wird im Sinne der Norm L0 und L_infinity.
Boomkin
Sehr richtig. Ich meinte L2 implizit, aber bearbeitet, um genauer zu sein, wie Sie vorschlagen.
user20160
3

Es kommt darauf an, was Sie unter "Differenzierungstechniken" verstehen. Es gibt zwei Methoden, die ich darunter verstehen könnte:

  • Verwenden Sie die Differenzierung, um den Gradienten abzuleiten, und führen Sie dann einen Gradientenabstieg auf der Fehleroberfläche durch. Dies wäre jedoch für die lineare Regression eher ungewöhnlich (jedoch nicht für andere Arten der Regression).

  • Verwenden Sie die Differenzierung, um den Gradienten abzuleiten, und verwenden Sie diese dann, um ein Minimum analytisch zu bestimmen, indem Sie den Gradienten auf Null setzen.

Die erste Methode unterscheidet sich stark von der Pseudo-Inversen. Der zweite ist nicht. Wenn Sie die Differenzierung durchführen und die Gleichung lösen, die sich aus dem Setzen des Gradienten auf Null ergibt, erhalten Sie als allgemeine Lösung genau die Pseudo-Inverse.

Wenn Sie darüber nachdenken, macht es sehr viel Sinn. Wenn unterschiedliche Techniken zu unterschiedlichen Koeffizienten führen würden, wäre es schwer zu sagen, welche richtig sind. Wenn sie dieselben Koeffizienten erzeugen, sollte es auch so sein, dass Sie die für eine Methode verwendeten Gleichungen von der anderen ableiten können.

LiKao
quelle
3

Wie in den anderen Antworten ausgeführt wurde, ist das Multiplizieren mit der Pseudoinverse eine der Möglichkeiten, eine Lösung der kleinsten Quadrate zu erhalten.

Es ist leicht zu verstehen, warum. Sagen wir, Sie habenk Punkte in n- -Dimensionsraum:

X.=[1x11x12x13x1n1x21x22x23x2n1xk1xk2xk3xkn]]

Lassen Sie jeden entsprechenden Punkt einen Wert in haben Y.::

Y.=[y1y2yk]]

Sie möchten eine Reihe von Gewichten finden

W.=[w1w2wn]]

so dass der quadratische Fehler zwischen X.W. und Y. wird minimiert, das ist die Lösung der kleinsten Quadrate: michnW.f(W.), wo f(W.)=(Y.- -X.W.)T.(Y.- -X.W.) (Sie können das leicht sehen f(W.) ist die Summe der quadratischen Fehler).

Wir tun dies, indem wir die Ableitung von finden f(W.) durch W. und setzen Sie es auf 0::

δfδW.=δ(Y.- -X.W.)T.(Y.- -X.W.)δW.=δ(Y.T.Y.- -W.T.X.T.Y.- -Y.T.X.W.+W.T.X.T.X.W.)δW.=δ(Y.T.Y.- -2Y.T.X.W.- -Y.T.X.W.+W.T.X.T.X.W.)δW.=δY.T.Y.- -2Y.T.X.W.+W.T.X.T.X.W.δW.=- -2Y.T.X.+2W.T.X.T.X.

Setzen Sie die Ableitung auf 0::

2W.T.X.T.X.=2Y.T.X.
X.T.X.W.=X.T.Y.
(X.T.X.)- -1X.T.X.W.=(X.T.X.)- -1X.T.Y.
W.=(X.T.X.)- -1X.T.Y.

Auf diese Weise können wir die pseudo-inverse Matrix als Lösung für das Problem der kleinsten Quadrate ableiten.

spülen
quelle
2

Die pseudo-inverse Lösung basiert auf dem Fehler der kleinsten Quadrate, wie Łukasz Grad hervorhob. Das heißt, Sie lösen tatsächlich das Minimierungsproblem von,

E.(W.)=12(y(ich)- -W.T.x(ich))2

durch Differenzieren des Fehlers wrt W.. Dann bekommen Sie die Lösung:W.=(X.T.X.)- -1X.T.Y.. (Beachten Sie, dass Pseudo-Inverse nicht invers ist. Sie können die Lösung also nicht als gleich interpretierenX.- -1Y., was wie eine Lösung aus erscheinen mag X.W.=Y.direkt mit Matrixmanipulation. Es ist ein weiteres Thema, wie man die Pseudo-Inverse findet.)

Wenn Sie nach der kovarianzbasierten Lösung fragen W.=cÖv(X.,Y.)veinr(X.)kann es als direkte Lösung interpretiert werden, die auf der linearen Beziehung zwischen basiert X. und Y.. Tatsächlich wird diese Lösung auch streng aus dem Fehler der kleinsten Quadrate abgeleitet, und der Unterschied zum pseudoinversen ist nicht wesentlich. Dies ist immer noch die pseudo-inverse Lösung, aber Sie wissen, dass Ihre Linie definitiv den Punkt der Mittelwerte durchläuft(X.¯,Y.¯). Das Fehlermaß kann also wie folgt umgeschrieben werden:

E.(W.)=12((y(ich)- -y¯)- -W.T.(x(ich)- -x¯))2

Wenn Sie verwenden x- -x¯ zu repräsentieren x und y- -y¯ zu repräsentieren yist Ihre Lösung mit Pseudo-Inverse dieselbe wie die mit Kovarianz. Der Unterschied besteht darin, dass Sie den Achsenabschnitt jetzt separat berechnen müssen, da durch Subtrahieren der Mittelwerte vonx und yzentrieren Sie die Koordinaten virtuell auf (x¯,y¯)und Ihre Linie passiert es, daher ist der Achsenabschnitt Null. Sie haben das neue Koordinatensystem wieder dem ursprünglichen zugeordnet, indem Sie den Achsenabschnitt mit berechnenw0=y¯- -W.T.x¯.

Xiao-Feng Li
quelle