mbc

mbcFit

Beschreibung

Führt modellbasiertes Clustering mit dem EM-Algorithmus durch.

mbc.mbcFit <result=results> <status=rc> / <attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}>, convergenceTest="AITKEN" | "LOGL", covStruct="ALL" | "ALLGMIX" | "ALLPGMIX" | "CCC" | "CCU" | "CUC" | "CUU" | "EEE" | "EEI" | "EEV" | "EII" | "EVI" | "EVV" | "UCC" | "UCU" | "UUC" | "UUU" | "VII" | "VVI" | "VVV" | {"ALL", "ALLGMIX", "ALLPGMIX", "CCC", "CCU", "CUC", "CUU", "EEE", "EEI", "EEV", "EII", "EVI", "EVV", "UCC", "UCU", "UUC", "UUU", "VII", "VVI", "VVV"}, criterion="AIC" | "AICC" | "BIC" | "LOGL" | "NONE", <display={displayTables}>, emEpsilon=double, factorDetails=TRUE | FALSE, groupByLimit=64-bit-integer, initMethod="KMEANS" | "RANDOM", itHist="DETAILS" | "NONE" | "SUMMARY", maxIter=integer, * model={modelStatement}, nClusters=64-bit-integer | {64-bit-integer-1 <, 64-bit-integer-2>, ...}, nFactors=64-bit-integer | {64-bit-integer-1 <, 64-bit-integer-2>, ...}, noise="N" | "Y" | {"N", "Y"}, <output={mbcOutput}>, <outputTables={outputTables}>, parameterEpsilon=double, seed=integer, singularEpsilon=double, <store={casouttable}>, * table={castable}, technique="CEM" | "EM", topModels=64-bit-integer ;
Einstellungen
ParameterBeschreibung
attributesÄndert die Attribute der in dieser Aktion verwendeten Variablen. Derzeit werden auf den Eingabe- und Nominalparametern angegebene Attribute ignoriert.
convergenceTestGibt den zu verwendenden Konvergenztest an.
covStructGibt das Kovarianzmodell an.
criterionGibt das Kriterium für die Modellauswahl an.
displayGibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen.
emEpsilonGibt das Konvergenzkriterium für die Log-Likelihood im Erwartungs-Maximierungs-Algorithmus (EM) an.
factorDetailsWenn auf true gesetzt, werden Faktormuster und eindeutige Varianzen zur Tabelle der Parameterschätzungen hinzugefügt.
groupByLimitUnterdrückt die Analyse, wenn die Anzahl der BY-Gruppen den angegebenen Wert überschreitet.
initMethodGibt die Initialisierungsmethode an, die verwendet werden soll, wenn keine Initialisierungsvariablen angegeben sind.
itHistGibt den Detaillierungsgrad des Iterationsverlaufs an, der eingeschlossen werden soll.
maxIterGibt die maximale Anzahl von Iterationen für den Erwartungs-Maximierungs-Algorithmus (EM) an.
modelGibt die für die Analyse zu verwendenden Variablen (Effekte) und die anfänglichen Variablen für die Cluster-Mitgliedschaftswahrscheinlichkeit (Abhängige) an.
nClustersGibt die Anzahl der Gaußschen Cluster an.
nFactorsGibt die Anzahl der Faktoren an, die in sparsamen Gaußschen Mischmodellen verwendet werden sollen.
noiseGibt an, ob ein Rauschcluster in das Modell aufgenommen werden soll.
outputErstellt eine Tabelle, die beobachtungsweise Schätzungen der Cluster-Mitgliedschaftswahrscheinlichkeit enthält.
outputTablesListet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen.
parameterEpsilonGibt die Grenze an, unter der ein Mischungsgewicht als Null behandelt wird.
seedGibt den Seed an, der für die Erzeugung anfänglicher Cluster-Mitgliedschaften verwendet werden soll, wenn keine anfänglichen Cluster-Mitgliedschaften bereitgestellt werden.
singularEpsilonGibt das Singularitätskriterium für die Kovarianzmatrizen an.
storeSpeichert Modelle in einem Blob (Binary Large Object).
tableGibt die Eingabedatentabelle an.
techniqueGibt die zu verwendende Erwartungs-Maximierungs-Technik (EM) an. CEM bezieht sich auf die Klassifikations-EM-Technik.
topModelsGibt die Anzahl der angepassten Modelle an, die nach der Modellauswahl in der Übersichtstabelle angezeigt werden sollen.
Erstellung von Beispieldaten

Dieser Schritt erstellt eine Beispieltabelle in CAS, die für die Ausführung der Aktion erforderlich ist. Die Beispieldaten enthalten mehrere numerische Variablen, die für das Clustering geeignet sind.

Kopiert!
1DATA casuser.sample_data;
2DO i = 1 to 100;
3 v1 = rand('uniform') * 100;
4 v2 = rand('uniform') * 50 + v1 * 0.5;
5 v3 = rand('normal', 50, 10);
6 OUTPUT;
7END;
8RUN;

Beispiele

Dieses Beispiel führt ein grundlegendes modellbasiertes Clustering für 3 Cluster mit der Standard-Kovarianzstruktur (EEE) durch.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2mbc.mbcFit /
3 TABLE={name='sample_data', caslib='casuser'}
4 model={effects={{vars={'v1', 'v2', 'v3'}}}}
5 nClusters=3;
6RUN;
Ergebnis :
Das Ergebnis umfasst eine Zusammenfassung des Modells, Konvergenzstatus und Parameterschätzungen für das angepasste Clustering-Modell.

Dieses Beispiel testet eine Reihe von Clustern (2 bis 4), verschiedene Kovarianzstrukturen ('EEE', 'VVV') und speichert das beste Modell basierend auf BIC. Es wird auch eine Ausgabetabelle mit Cluster-Zuweisungen erstellt.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2mbc.mbcFit /
3 TABLE={name='sample_data', caslib='casuser'}
4 model={effects={{vars={'v1', 'v2', 'v3'}}}}
5 nClusters={2, 3, 4}
6 covStruct={'EEE', 'VVV'}
7 criterion='BIC'
8 store={name='mbc_model_store', replace=true}
9 OUTPUT={casout={name='mbc_output', replace=true}, pred='Cluster'};
10RUN;
Ergebnis :
Das Ergebnis zeigt eine Modellvergleichstabelle, die das beste Modell basierend auf BIC identifiziert. Eine Ausgabetabelle 'mbc_output' wird mit den Beobachtungen und ihrer vorhergesagten Cluster-Zuweisung erstellt. Das beste Modell wird auch in 'mbc_model_store' gespeichert.

FAQ

Was ist der Zweck der Aktion mbcFit?
Wie gibt man die zu analysierende Datentabelle an?
Was definiert der 'model'-Parameter?
Wie bestimme ich die Anzahl der zu bildenden Cluster?
Welche Kovarianzstrukturen kann ich für die Modelle angeben?
Nach welchem Kriterium wird das beste Modell ausgewählt?
Wie kann ich das trainierte Modell für eine spätere Verwendung speichern?
Ist es möglich, ein Rauschcluster in die Analyse einzubeziehen?