Konfidenzintervall für xgb-Prognose

8

Experten! Vielleicht wissen Sie, wie man das Konfidenzintervall für xgboost berechnet? Eine klassische Formel mit T-Verteilung kann nicht helfen, da meine Daten nicht normal verteilt sind. Oder spielt das keine Rolle?

Wenn Sie Literatur vorschlagen, ist dies sehr nützlich, aber auch Ansätze in R und Python (im Kontext der Bibliothek xgb) sind gut.

Vielleicht sieht es aus wie das , aber wie es berechnen? Und fand dies - es ist richtig oder nicht?

PS: Ich kann leider keine Bilder hinzufügen, die mit meinen Daten zusammenhängen (Anzahl der Links).

Lu Wao
quelle
Ist das ein Klassifizierungsproblem? Wenn Sie sagen, dass die Daten nicht normal sind, meinen Sie damit multivariate Normalität?
Michael R. Chernick
@ MichaelChernick Nein, Regressionsproblem. Ich denke, Daten können als multivariate Normal bezeichnet werden, da ich Informationen über verschiedene Städte und Nebengebäude darin habe. Daher bezog sich mein Konfidenzintervall auf die Verteilung für jede Stadt.
Lu Wao
Das Problem ist nicht klar angegeben. Keine Möglichkeit, dies zu sagen, war ein Regressionsproblem. Ich hatte den Eindruck, dass es sich um eine Klassifizierung handelt, die auf dem Betrachten Ihrer Links basiert. Wenn es sich um eine Regression handelt, gibt es nur eine Prädiktorvariable und eine abhängige Variable? Wenn dies der Fall ist, verwenden Sie die t-Verteilung für die Regressionsparameter, über die Sie sprechen. Dies kann auch für einen bestimmten angepassten Wert von y (abhängige Variable) bei gegebenem x (Prädiktorvariable) oder ein Vorhersageintervall für einen neuen Wert von y sein.
Michael R. Chernick
@MichaelChernick Im Modell eine abhängige Variable und mehr als 30 unabhängige Variablen. Ja, xgb funktioniert mit Bäumen (die anfänglich das Klassifizierungsproblem lösen), aber ich habe es für die Regression verwendet.
Lu Wao
1
@ ab90hi Aber danke für Ihre Antwort, jetzt weiß ich, dass R automatisch falsches Intervall berechnet :)
Lu Wao

Antworten:

4

Das ist also die Antwort! ( Spiegel )

Um Konfidenzgrenzen für abnormal verteilte Daten zu erstellen, müssen Sie zunächst eine Quantilregression und nicht wie standardmäßig eine lineare Regression erstellen. Dazu ist es notwendig, die abgeleiteten Ableitungen aus dem Artikel zu verwenden oder einfach den Code auf die Python zu kopieren, um die Variable 'Ziel' anzupassen. Es ist auch notwendig, die Gradientenfunktion und die Gaußsche Funktion zu ändern. Nachdem alles programmiert ist, erstellen Sie eine Quantilregression für das 50. Quantil (dies ist die anfängliche Regression) und dann zwei Quantilregressionen für die beiden Grenzen des Intervalls (z. B. 95 und 5). Als Ergebnis erhalten Sie nicht nur ein genaueres Modell für die anfängliche Regression, sondern auch die gewünschten Intervalle.

Lu Wao
quelle
4
Wir versuchen, ein permanentes Repository mit hochwertigen statistischen Informationen in Form von Fragen und Antworten aufzubauen. Daher sind wir aufgrund von Linkrot vorsichtig bei Nur-Link-Antworten. Können Sie ein vollständiges Zitat und eine Zusammenfassung der Informationen unter dem Link veröffentlichen, falls sie tot sein sollten?
TEG - Stellen Sie Monica