gam

gamScore

##set_gam

Description

L'action gamScoreAction SAS Viya permettant d'appliquer un modèle additif généralisé (GAM) entraîné à de nouvelles données pour calculer des prédictions ou des probabilités de manière optimisée et distribuée., issue de l'ensemble d'actions Generalized Additive Models (GAMModèle additif généralisé étendant le modèle linéaire en utilisant des fonctions de lissage non linéaires. Il permet de capturer des relations complexes entre les variables sans forme prédéfinie.), est l'outil privilégié pour 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). non-linéaire entraîné à de nouvelles observations. Imaginez que vous ayez capturé des courbes sinueuses et complexes avec l'action gampl ou gamSelect ; gamScoreAction SAS Viya permettant d'appliquer un modèle additif généralisé (GAM) entraîné à de nouvelles données pour calculer des prédictions ou des probabilités de manière optimisée et distribuée. est là pour projeter ces connaissances sur vos nouvelles données CAS. Elle calcule non seulement les prédictions (moyennes), mais peut aussi décomposer la contribution de chaque spline individuelle (composantes), tout en fournissant des intervalles de confiance BayesianPlage de valeurs, appelée intervalle de crédibilité, indiquant la probabilité qu'un paramètre s'y trouve selon la distribution de probabilité a posteriori combinant données et connaissances a priori. et divers types de résidus. C'est l'étape cruciale pour passer de l'apprentissage à la production .

Syntaxe Officielle
gam.gamScore /
alpha=double,
casOut={casouttable},
component=TRUE | FALSE,
copyVars={"variable-name-1" <, "variable-name-2", ...>},
into="string",
intoCutpt=double,
lower="string",
maxNameLen=integer,
model={castable},
pearson="string",
pred="string",
resid="string",
std="string",
table={castable},
upper="string",
xBeta="string"

Paramètres Clés

Nom du paramètre Description
alpha Spécifie le niveau de signification (par exemple 0.05) pour la construction des bandes de confiance Bayesian.
casOut Définit la table de destination sur le serveur CAS qui contiendra les statistiques calculées par observation (prédictions, résidus, etc.).
component Si positionné à TRUE, l'action génère des colonnes supplémentaires pour chaque terme de spline individuel du modèle, permettant de voir l'influence spécifique de chaque variable.
copyVars Liste des variables de la table d'entrée (table de scoring) à copier directement dans la table de sortie.
into Pour les modèles avec réponse binaire, spécifie le nom de la variable contenant le niveau de réponse prédit.
intoCutpt Définit le seuil de probabilité (entre 0 et 1) utilisé pour classer les observations dans une catégorie de réponse binaire.
lower Nom de la variable pour la borne inférieure de l'intervalle de confiance Bayesian.
maxNameLen Définit la longueur maximale autorisée pour les noms des nouvelles colonnes générées dans la table de sortie.
model Spécifie la table CAS contenant le modèle binaire préalablement sauvegardé lors de l'entraînement (paramètre obligatoire).
pearson Nom de la variable pour le calcul du résidu chi-deux de Pearson.
pred Nom de la variable pour la valeur prédite (la moyenne). Par défaut, elle se nomme 'Pred'.
resid Nom de la variable pour le calcul du résidu brut (différence entre observation et prédiction).
std Spécifie le nom de la variable pour l'erreur type du prédicteur linéaire.
table Spécifie la table de données CAS à laquelle appliquer le modèle pour générer les scores (paramètre obligatoire).
upper Nom de la variable pour la borne supérieure de l'intervalle de confiance Bayesian.
xBeta Nom de la variable pour le prédicteur linéaire (valeur avant l'application de la fonction de lien).

Préparation des données

Création d'un modèle GAM pour le test

Génère un jeu de données non-linéaire et crée un modèle binaire via gampl afin de pouvoir tester l'action gamScore.

1DATA casuser.test_gam;
2 DO i = 1 to 1000;
3 x1 = rannor(1);
4 x2 = rannor(1);
5 y = 2*sin(x1) + x2**2 + rannor(1);
6 OUTPUT;
7 END;
8RUN;
9PROC CAS;
10 /* Entraînement préalable du modèle */
11 gam.gampl TABLE={name="test_gam", caslib="casuser"},
12 model={depVars="y", splines={"x1", "x2"}},
13 outModel={name="gam_trained_model", replace=true};
14RUN; QUIT;

Exemples d'utilisation

Scoring de base

Applique le modèle entraîné sur les données d'origine pour obtenir les prédictions par défaut.

1PROC CAS;
2 gam.gamScore TABLE="test_gam",
3 model="gam_trained_model",
4 casOut={name="predictions_simples", replace=true};
5RUN; QUIT;
Résultat Attendu :
Une table nommée 'predictions_simples' est créée dans la caslib par défaut contenant une colonne 'Pred' pour chaque observation.
Scoring complet avec statistiques de diagnostic

Cet exemple calcule les prédictions, les résidus, l'erreur type, les bandes de confiance à 95% et décompose les contributions des splines (component).

1PROC CAS;
2 gam.gamScore /
3 TABLE={name="test_gam", caslib="casuser"},
4 model={name="gam_trained_model", caslib="casuser"},
5 alpha=0.05,
6 component=true,
7 copyVars={"x1", "x2", "y"},
8 casOut={name="gam_diagnostics", replace=true},
9 pred="P_moyenne",
10 resid="R_brut",
11 std="E_type",
12 lower="IC_inf",
13 upper="IC_sup",
14 xBeta="Pred_lineaire";
15RUN; QUIT;
Résultat Attendu :
La table 'gam_diagnostics' contiendra les variables copiées, les prédictions personnalisées, les résidus, les bornes de confiance et les colonnes de composantes pour les splines de x1 et x2.