Maindonald beschreibt eine sequentielle Methode, die auf Givens Rotationen basiert . (A Givens - Rotation ist eine orthogonale Transformation der zwei Vektoren , die in einer der Vektoren einen gegebenen Eintritts Nullen.) Bei dem vorherigen Schritt die zerlegt haben Designmatrix in eine Dreiecksmatrix über eine orthogonale Transformation so dass . (Es ist schnell und einfach, die Regressionsergebnisse aus einer Dreiecksmatrix zu erhalten.) Wenn Sie an eine neue Zeile unterhalb von angrenzen , erweitern Sie effektiv um eine Zeile ungleich Null Sagen Sie auchT Q Q X = ( T , 0 ) ' v X ( T , 0 ) ' t T T t T QXTQ.QX=(T,0)′vX(T,0)′t. Die Aufgabe besteht darin, diese Zeile auf Null zu setzen, während die Einträge in der Position von diagonal bleiben. Eine Folge von Givens-Rotationen führt dies aus: Die Rotation mit der ersten Zeile von das erste Element von auf ; dann setzt die Drehung mit der zweiten Zeile von das zweite Element auf Null und so weiter. Der Effekt ist, dass durch eine Reihe von Rotationen vormultipliziert wird , was seine Orthogonalität nicht ändert.TTtTQ
Wenn die Entwurfsmatrix Spalten enthält (was bei der Regression von Variablen plus einer Konstanten der Fall ist ), überschreitet die Anzahl der erforderlichen Umdrehungen nicht und jede Umdrehung ändert zwei -Vektoren. Der für benötigte Speicher ist . Somit hat dieser Algorithmus sowohl zeitlich als auch räumlich einen Rechenaufwand von .p p + 1 p + 1 T O ( ( p + 1 ) 2 ) O ( ( p + 1 ) 2 )p+1pp+1p+1TO((p+1)2)O((p+1)2)
Mit einem ähnlichen Ansatz können Sie die Auswirkung des Löschens einer Zeile auf die Regression bestimmen. Maindonald gibt Formeln; so tun Belsley, Kuh & Welsh . Wenn Sie also nach einem sich bewegenden Fenster für die Regression suchen, können Sie die Daten für das Fenster in einem Ringpuffer speichern, der an das neue Datum angrenzt, und bei jeder Aktualisierung das alte löschen. Dies verdoppelt die Aktualisierungszeit und erfordert zusätzlichen Speicher für ein Fenster mit der Breite . Es scheint, dass das Analogon des Einflussparameters wäre.k 1 / kO(k(p+1))k1/k
Für den exponentiellen Zerfall denke ich (spekulativ), dass Sie diesen Ansatz an gewichtete kleinste Quadrate anpassen könnten, indem Sie jedem neuen Wert eine Gewichtung größer als 1 zuweisen. Es sollte nicht erforderlich sein, einen Puffer mit vorherigen Werten zu pflegen oder alte Daten zu löschen.
Verweise
JH Maindonald, Statistische Berechnung. J. Wiley & Sons, 1984. Kapitel 4.
DA Belsley, E. Kuh, RE Welsch, Regressionsdiagnostik: Identifizierung von Einflussdaten und Quellen der Kollinearität. J. Wiley & amp; Söhne, 1980.