Ich habe gelesen, dass eine Ridge-Regression durch einfaches Hinzufügen von Datenzeilen zur ursprünglichen Datenmatrix erzielt werden kann, wobei jede Zeile unter Verwendung von 0 für die abhängigen Variablen und der Quadratwurzel von oder Null für die unabhängigen Variablen erstellt wird. Für jede unabhängige Variable wird dann eine zusätzliche Zeile hinzugefügt.
Ich habe mich gefragt, ob es möglich ist, für alle Fälle einen Beweis abzuleiten, auch für logistische Regressionen oder andere GLMs.
logistic
generalized-linear-model
ridge-regression
Schneeflocke
quelle
quelle
Antworten:
Ridge Regression minimiert .∑ni=1(yi−xTiβ)2+λ∑pj=1β2j
(Oft wird eine Konstante benötigt, aber nicht verkleinert. In diesem Fall ist sie in den und Prädiktoren enthalten. Wenn Sie sie jedoch nicht verkleinern möchten, haben Sie keine entsprechende Zeile für die Pseudobeobachtung. Oder wenn Sie wollen es schrumpfen, Sie tun es eine Reihe haben. ich kann es schreiben würde , als ob es in dem nicht gezählt ist p , und nicht geschrumpft, da es der kompliziertere Fall ist. der andere Fall eine triviale Änderung von dieser ist. )β p
Wir können den zweiten Term als Pseudobeobachtungen schreiben, wenn wir jedes "y" und jeden der entsprechenden ( p + 1 ) -Vektoren "x" so schreiben könnenp (p+1)
Aber bei der Betrachtung sei einfach , sei x n + j , j = √yn+j=0 und lassen Sie alle anderenx n + j , k =0(einschließlichx n + j , 0 =0typisch).xn+j,j=λ−−√ xn+j,k=0 xn+j,0=0
Dann
.(yn+j−[xn+j,0β0+xn+j,1β1+xn+j,2β2+...+xn+j,pβp])2=λβ2j
Dies funktioniert für die lineare Regression. Bei der logistischen Regression funktioniert dies nicht, da bei der normalen logistischen Regression die Summe der quadratischen Residuen nicht minimiert wird.
[Ridge-Regression ist nicht das einzige, was mit solchen Pseudo-Beobachtungstricks erreicht werden kann - sie tauchen in einer Reihe anderer Zusammenhänge auf.]
quelle
Die Verallgemeinerung dieses Rezepts auf GLMs ist in der Tat nicht schwierig, da GLMs normalerweise unter Verwendung iterativ neu gewichteter kleinster Quadrate angepasst werden . Daher kann man innerhalb jeder Iteration den regulären gewichteten Schritt der kleinsten Quadrate durch einen Schritt der bestraften kleinsten Quadrate ersetzen, um einen bestraften Kamm-GLM zu erhalten. Tatsächlich wird dieses Rezept in Kombination mit adaptiven Ridge-Strafen verwendet, um mit L0 bestrafte GLMs (auch als beste Teilmenge bezeichnet, dh GLMs, bei denen die Gesamtzahl der Koeffizienten ungleich Null bestraft wird) anzupassen. Dies wurde zum Beispiel im l0ara-Paket implementiert , siehe dieses und dieses Dokument für Details.
Es ist auch erwähnenswert, dass die schnellste geschlossene Methode zur Lösung einer regulären Gratregression die Verwendung von ist
für den Fall, wo
n>=p
oder mitwann
p>n
und für ein Modell ohne Intercept.Dies ist schneller als die Verwendung des Rezepts für die Zeilenvergrößerung , dh das Ausführen
Wenn Sie für Ihre angepassten Koeffizienten Einschränkungen hinsichtlich der Nicht-Negativität benötigen , können Sie dies einfach tun
das ergibt dann übrigens ein etwas genaueres Ergebnis als
(und genau genommen
nnls(A=crossprod(X)+diag(lambdas), b=crossprod(X,Y))$x
ist dann nur die Lösung die richtige).Ich habe noch nicht herausgefunden, wie der Fall mit eingeschränkter Nicht-Negativität für den
p > n
Fall weiter optimiert werden könnte - lassen Sie mich wissen, wenn jemand zufällig wissen würde, wie dies zu tun ist ... [lmridge_nnls_largep = function (X, Y, lambda) t(X) %*% nnls(A=tcrossprod(X)+lambda*diag(nrow(X)), b=Y)$x
funktioniert nicht]quelle