bart

bartScore

##set_bart

Description

L'action bartScore est le bras armé de l'ensemble d'actions BART (Bayesian Additive Regression Trees ). Elle permet d'appliquer un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). prédictif préalablement entraîné et sauvegardé (via bartGauss ou bartProbit) à de nouvelles données. Contrairement aux arbres de décision classiques qui poussent un peu n'importe comment, le BART utilise une approche bayésienne pour sommer les contributions de nombreux arbres 'faibles'. C'est un peu comme demander l'avis de 200 jardiniers amateurs pour deviner le prix d'une plante : la moyenne est souvent étonnamment précise ! Cette action génère des prédictions, des résidus et des intervalles de crédibilité (l'équivalent bayésien des intervalles de confiance).

Syntaxe Officielle
bart.bartScore /
table={caslib="string", name="table-name"},
restore={caslib="string", name="model-table"},
casOut={name="output-table", replace=true},
pred="predicted-var-name",
resid="residual-var-name",
lcl="lower-limit-name",
ucl="upper-limit-name",
alpha=0.05,
avgOnly=true

Paramètres Clés

Nom du paramètre Description
table Spécifie la table de données d'entrée contenant les observations à scorer .
restore Le paramètre crucial : il désigne la table binaire contenant le modèle BART entraîné (sauvegardée précédemment via l'option saveState) .
casOut Définit les paramètres de la table de sortie qui recevra les prédictions .
alpha Définit le seuil de probabilité pour le calcul des limites de crédibilité (0.05 donne un intervalle à 95%).
avgOnly Si 'true' (par défaut), seule la moyenne des échantillons MCMC est produite. Si 'false', l'action génère une prédiction pour chaque échantillon de la chaîne, pratique pour les statisticiens qui aiment voir la forêt entière arbre par arbre.
copyVars Liste des variables de la table d'entrée à transférer directement dans la table de sortie pour faciliter les jointures ou les analyses.
pred Nom de la variable qui contiendra la valeur prédite (moyenne postérieure).
resid Nom de la variable qui contiendra les résidus (différence entre valeur réelle et prédiction).
lcl / ucl Noms des variables pour les bornes inférieure (Lower) et supérieure (Upper) de l'intervalle de crédibilité.

Préparation des données

Préparation d'un modèle BART pour le scoring

Pour utiliser bartScore, nous devons d'abord créer des données, entraîner un modèle et le sauvegarder.

1DATA casuser.immobilier;
2 DO i = 1 to 1000;
3 surface = rand('Uniform') * 200;
4 chambres = floor(surface / 40) + 1;
5 prix = 50000 + (surface * 1500) + (chambres * 10000) + rand('Normal', 0, 5000);
6 OUTPUT;
7 END;
8drop i; RUN;
9DATA casuser.nouveaux_biens;
10 INPUT surface chambres;
11 DATALINES;
12 120 4
13 45 1
14 250 6
15 ;
16RUN;
17PROC CAS;
18 /* 1. Entraînement et sauvegarde du cerveau (modèle) */
19 bart.bartGauss / TABLE={name="immobilier", caslib="casuser"}, target="prix", inputs={"surface", "chambres"}, saveState={name="mon_modele_immo", replace=true};
20QUIT;

Exemples d'utilisation

Scoring de base

Application simple du modèle sauvegardé sur de nouvelles données immobilières.

1PROC CAS; bart.bartScore / TABLE={name="nouveaux_biens", caslib="casuser"}, restore={name="mon_modele_immo", caslib="casuser"}, casOut={name="resultats_simples", replace=true}, pred="Prix_Estime"; RUN;
Résultat Attendu :
Une table 'resultats_simples' est créée avec une colonne 'Prix_Estime'.
Scoring complet avec intervalles de crédibilité

Cet exemple calcule les prédictions, les résidus (si la cible existe) et les bornes de confiance à 95%.

1PROC CAS; bart.bartScore / TABLE={name="immobilier", caslib="casuser"}, restore={name="mon_modele_immo", caslib="casuser"}, casOut={name="stats_completes", replace=true}, copyVars={"surface", "chambres"}, pred="Estimation", lcl="Borne_Inf", ucl="Borne_Sup", resid="Erreur", alpha=0.05; RUN;
Résultat Attendu :
Une table riche contenant les caractéristiques d'origine, la prédiction et l'incertitude du modèle pour chaque ligne.
Scoring avec sortie de tous les échantillons MCMC

Utile pour analyser la distribution complète des prédictions au lieu d'une simple moyenne.

1PROC CAS; bart.bartScore / TABLE={name="nouveaux_biens", caslib="casuser"}, restore={name="mon_modele_immo", caslib="casuser"}, casOut={name="foret_entiere", replace=true}, avgOnly=false; RUN;
Résultat Attendu :
Une table volumineuse contenant autant de prédictions par ligne que d'itérations MCMC demandées lors de l'entraînement (par défaut 1000).