Verwendung von Standardwerkzeugen für maschinelles Lernen für linkszensierte Daten

11

Ich entwickle eine Prognoseanwendung, deren Zweck es einem Importeur ist, die Nachfrage nach seinen Produkten über sein Kundennetzwerk von Händlern zu prognostizieren. Die Verkaufszahlen sind ein ziemlich guter Indikator für die Nachfrage, solange genügend Lagerbestände vorhanden sind, um die Nachfrage zu befriedigen. Wenn der Lagerbestand jedoch auf Null gesenkt wird (die Situation, die wir unseren Kunden vermeiden möchten), wissen wir nicht viel, um das wir das Ziel verfehlt haben. Wie viele Verkäufe hätte der Kunde gemacht, wenn er ausreichend versorgt gewesen wäre? Standardmäßige, auf Regression basierende ML-Ansätze, die Sales als einfache Zielvariable verwenden, führen zu inkonsistenten Schätzungen der Beziehung zwischen Zeit, meinen beschreibenden Variablen und Nachfrage.

Die Tobit-Modellierung ist der naheliegendste Weg, um das Problem anzugehen : http://en.wikipedia.org/wiki/Tobit_model . Ich wundere mich über ML-Anpassungen von zufälligen Wäldern, GBMS, SVMs und neuronalen Netzen, die auch für eine linkshändige zensierte Struktur der Daten verantwortlich sind.

Kurz gesagt, wie wende ich Tools für maschinelles Lernen auf linkszensierte Regressionsdaten an, um konsistente Schätzungen der Beziehungen zwischen meinen abhängigen und unabhängigen Variablen zu erhalten? Die erste Präferenz wären Lösungen, die in R verfügbar sind, gefolgt von Python.

Prost,

Aaron

Aaron
quelle
3
Würde gerne eine Antwort auf scikit-learn sehen.
tobip
In R können Sie cran.r-project.org/web/packages/censReg/censReg.pdf verwenden . Ich zweite @tobip über Scikit-Learn in Python
Adrian

Antworten:

1

Kurz gesagt, wie wende ich Tools für maschinelles Lernen auf linkszensierte Regressionsdaten an, um konsistente Schätzungen der Beziehungen zwischen meinen abhängigen und unabhängigen Variablen zu erhalten?

Wenn Sie eine Wahrscheinlichkeit aufschreiben und das Vorzeichen auf Minus setzen können, haben Sie selbst eine Verlustfunktion, die für viele Modelle des maschinellen Lernens verwendet werden kann. Bei der Gradientenverstärkung wird dies üblicherweise als Modellverstärkung bezeichnet . Siehe z. B. Boosting-Algorithmen: Regularisierung, Vorhersage und Modellanpassung .

Ein Beispiel für das Tobit-Modell finden Sie unter Gradientenbaum-verstärkte Tobit-Modelle für die Standardvorhersage Papier " . Die Methode sollte mit dem im Artikel erwähnten Scikit-Learn-Zweig verfügbar sein.

Die gleiche Idee wird für richtig zensierte Daten in z. B. gbmund verwendetmboost Paketen in R für richtig zensierte Daten verwendet.

Die obige Idee kann mit anderen Methoden (z. B. einem neuronalen Netzwerk) angewendet werden. Mit Gradient Boosting ist dies jedoch besonders einfach, da Sie nur den Gradienten der Verlustfunktion (die negative Log-Wahrscheinlichkeit) berechnen müssen. Dann können Sie jede Methode anwenden, die Sie bevorzugen, um den negativen Gradienten mit einem anzupassenL.2 Verlust.

Benjamin Christoffersen
quelle