Scikit-learn: Lineare Quantilregression hinzufügen

Erstellt am 13. Mai 2014  ·  17Kommentare  ·  Quelle: scikit-learn/scikit-learn

Es scheint, dass es in Python nicht sehr viele Pakete mit Quantilregression gibt ...

Hilfreichster Kommentar

Hallo an alle! Bitte überprüfen Sie meine PR, wenn Sie Zeit dafür haben.

Alle 17 Kommentare

Es scheint, dass es in Python nicht sehr viele Pakete mit Quantil gibt
rückschritt...

Warum sollte es in scikit-learn gehen?

Wenn möglich, warum nicht?

Weil wir bereits eine Menge Code warten müssen und wir nur beliebte ML-Algorithmen einbeziehen. Ist das beliebt? Bietet es klare Vorteile für Aufgaben des maschinellen Lernens gegenüber anderen Ansätzen?

(Übrigens hat VW eine Quantilregression mit Verlust ℓ(p,y) = τ(p - y)[[y ≤ p]] + (1 - τ)(y - p)[[y ≥ p]] wobei [ [⋅]] sind Iverson-Klammern.)

GradientBoostingRegressor unterstützt die Quantilregression (unter Verwendung loss=quantile und dem Parameter alpha ). Ein Beispiel finden Sie unter http://scikit-learn.org/dev/auto_examples/ensemble/plot_gradient_boosting_quantile.html#example -ensemble-plot-gradient-boosting-quantile-py.

Das hätte ich überprüfen sollen. Schließe dieses Problem.

Ich stimme zwar nicht zu, dass dies nicht viele Pakete für die Quantilregression in Python sind, aber ich glaube, dass es wichtig ist, eine reine Quantilregression (nicht innerhalb einer Ensemble-Methode) für Sci-Kit Learn zu haben.

Die Quantilregression hat den Vorteil, dass sie auf ein bestimmtes Quantil von y abzielt. Damit ist es möglich, die Differenz des Medians von y_pred und y zu verringern. Es ähnelt in diesem Fall der Minimierung des absoluten Fehlers, ist jedoch viel allgemeiner und funktioniert für andere Quantile.

Banken verwenden dies häufig im Umgang mit Kreditwürdigkeits- und anderen Modellen, daher ist es ein kampferprobtes Modell mit echten Anwendungen. R und SAS haben dieses Modell implementiert.

@prcastro meinst du für ein lineares Modell?

Exakt. Heute implementiert sklearn die Quantilregression für Ensemble-Methoden. Es wird jedoch normalerweise als reguläres lineares Modell verwendet.

Ich wäre offen dafür, es hinzuzufügen. @jnothman @GaelVaroquaux?

Es scheint in der Tat ziemlich etabliert zu sein

Ich wäre offen dafür, es hinzuzufügen. @jnothman @GaelVaroquaux?

Kein Widerspruch. Wir brauchen nur eine gute PR und Zeit, sie zu überprüfen.

In Bezug auf den speziellen Fall der Quantilregression für den Median (absoluter Verlust) im Gegensatz zu allgemeineren Quantilen scheint http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.HuberRegressor.html dies zuzulassen es, wenn wir nur epsilon=0.0 übergeben könnten. Warum benötigt HuberRegressor epsilon : float, greater than 1.0 ? ( The Huber Regressor optimizes the squared loss for the samples where |(y - X'w) / sigma| < epsilon and the absolute loss for the samples where |(y - X'w) / sigma| > epsilon. )

Huber-Verlust mit epsilon=0 ist ein nicht glattes Optimierungsproblem: eins
kann nicht dieselbe Solverklasse verwenden.

Ich habe die klassische lineare Quantil-Regression in der obigen Pull-Anforderung hinzugefügt. Bitte überprüfen sie es!

Hallo an alle! Bitte überprüfen Sie meine PR, wenn Sie Zeit dafür haben.

Klingeln

Es scheint, dass es in Python nicht sehr viele Pakete mit Quantilregression gibt ...

Sie werden nicht hören, dass es 2020 ist, und wir haben immer noch kein richtiges qunatiles Regressionspaket

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen