glm
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 !
Paramètres Clés
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.
| 1 | DATA mycas.houses; |
| 2 | INPUT price area rooms neighborhood $; |
| 3 | DATALINES; |
| 4 | 250000 150 3 A |
| 5 | 300000 200 4 A |
| 6 | 150000 80 2 B |
| 7 | 180000 100 3 B |
| 8 | 400000 250 5 A |
| 9 | 220000 120 3 B |
| 10 | 280000 180 4 A |
| 11 | 165000 90 2 B |
| 12 | ; |
| 13 | RUN; |
Exemples d'utilisation
Régression linéaire basique
Ajustement d'un modèle simple pour prédire le prix en fonction de la surface.
| 1 | PROC CAS; |
| 2 | regression.glm TABLE={name="houses"}, |
| 3 | model={depVars={{name="price"}}, |
| 4 | effects={{vars={"area"}}}}; |
| 5 | RUN; |
Résultat Attendu :
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.
| 1 | PROC 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"}; |
| 13 | RUN; |