dataSciencePilot

analyzeMissingPatterns

Description

L'action `analyzeMissingPatterns` effectue une analyse des modèles de valeurs manquantes dans un jeu de données. Elle est utile pour comprendre la nature et la structure des données manquantes, ce qui est une étape cruciale dans la préparation des données pour le machine learning. Cette action peut identifier les combinaisons de variables qui ont souvent des valeurs manquantes ensemble, et fournir des statistiques sur la fréquence de ces modèles.

dataSciencePilot.analyzeMissingPatterns { casOut={CASOUTTABLE}, distinctCountLimit=integer, ecdfTolerance=double, freq="variable-name", inputs={{CASINVARDESC-1} <, {CASINVARDESC-2}, ...>}, misraGries=TRUE | FALSE, nominals={"variable-name-1" <, "variable-name-2", ...>}, table={CASTABLE}, target="variable-name" };
Paramètres
ParamètreDescription
casOutSpécifie la table CAS pour stocker les résultats de l'analyse.
distinctCountLimitSpécifie la limite de comptage distinct. Si la limite est dépassée et que le paramètre `misraGries` est à True, l'algorithme de sketch de fréquence Misra-Gries est utilisé pour estimer la distribution de fréquence. Sinon, l'opération de comptage distinct est abandonnée.
ecdfToleranceSpécifie la valeur de tolérance pour la fonction de distribution cumulative empirique. Cette valeur est utilisée par l'algorithme de sketch de quantile.
freqSpécifie la variable de fréquence.
inputsSpécifie les variables à utiliser pour l'analyse. Vous pouvez spécifier un sous-ensemble des variables de la table d'entrée.
misraGriesLorsque défini sur True, utilise l'algorithme Misra-Gries pour l'estimation de la distribution de fréquence si la limite de comptage distinct est dépassée.
nominalsSpécifie les variables nominales.
tableSpécifie la table d'entrée contenant les données à analyser.
targetSpécifie la variable cible.
Préparation des Données Voir la fiche de ce code dataprep
Création d'un jeu de données avec des valeurs manquantes

Ce code crée une table CAS nommée `hmeq_missing` avec des valeurs manquantes intentionnelles pour illustrer l'analyse des modèles de valeurs manquantes. La table est basée sur la table `sampsio.hmeq`.

Copié !
1DATA casuser.hmeq_missing;
2 SET sampsio.hmeq;
3 IF _n_ in (1, 10, 20) THEN call missing(of _all_);
4 IF 5 <= _n_ <= 15 THEN call missing(yoj, derog);
5 IF 30 <= _n_ <= 40 THEN call missing(value, reason);
6RUN;

Exemples

Cet exemple exécute une analyse de base des modèles de valeurs manquantes sur la table `hmeq_missing` et stocke les résultats dans une table nommée `missing_patterns_analysis`.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns
3 TABLE={name='hmeq_missing'},
4 casOut={name='missing_patterns_analysis', replace=true};
5RUN;
6QUIT;
Résultat :
Une table de sortie `missing_patterns_analysis` est créée dans la caslib de l'utilisateur, contenant les statistiques sur les modèles de valeurs manquantes trouvés dans la table d'entrée.

Cet exemple effectue une analyse des modèles de valeurs manquantes en se concentrant sur un sous-ensemble de variables d'entrée (`inputs`) et en spécifiant une variable cible (`target`). Cela permet d'analyser comment les valeurs manquantes dans les prédicteurs se rapportent à la variable de résultat.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns
3 TABLE={name='hmeq_missing'},
4 target='bad',
5 inputs={'loan', 'mortdue', 'value', 'yoj', 'derog', 'delinq', 'clage', 'ninq', 'clno', 'debtinc'},
6 nominals={'reason', 'job'},
7 casOut={name='detailed_missing_analysis', replace=true, caslib='casuser'};
8RUN;
9QUIT;
Résultat :
La table `detailed_missing_analysis` est créée et contient une analyse des modèles de valeurs manquantes pour les variables spécifiées, avec des informations supplémentaires relatives à la variable cible `bad`.

Pour les très grands jeux de données avec une haute cardinalité, il est efficace d'utiliser les paramètres `distinctCountLimit` et `misraGries`. Cet exemple montre comment limiter le comptage distinct et utiliser l'algorithme Misra-Gries pour une estimation efficace.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns
3 TABLE={name='hmeq_missing'},
4 distinctCountLimit=5000,
5 misraGries=true,
6 casOut={name='large_data_missing_analysis', replace=true};
7RUN;
8QUIT;
Résultat :
Une analyse des modèles de valeurs manquantes est effectuée. Si le nombre de valeurs distinctes pour une variable dépasse 5000, une estimation est utilisée, ce qui est plus efficace en termes de mémoire et de temps de calcul. Les résultats sont stockés dans `large_data_missing_analysis`.

FAQ

Quel est l'objectif de l'action `analyzeMissingPatterns` ?
Quels sont les paramètres obligatoires pour exécuter cette action ?
Comment puis-je analyser uniquement un sous-ensemble de variables de ma table ?
Que se passe-t-il si mes données contiennent un très grand nombre de valeurs distinctes ?
Puis-je utiliser une variable de fréquence dans mon analyse ?

Scénarios associés

Cas d'usage
Analyse des profils clients incomplets pour une campagne marketing

Une équipe marketing souhaite lancer une campagne ciblée, mais constate que de nombreux profils clients dans leur base de données sont incomplets. L'objectif est d'utiliser `ana...

Cas d'usage
Analyse de volumétrie sur des données de capteurs IoT à haute cardinalité

Dans une usine, des milliers de capteurs génèrent des données en continu. Certaines pannes de capteurs entraînent des données manquantes. L'objectif est d'analyser rapidement de...

Cas d'usage
Gestion des données manquantes systématiques dans une étude clinique

Une étude clinique collecte des données sur des patients. Certains examens sont optionnels, et certains patients abandonnent l'étude, résultant en des blocs entiers de données m...