dataSciencePilot

exploreCorrelation

##set_datasciencepilot

Description

L'action exploreCorrelation est le détective privé de votre pipelineChaîne de flux de données automatisée intégrant prétraitement, sélection de variables et modèles supervisés pour comparer leurs performances et déployer le meilleur candidat dans SAS Viya. de données. Elle fait partie de l'ensemble d'actions Data Science Pilot et sert à identifier les relations linéaires et non linéaires entre vos 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.. Contrairement aux outils classiques qui ne voient que les lignes droites, celle-ci utilise des techniques avancées comme l'Information Mutuelle (MI) pour repérer les dépendances complexes. C'est l'étape indispensable pour éliminer les 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. redondantes (multicolinéarité) et comprendre quelle variable fait de l'ombre à l'autre avant même de construire 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).. Elle gère même les mélanges entre 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. numériques et catégorielles sans sourciller !

Syntaxe Officielle
proc cas;
dataSciencePilot.exploreCorrelation /
table={caslib="caslib-name", name="table-name", where="where-expression"},
casOut={caslib="caslib-name", name="table-name", replace=true},
target="variable-name",
nominals={"variable-name-1", "variable-name-2"},
inputs={"variable-name-1", "variable-name-2"},
stats={intervalInterval={"MI", "PEARSON"}, nominalInterval={"MI", "FTEST"}, nominalNominal={"MI", "CRAMERSV"}}
;
run;

Paramètres Clés

Nom du paramètre Description
table Spécifie la table CAS d'entrée contenant les variables à analyser .
casOut Définit la table CAS de sortie qui stockera les résultats des statistiques de corrélation (obligatoire).
target La variable cible par rapport à laquelle on veut évaluer les corrélations (souvent utilisée pour la sélection de variables).
inputs Liste des variables d'entrée (prédicteurs) à inclure dans l'analyse de corrélation.
nominals Spécifie explicitement quelles variables doivent être traitées comme nominales (catégorielles).
stats Permet de choisir les mesures statistiques spécifiques : Information Mutuelle (MI), Pearson, Cramer's V, etc., selon le type de paires de variables .
binMissing Si activé (True), les valeurs manquantes sont traitées comme un niveau valide dans le calcul des corrélations.
distinctCountLimit Seuil maximal de valeurs distinctes avant que l'action n'utilise des algorithmes d'estimation (sketching) pour gagner en performance.

Préparation des données

Création d'un jeu de données pour l'analyse de corrélations

Ce code génère une table CAS avec des relations linéaires, non linéaires et des variables catégorielles pour tester les capacités de détection de l'action.

1DATA casuser.data_to_explore;
2 DO i = 1 to 1000;
3 x1 = rannor(1);
4 x2 = x1**2 + rannor(1)*0.1; /* Relation non linéaire */
5 x3 = x1*3 + rannor(1)*0.5; /* Relation linéaire forte */
6 target_num = x1 * 5 + rannor(1);
7 IF mod(i,2) = 0 THEN cat1 = 'Alpha'; ELSE cat1 = 'Beta';
8 IF cat1 = 'Alpha' THEN target_cat = 'Oui'; ELSE target_cat = 'Non';
9 OUTPUT;
10 END;
11RUN;

Exemples d'utilisation

Analyse de corrélation de base

Un exemple simple pour identifier les corrélations entre toutes les variables et une cible numérique.

1PROC CAS;
2 dataSciencePilot.exploreCorrelation /
3 TABLE={name="data_to_explore", caslib="casuser"},
4 casOut={name="corr_results", replace=true},
5 target="target_num";
6RUN;
7 fetch / TABLE="corr_results";
8QUIT;
Résultat Attendu :
Une table CAS nommée 'corr_results' contenant les scores de corrélation (par défaut MI) entre chaque variable et la cible.
Exploration exhaustive (Linéaire et Non-Linéaire)

Cet exemple force l'utilisation du coefficient de Pearson pour le linéaire et de l'Information Mutuelle pour le non-linéaire, tout en incluant les variables nominales.

1PROC CAS;
2 dataSciencePilot.exploreCorrelation /
3 TABLE={name="data_to_explore", caslib="casuser"},
4 casOut={name="corr_detailed", replace=true},
5 target="target_num",
6 nominals={"cat1"},
7 binMissing=true,
8 stats={
9 intervalInterval={"MI", "PEARSON"},
10 nominalInterval={"MI", "FTEST"},
11 nominalNominal={"MI", "CRAMERSV"}
12 }
13 ;
14RUN;
15 fetch / TABLE="corr_detailed";
16QUIT;
Résultat Attendu :
Une table détaillée affichant plusieurs métriques de corrélation pour chaque paire de variables, permettant une comparaison entre l'aspect linéaire (Pearson) et la dépendance globale (MI).