Intervalle de confiance pour les prévisions xgb

8

experts! Peut-être, vous savez comment calculer l'intervalle de confiance pour xgboost? La formule classique avec t-distribution ne peut pas aider, car mes données ne sont pas normalement distribuées. Ou n'a pas d'importance?

Si vous proposez de la littérature, ce sera très utile, mais les approches en R et Python (dans le contexte de la bibliothèque xgb) sont également bonnes.

Peut-être, ça ressemble à ça , mais comment ça se calcule? Et j'ai trouvé ça - c'est vrai ou pas?

PS: Je ne peux pas ajouter de photos liées à mes données (limite de liens), désolé.

Lu Wao
la source
Est-ce un problème de classification? Quand vous dites que les données ne sont pas normales, voulez-vous dire normal à plusieurs variables?
Michael R. Chernick
@MichaelChernick Non, problème de régression. Je pense que les données peuvent être nommées normales à plusieurs variables, car j'ai des informations sur différentes villes et filiales. Par conséquent, mon intervalle de confiance était lié à la distribution pour chaque ville.
Lu Wao
Le problème n'est pas clairement énoncé. Aucun moyen de dire que c'était un problème de régression. J'ai eu l'impression que c'était une classification basée sur la lecture de vos liens. S'il s'agit d'une régression, y a-t-il une seule variable prédictive et une variable dépendante? Si tel est le cas, utilise-t-il la distribution t pour les paramètres de régression dont vous parlez. Il peut également s'agir d'une valeur ajustée particulière de y (variable dépendante) donnée x (variable prédictive) ou d'un intervalle de prédiction pour une nouvelle valeur de y.
Michael R. Chernick
@MichaelChernick Dans le modèle un var dépendant et plus de 30 vars indépendants. Oui, xgb fonctionne sur les arbres (qui résolvent initialement le problème de classification), mais je l'ai utilisé pour la régression.
Lu Wao
1
@ ab90hi Mais merci pour votre réponse, maintenant je sais que R calcule automatiquement le mauvais intervalle :)
Lu Wao

Réponses:

4

Voilà donc la réponse! ( miroir )

Pour établir des limites de confiance pour les données distribuées anormalement, vous devez d'abord créer une régression quantile, plutôt qu'une régression linéaire, comme c'est le cas par défaut. Pour cela il est nécessaire, en utilisant les dérivés dérivés de l'article ou simplement en copiant le code sur le python, de personnaliser la variable 'objectif'. Il est également nécessaire de changer la fonction de gradient et la fonction gaussienne. Une fois que tout est programmé, créez une régression quantile pour le 50e quantile (ce sera la régression initiale), puis deux régressions quantiles pour les deux limites de l'intervalle (par exemple, 95 et 5). En conséquence, vous obtenez non seulement un modèle plus précis pour la régression initiale, mais également les intervalles souhaités.

Lu Wao
la source
4
Nous essayons de construire un référentiel permanent d'informations statistiques de haute qualité sous forme de questions et réponses. Ainsi, nous nous méfions des réponses de lien uniquement, en raison de linkrot. Pouvez-vous publier une citation complète et un résumé des informations sur le lien, au cas où elles disparaissent?
TEG