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.
convergenceTest Gibt den zu verwendenden Konvergenztest an.
covStruct Gibt das Kovarianzmodell an.
criterion Gibt das Kriterium für die Modellauswahl an.
display Gibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen.
emEpsilon Gibt das Konvergenzkriterium für die Log-Likelihood im Erwartungs-Maximierungs-Algorithmus (EM) an.
factorDetails Wenn auf true gesetzt, werden Faktormuster und eindeutige Varianzen zur Tabelle der Parameterschätzungen hinzugefügt.
groupByLimit Unterdrückt die Analyse, wenn die Anzahl der BY-Gruppen den angegebenen Wert überschreitet.
initMethod Gibt die Initialisierungsmethode an, die verwendet werden soll, wenn keine Initialisierungsvariablen angegeben sind.
itHist Gibt den Detaillierungsgrad des Iterationsverlaufs an, der eingeschlossen werden soll.
maxIter Gibt die maximale Anzahl von Iterationen für den Erwartungs-Maximierungs-Algorithmus (EM) an.
model Gibt die für die Analyse zu verwendenden Variablen (Effekte) und die anfänglichen Variablen für die Cluster-Mitgliedschaftswahrscheinlichkeit (Abhängige) an.
nClusters Gibt die Anzahl der Gaußschen Cluster an.
nFactors Gibt die Anzahl der Faktoren an, die in sparsamen Gaußschen Mischmodellen verwendet werden sollen.
noise Gibt an, ob ein Rauschcluster in das Modell aufgenommen werden soll.
output Erstellt eine Tabelle, die beobachtungsweise Schätzungen der Cluster-Mitgliedschaftswahrscheinlichkeit enthält.
outputTables Listet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen.
parameterEpsilon Gibt die Grenze an, unter der ein Mischungsgewicht als Null behandelt wird.
seed Gibt den Seed an, der für die Erzeugung anfänglicher Cluster-Mitgliedschaften verwendet werden soll, wenn keine anfänglichen Cluster-Mitgliedschaften bereitgestellt werden.
singularEpsilon Gibt das Singularitätskriterium für die Kovarianzmatrizen an.
store Speichert Modelle in einem Blob (Binary Large Object).
table Gibt die Eingabedatentabelle an.
technique Gibt die zu verwendende Erwartungs-Maximierungs-Technik (EM) an. CEM bezieht sich auf die Klassifikations-EM-Technik.
topModels Gibt 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?