nonParametricBayes

gmm

##set_nonparametricbayes

Description

L'action gmmLe Gaussian Mixture Model (GMM) est un algorithme de clustering probabiliste qui suppose que les données sont issues d'une superposition de plusieurs distributions gaussiennes aux paramètres inconnus. de l'ensemble d'actions nonParametricBayes effectue un clusteringLe clustering est une technique d'apprentissage non supervisé regroupant des données similaires en segments homogènes afin d'identifier des structures cachées sans étiquettes préalables. en utilisant des modèles de mélange gaussien (Gaussian Mixture ModelsLes Gaussian Mixture Models (GMM) sont des modèles probabilistes de clustering supposant que les données sont issues d'une combinaison de plusieurs distributions normales aux paramètres inconnus.). Contrairement au K-meansLe clustering K-means (ou algorithme des k-moyennes) est une méthode d'apprentissage automatique non supervisé qui sert à diviser des données non étiquetées en $k$ groupes distincts (clusters) selon leurs similitudes. classique, le GMMLe Gaussian Mixture Model (GMM) est un algorithme de clustering probabiliste qui suppose que les données sont issues d'une superposition de plusieurs distributions gaussiennes aux paramètres inconnus. suppose que les données sont générées à partir d'un mélange de plusieurs distributions gaussiennes avec des paramètres inconnus. C'est un peu comme essayer de classer des nuages de points qui se chevauchent : on ne se contente pas de dire à quel centre un point appartient, on calcule la probabilité qu'il appartienne à chaque nuage ! Cette version implémente une approche bayésienne non paramétrique qui permet de découvrir automatiquement le nombre optimal de clusters (si vous êtes d'humeur indécise) en utilisant un processus de Dirichlet.

Syntaxe Officielle
nonParametricBayes.gmm /
alpha=double,
attributes={{casinvardesc-1}, ...},
clusterCovOut={casouttable},
clusterSumOut={casouttable},
display={displayTables},
freq="variable-name",
inference={method="VB", covariance="DIAGONAL"|"FULL", maxVbIter=64-bit-integer, threshold=double},
inputs={{casinvardesc-1}, ...},
maxClusters=integer,
output={casOut={casouttable}, copyVars="ALL"|{"var1", ...}},
outputTables={outputTables},
saveState={casouttable},
seed=double,
table={castable}

Paramètres Clés

Nom du paramètre Description
alpha Spécifie le paramètre de concentration pour le processus de Dirichlet. Plus alpha est élevé, plus le modèle a tendance à créer de nouveaux clusters.
clusterCovOut Spécifie la table de sortie qui contiendra les matrices de covariance pour chaque cluster identifié.
clusterSumOut Spécifie la table de sortie pour le résumé des clusters, incluant la taille, les voisins et les moyennes.
inference Définit la méthode d'inférence (généralement 'VB' pour Variational Bayesian ). On y règle le type de covariance (DIAGONAL ou FULL) et les critères d'arrêt.
maxClusters Le nombre maximum de clusters autorisés. Le modèle n'utilisera que ce dont il a besoin grâce à la logique non paramétrique.
saveState Permet de sauvegarder l'état du modèle dans une table analytique (store) pour une utilisation ultérieure avec l'action score.
table La table CAS d'entrée contenant les données à analyser.

Préparation des données

Génération de données simulées pour le clustering

Ce code crée une table CAS appelée 'SIMDATA' avec deux groupes de points distincts pour tester le mélange gaussien.

1DATA mycas.simdata;
2 drop i;
3 DO i = 1 to 500;
4 x = rannor(123); y = rannor(123); group = 1; OUTPUT;
5 END;
6 DO i = 1 to 500;
7 x = rannor(123) + 5; y = rannor(123) + 5; group = 2; OUTPUT;
8 END;
9RUN;

Exemples d'utilisation

Clustering GMM de base

Exécution d'un mélange gaussien sur deux variables avec les paramètres par défaut.

1PROC CAS; nonParametricBayes.gmm / TABLE={name="SIMDATA"}, inputs={"x", "y"}; RUN;
Résultat Attendu :
Un résumé des clusters trouvés affiché dans les résultats SAS Studio.
Clustering avancé avec inférence variationnelle et sortie de score

Utilisation d'une covariance complète, limitation à 5 clusters max, et génération d'une table de résultats incluant les probabilités d'appartenance.

1PROC CAS; nonParametricBayes.gmm / TABLE={name="SIMDATA"}, inputs={"x", "y"}, maxClusters=5, alpha=0.5, inference={method="VB", covariance="FULL", maxVbIter=100}, OUTPUT={casOut={name="GMM_SCORED", replace=true}, copyVars="ALL"}, clusterSumOut={name="GMM_SUMMARY", replace=true}; RUN;
Résultat Attendu :
Création de la table GMM_SCORED avec les colonnes originales plus le cluster prédit et les probabilités. La table GMM_SUMMARY contient les caractéristiques statistiques des clusters.