numpy
より多くの観測値で近似を更新できる、通常の最小二乗のベースの実装を探しています。AppliedStatisticsアルゴリズムAS274またはRのラインに沿った何かbiglm
。
それができない場合は、QR分解を新しい行で更新するためのルーチンも重要になります。
ポインタはありますか?
numpy
より多くの観測値で近似を更新できる、通常の最小二乗のベースの実装を探しています。AppliedStatisticsアルゴリズムAS274またはRのラインに沿った何かbiglm
。
それができない場合は、QR分解を新しい行で更新するためのルーチンも重要になります。
ポインタはありますか?
scikits.statsmodelsには、これに使用できるサンドボックス内の逆X'Xを更新する再帰OLSがあります。(再帰的なOLS残差を計算するためにのみ使用されます。)
Nathaniel Smithは、データが大きすぎてscipy-userメーリングリストのメモリに収まらない場合に、OLSのコードを投稿しました。メインコードはX'Xを更新します。
econpyにもその機能があると思います。
PandasのOLSは拡大していますが、オンラインでの使用は簡単ではない場合があります。
Nathanielsコードはbiglmに最も近い可能性があります。一般線形モデル(同一性とは異なる誤差共分散)には何もないと思います。
これに使用するには、すべてにいくつかの作業が必要です。QRを更新するpython(-wrapped)コードを知りません。
更新: http: //mail.scipy.org/pipermail/scipy-dev/2010-February/013853.htmlを参照してください
利用可能なcholmodにはインクリメンタルqrとコレスキーがありますが、Windowsの問題でライセンスまたはコンパイルのいずれかを試していませんでした。また、incremental_qrを動作させようとしたとは思いません。
http://mail.scipy.org/pipermail/scipy-dev/2010-February/013844.html
http://code.google.com/p/pythonequations/downloads/listでpythonequationsプロジェクトを試すことができますが、scipyとnumpyを使用する必要がある以上の場合があります。そのコードは、http://zunzun.comオンラインカーブおよびサーフェスフィッティングWebサイトのミドルウェアです(私は作成者です)。ソースコードには多くの例が付属しています。または、Webサイトだけで十分な場合もあります。試してみてください。
James Phillips
2548 Vera Cruz Drive
Birmingham, AL 35235 USA
zunzun@zunzun.com
これはまだ詳細な答えではありませんが、次のとおりです。
ちなみに、このQR
ようなアップデートはに実装されていませんが、とにかく、実際に何を目指しているのか、より詳細な方法を指定していただきたいと思います。 numpy
特に、新しい観測値(の束)が到着したときに(そして最新のハードウェアでは実際にかなり大きくなる可能性がある)、最新の観測値でx
(のAx= b
)の新しい推定値を計算するだけでは受け入れられないのはなぜですか?k
k
ファイルのLSQ.F90
一部は、次のように簡単にコンパイルできます。
gfortran-4.4 -shared -fPIC -g -o lsq.so LSQ.F90
これはPythonで機能します。
from ctypes import cdll
lsq = cdll.LoadLibrary('./lsq.so')
関数呼び出しを理解したらすぐに、この回答に含めます。