2008-10-15 14 views
7

Ich möchte spärlich hohe dimensionale (ein paar tausend Funktionen) Kleinste-Quadrate-Regression mit ein paar hunderttausend Beispiele. Ich bin froh, nicht-fancy-Optimierung zu verwenden - stochastische Gradienten-Abstieg ist in Ordnung.Werkzeuge für Sparse kleinste Quadrate Regression

Kennt jemand irgendeine Software, die bereits dafür implementiert wurde, also muss ich nicht zu meinem eigenen schreiben?

Mit freundlichen Grüßen.

+1

Vielen Dank für Ihre Kommentare. Ich war auf der Suche nach etwas, das nur die Gradienten Berechnungen und alle Daten für mich streiten würde. Am Ende konnte ich nichts finden. R schien mit großen Datenmengen umzukippen. Ich habe eine Lösung mit numpy in Python implementiert. – Owen

Antwort

5

Während ich nicht sicher weiß, scheint mir das die Art von Sache, die LAPACK (lineares Algebra-Paket) Unterstützung bieten könnte. Sie sind in der Regel an großen Matrixmathematik interessiert, darunter dünn besetzte Matrizen und Out-of-Core-Größen. Die Basisversion ist FORTRAN, aber es gibt Ports der Bibliotheken für C und andere Sprachen.

Da LAPACK BLAS (grundlegende lineare Algebra-Unterprogramme) für viele seiner zugrunde liegenden Aufrufe verwendet, werden Sie wahrscheinlich auch Sparse BLAS auschecken wollen.

1

Ich würde vorschlagen, einen Blick auf LAPACK. Es ist eine ziemlich reife lineare Algebra-Bibliothek, obwohl die Verbindung mit ihr ein bisschen schwierig sein kann, da sie in Fortran geschrieben ist. Das ist in Ordnung, denn Fortran ist ABI-kompatibel mit C, wenn Sie Ihre Funktionsprototypen richtig machen.

[Bearbeiten] Bei weiterer Überprüfung scheint es, dass LAPACK keine Sparse-Matrizen unterstützt. Es kann für einige Zwecke mit banded Matrizen umgehen, aber für das lineare Kleinste-Quadrate-Problem unterstützt es nur allgemeine Matrizen.

3

Ich bin mir ziemlich sicher, dass die R package für solche Probleme verwendet werden kann. Es ist unglaublich leistungsstark und flexibel. Viele Online-Ressourcen von dieser Seite verlinkt.

Verwandte Themen