regression

glm

##set_regression

Description

L'action regression.glm est l'outil fondamental de l'ensemble d'actions Regression pour l'ajustement de modèles de régression linéaire par la méthode des moindres carrés. Contrairement aux approches classiques, elle est optimisée pour l'environnement distribué de SAS Viya, permettant de traiter des volumes de données massifs à une vitesse fulgurante. Elle offre des fonctionnalités avancées telles que la sélection de variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. (Stepwise, Lasso, etc.), la gestion des effets polynomiaux ou splines, et le partitionnement des données (entraînement, validation, test). C'est un peu le couteau suisse du statisticien : robuste, précis, et il ne risque pas de s'émousser face à des milliards de lignes !

Syntaxe Officielle
regression.glm /
alpha=double,
attributes={{casinvardesc}},
byLimit=64-bit-integer,
class={{classStatement}},
classGlobalOpts={classopts},
classLevelsPrint=boolean,
clb=boolean,
code={aircodegen},
collection={{collection}},
display={displayTables},
freq="variable-name",
inputs={{casinvardesc}},
maxParameters=integer,
model={glmmodel},
multimember={{multimember}},
nClassLevelsPrint=integer,
nominals={{casinvardesc}},
output={glmOutputStatement},
outputTables={outputTables},
parmEstLevDetails="NONE" | "RAW" | "RAW_AND_FORMATTED",
partByFrac={partByFracStatement},
partByVar={partByVarStatement},
polynomial={{polynomial}},
spline={{spline}},
ss3=boolean,
store={casouttable},
table={castable},
target="string",
weight="variable-name"

Paramètres Clés

Nom du paramètre Description
table Spécifie la table de données d'entrée CAS (objet castable) contenant les observations à analyser.
model Paramètre complexe définissant la structure du modèle : depVars pour la variable cible, effects pour les prédicteurs, et diverses options comme vif (facteur d'inflation de la variance) ou stb (coefficients standardisés).
selection Active et configure les méthodes de sélection de variables comme FORWARD, BACKWARD, STEPWISE ou LASSO pour identifier les prédicteurs les plus significatifs.
class Spécifie les variables qualitatives (classification) à inclure dans le modèle. SAS gère automatiquement la création des variables indicatrices (dummy variables).
output Définit les statistiques à calculer par observation et à sauvegarder dans une nouvelle table CAS, comme les valeurs prédites ou les résidus.
partByFrac Permet de diviser aléatoirement les données en sous-ensembles d'entraînement, de validation et de test en spécifiant des proportions.

Préparation des données

Création de données pour une régression linéaire

Génération d'une table CAS simple simulant des prix de maisons en fonction de la surface et du quartier.

1DATA mycas.houses;
2 INPUT price area rooms neighborhood $;
3 DATALINES;
4250000 150 3 A
5300000 200 4 A
6150000 80 2 B
7180000 100 3 B
8400000 250 5 A
9220000 120 3 B
10280000 180 4 A
11165000 90 2 B
12;
13RUN;

Exemples d'utilisation

Régression linéaire basique

Ajustement d'un modèle simple pour prédire le prix en fonction de la surface.

1PROC CAS;
2 regression.glm TABLE={name="houses"},
3 model={depVars={{name="price"}},
4 effects={{vars={"area"}}}};
5RUN;
Résultat Attendu :
Un rapport contenant l'analyse de variance, les statistiques d'ajustement (R-carré) et les estimations des paramètres.
Régression complète avec sélection de variables et diagnostics

Cet exemple utilise une sélection Stepwise, inclut une variable de classification, calcule les diagnostics de colinéarité (VIF) et génère une table de sortie avec les prédictions.

1PROC CAS;
2 regression.glm
3 TABLE={name="houses"},
4 class={{"neighborhood"}},
5 selection={method="STEPWISE", choose="SBC"},
6 model={depVars={{name="price"}},
7 effects={{vars={"area", "rooms", "neighborhood"}}},
8 vif=true,
9 stb=true},
10 OUTPUT={casOut={name="houses_pred", replace=true},
11 pred="predicted_price",
12 resid="residual"};
13RUN;
Résultat Attendu :
Le journal affichera les étapes de sélection. Les résultats incluront les facteurs d'inflation de la variance pour détecter la colinéarité. Une table 'houses_pred' sera créée avec les colonnes de prédiction et de résidus.