Ich würde gerne Wege in R finden, um ein lineares Modell effizient zu aktualisieren, wenn eine Beobachtung oder ein Prädiktor hinzugefügt wird. biglm kann beim Hinzufügen von Beobachtungen aktualisiert werden, aber meine Daten sind klein genug, um sich im Speicher zu befinden (obwohl ich eine große Anzahl von zu aktualisierenden Instanzen habe). Es gibt Möglichkeiten, dies mit bloßen Händen zu tun, z. B. um die QR-Faktorisierung zu aktualisieren (siehe "Aktualisieren der QR-Faktorisierung und des Problems der kleinsten Quadrate" von Hammarling und Lucas), aber ich hoffe auf eine vorhandene Implementierung.
15
Es ist Rang einer QR - Update - Funktion in Matlab hier , dass Sie einen Faktor spart in der Komplexität die Koeffizienten einer p-variate linearen Regression zu aktualisieren.p
Obwohl ich vor ein paar Monaten tagelang gesucht habe, konnte ich in R kein Äquivalent finden (Vorsicht, es gibt viele qr.update-Funktionen in cran, aber wenn Sie unter die Haube schauen, sind sie nur Fälschungen - sie rufen an)
lm.update
alles das selbe).Update : versuchen Sie in der Quelle des Pakets "Sprünge". In der R-Quelle finden Sie eine Funktion 'leaps.forward', die eine FORTRAN-Routine 'forwrd' aufruft, die sich im / src des Pakets befindet und anscheinend ein QR-Update vom Rang 1 implementiert.
quelle
Probieren Sie die Aktualisierungsfunktion des linearen Modellobjekts aus
Schauen Sie sich diese Links an
http://stat.ethz.ch/R-manual/R-devel/library/stats/html/update.html
http://www.science.oregonstate.edu/~shenr/Rhelp/update.lm.html
quelle
Ich habe auch seit langem nach einem Äquivalent zum matlab qr-Update gesucht, Sprünge scheinen ein schöner Weg zu sein!
In R können Sie sich die Funktion recresid () in package strucchange ansehen, die beim Hinzufügen einer Beobachtung rekursive Residuen liefert (nicht variabel!). Ich vermute, dass dies nur geringfügig geändert werden muss, um rekursive Betas zu erhalten (der Betar im Code?).
quelle