Bei der Optimierung eines logistischen Regressionsmodells führen manchmal mehr Daten dazu, dass die Dinge * schneller * laufen. Irgendeine Idee warum?

8

Ich habe mit logistischer Regression mit verschiedenen Batch-Optimierungsalgorithmen (konjugierter Gradient, Newton-Raphson und verschiedene Quasinewton-Methoden) herumgespielt. Eine Sache, die mir aufgefallen ist, ist, dass das Hinzufügen von mehr Daten zu einem Modell manchmal dazu führen kann, dass das Training des Modells viel weniger Zeit in Anspruch nimmt. Für jede Iteration müssen mehr Datenpunkte betrachtet werden. Die Gesamtzahl der erforderlichen Iterationen kann jedoch erheblich sinken, wenn weitere Daten hinzugefügt werden. Dies geschieht natürlich nur bei bestimmten Datensätzen, und irgendwann führt das Hinzufügen weiterer Daten dazu, dass die Optimierung langsamer wird.

Ist das ein gut untersuchtes Phänomen? Wo finde ich weitere Informationen darüber, warum / wann dies passieren könnte?

Mike Izbicki
quelle
5
Dies ist eine interessante Beobachtung. Dass die Anzahl der Iterationen mit mehr Daten abnehmen kann, ist intuitiv: Außer bei vollständiger Trennung bedeutet mehr Daten eine höhere Genauigkeit, selbst bei groben Startschätzungen der Lösung. Bei weniger Daten muss möglicherweise eine breitere anfängliche Suche mit kleinen Verläufen durchgeführt werden. Die Analyse der Informationsmatrix in einer Nachbarschaft der wahren Parameterwerte würde diese Intuition quantitativ machen.
whuber
5
Neben den Dingen, die @whuber erwähnt, kann das Hinzufügen von Daten die Wahrscheinlichkeitsoberfläche "schöner" machen, was bedeutet, dass typische Algorithmen viel schneller konvergieren sollten. In kleinen Stichproben kann die Konvergenz für GLMs manchmal langsam sein, da die Oberfläche keine schöne, fast quadratische Sache in den Parametern ist. Wenn die Stichprobengröße größer wird - insbesondere wenn Sie eine kanonische Verknüpfungsfunktion haben und die Wahrscheinlichkeit nur eine Funktion einiger einfacher ausreichender Statistiken ist -, kann dies nicht nur in Iterationen, sondern möglicherweise sogar zeitlich schneller sein.
Glen_b -State Monica
1
Ich verstehe die Intuition, die Sie beide erwähnen, aber ich bin gespannt, ob dies irgendwie etwas mehr quantifiziert werden kann. Zum Beispiel einige experimentelle Ergebnisse, die zeigen, wie viel Geschwindigkeitsverbesserung möglicherweise durch mehr Daten erzielt werden kann.
Mike Izbicki
1
Viele seltsame Dinge können die Verarbeitungsgeschwindigkeit beeinflussen. Siehe zum Beispiel die am häufigsten gestellte Frage zum Stapelüberlauf .
Nick Stauner
Können Sie einen Fall angeben, der dies zeigt? Wenn Sie es für Ihre Erfahrung "typisch" machen und zeigen könnten, dass eine Teilmenge ansonsten "gesunder" Daten eine langsame Konvergenz aufweist, die Datenmenge selbst jedoch eine schnellere Konvergenz aufweist, könnte dies zu einer besseren Antwort führen. Ich glaube, ich habe gerade Mike Izbicki paraphrasiert.
EngrStudent

Antworten:

4

Bei weniger Datenmengen ist die falsche Korrelation zwischen Regressionseingaben häufig hoch, da Sie nur so viele Daten haben. Wenn Regressionsvariablen korreliert werden, ist die Wahrscheinlichkeitsfläche relativ flach, und es wird für einen Optimierer, insbesondere einen, der nicht das vollständige Hessische (z. B. Newton Raphson) verwendet, schwieriger, das Minimum zu finden.

Hier finden Sie einige schöne Grafiken und weitere Erklärungen dazu, wie verschiedene Algorithmen gegen Daten mit unterschiedlichen Korrelationsbeträgen arbeiten: http://fa.bianp.net/blog/2013/numerical-optimizers-for-logistic-regression/

Joe
quelle