Numpy hat eine nützliche Kleinste-Quadrate-Schätzung der Form np.linalg.lstsq (X, Y), um Beta so zu schätzen, dass X_i * beta = Y_i, wobei X_i eine mxn-Matrix ist, beta eine Länge -n Zeilenvektor, und Y ist ein Länge-n-Spaltenvektor.Inkrementelle kleinste Quadrate in Python
Was aber, wenn ich Beta immer wieder schätzen möchte, wenn ich Zeilen zu X und Werte zu Y addiere? Mit anderen Worten, ich schätze zuerst Beta mit nur einem einzigen (x, y) Paar, dann schätze ich Beta mit zwei (x, y) Paaren, dann schätze ich Beta mit drei (x, y) Paaren usw. könnte ich tun dies zum Beispiel in einer Online-Lernumgebung.
Wiederholte Aufrufe von np.linalg.lstsq (X, Y), bei wiederholt aktualisierten X und Y, werden funktionieren, aber keine vorherigen Berechnungen verwenden. Dies scheint verschwenderisch.
Gibt es einen besseren Weg?
Vielleicht möchten Sie sich einen Ansatz der [Dynamischen Programmierung] (https://www.codechef.com/wiki/tutorial-dynamic-programming) ansehen. – Andrew