bart

bartGauss

##set_bart

Description

L'action bartGauss permet d'ajuster des modèles d'arbres de régression additifs bayésiens (BART ) pour des variables cibles continues supposées suivre une distribution normale. Contrairement aux méthodes de gradient boosting traditionnelles, BART est une approche probabiliste non paramétrique qui utilise un ensemble de 'somme d'arbres'. Chaque arbre est volontairement 'faible' pour éviter le surapprentissage (grâce à un a priori de régularisation), et le 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). final est obtenu par un échantillonnage MCMC (Markov Chain Monte Carlo). C'est l'outil idéal pour débusquer des interactions complexes et des non-linéarités sans avoir à les spécifier manuellement dans votre 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).. C'est un peu comme avoir une forêt d'arbres timides qui finissent par se mettre d'accord sur la meilleure prédiction possible.

Syntaxe Officielle
bart.bartGauss /
table={caslib="string", name="string", where="where-expression"},
target="variable-name",
inputs={"variable-name-1", "variable-name-2"},
class={"variable-name-1", "variable-name-2"},
nTree=integer,
nMC=integer,
nBI=integer,
seed=64-bit-integer,
store={name="table-name"},
output={casOut={name="table-name"}, copyVars="ALL"}

Paramètres Clés

Nom du paramètre Description
table Spécifie la table de données d'entrée chargée en mémoire CAS .
target Indique la variable cible numérique (réponse continue) à modéliser.
inputs Liste des variables prédictives (continues ou catégorielles) à inclure dans le modèle.
nTree Définit le nombre d'arbres dans l'ensemble. La valeur par défaut est souvent de 200. Un nombre élevé permet plus de flexibilité mais augmente le temps de calcul.
nMC Nombre d'itérations MCMC à conserver pour l'inférence après la période de burn-in. Par défaut 1000.
nBI Nombre d'itérations de 'burn-in' (chauffe) pour permettre à la chaîne de Markov de converger avant de collecter des échantillons.
seed Graine aléatoire pour assurer la reproductibilité des résultats MCMC.
store Permet de sauvegarder l'état du modèle dans une table binaire pour une utilisation ultérieure avec l'action bartScore.
missing Spécifie la stratégie de gestion des valeurs manquantes (ex: 'SEPARATE' pour les traiter comme un groupe distinct ).
treePrior Définit les paramètres de l'a priori sur la structure de l'arbre (profondeur, probabilité de division).

Préparation des données

Génération de données synthétiques pour BART

Ce code crée une table de données contenant des relations non linéaires et des interactions pour tester la capacité de bartGauss.

1DATA casuser.simdata;
2 call streaminit(123);
3 DO i = 1 to 1000;
4 x1 = rand('Uniform');
5 x2 = rand('Uniform');
6 x3 = rand('Normal');
7 c1 = (rand('Uniform') > 0.5);
8 y = 10 * sin(3.14 * x1 * x2) + 20 * (x3 - 0.5)**2 + 5 * c1 + rand('Normal', 0, 1);
9 OUTPUT;
10 END;
11RUN;

Exemples d'utilisation

Analyse BART de base

Ajustement d'un modèle BART simple avec les paramètres par défaut.

1PROC CAS; bart.bartGauss / TABLE={name="simdata"}, target="y", inputs={"x1", "x2", "x3", "c1"}, seed=123; RUN;
Résultat Attendu :
Un résumé de l'ajustement du modèle, les statistiques de performance et l'importance des variables.
Modèle BART avancé avec Marges Prédictives et Sauvegarde

Cet exemple configure précisément le processus MCMC, calcule des marges prédictives pour analyser l'effet de x1, et sauvegarde le modèle pour la production.

1PROC CAS; bart.bartGauss / TABLE={name="simdata"}, target="y", inputs={"x1", "x2", "x3"}, nominals={"c1"}, nTree=100, nMC=2000, nBI=500, seed=456, store={name="bart_model_save", replace=true}, margins={{name="margin_x1", at={{var="x1", value=0.5}}}}, OUTPUT={casOut={name="simdata_out", replace=true}, pred="pred_y", lcl="lower_y", ucl="upper_y"}; RUN;
Résultat Attendu :
Le modèle est entraîné avec 100 arbres et 2000 échantillons. Une table 'simdata_out' est créée avec les prédictions et les intervalles de confiance bayésiens à 95%. Le modèle est stocké dans 'bart_model_save'.