Veröffentlicht am :
Statistik CREATION_INTERNE

Beispiel für die Verwendung von PROC FMM für binomiale Verteilungsmischungen

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript demonstriert die Fähigkeiten des PROC FMM-Verfahrens. Es beginnt mit der Erstellung eines 'yeast'-Datensatzes im Speicher. Anschließend wird eine erste FMM-Analyse durchgeführt, um ein 2-Komponenten-Mischmodell anzupassen. Eine zweite Ausführung erzeugt einen Ausgabedatensatz mit den A-posteriori-Wahrscheinlichkeiten, der dann verarbeitet wird, um die vorhergesagten Häufigkeiten pro Komponente zu berechnen. Schließlich führt das Skript eine Bayes'sche Analyse desselben Modells durch, aktiviert die ODS-Grafiken für die Visualisierung und gibt die Verwendung von 2 CPU-Kernen für die Leistung an.
Datenanalyse

Type : CREATION_INTERNE


Der Datensatz 'yeast' wird direkt im Skript über einen DATA-Schritt und eine 'datalines'-Anweisung erstellt. Er enthält Zellzählungen und deren beobachtete Häufigkeit.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser Block erstellt den Datensatz 'yeast'. Er enthält die Variablen 'count' (Anzahl der Erfolge), 'f' (Häufigkeit dieser Zählung) und 'n' (Anzahl der Versuche, auf 5 festgelegt), die in der Binomialverteilungsanalyse verwendet werden.
Kopiert!
1DATA yeast;
2 INPUT count f;
3 n = 5;
4 DATALINES;
5 0 213
6 1 128
7 2 37
8 3 18
9 4 3
10 5 1
11;
12RUN;
2 Codeblock
PROC FMM
Erklärung :
Erste Ausführung des PROC FMM-Verfahrens. Es passt ein Finite-Mixture-Modell (Finite Mixture Model) mit k=2 Binomialkomponenten an die Daten an. Die Variable 'count' ist die Antwortvariable, 'n' die Anzahl der Versuche und 'f' die Häufigkeitsvariable.
Kopiert!
1PROC FMM DATA=yeast;
2 model count/n = / k=2;
3 freq f;
4RUN;
3 Codeblock
PROC FMM Data
Erklärung :
Zweite Ausführung von PROC FMM. Zusätzlich zur Analyse erzeugt dieser Schritt einen Ausgabedatensatz namens 'fmmout'. Dieser Datensatz enthält die Vorhersagen für jede Komponente und die A-posteriori-Wahrscheinlichkeiten der Zugehörigkeit zu jeder Komponente.
Kopiert!
1PROC FMM DATA=yeast;
2 model count/n = / k=2;
3 freq f;
4 OUTPUT out=fmmout pred(components) posterior;
5RUN;
4 Codeblock
DATA STEP Data
Erklärung :
Dieser Datenblock verarbeitet den Ausgabedatensatz 'fmmout'. Er berechnet die vorhergesagten Häufigkeiten für jede Komponente ('PredCount_1', 'PredCount_2'), indem er die A-posteriori-Wahrscheinlichkeit jeder Beobachtung mit ihrer Häufigkeit ('f') multipliziert.
Kopiert!
1DATA fmmout;
2 SET fmmout;
3 PredCount_1 = post_1 * f;
4 PredCount_2 = post_2 * f;
5RUN;
5 Codeblock
PROC PRINT
Erklärung :
Zeigt den Inhalt des angereicherten Datensatzes 'fmmout an, um die A-posteriori-Wahrscheinlichkeiten und die vorhergesagten Häufigkeiten für jede Beobachtung und jede Komponente zu überprüfen.
Kopiert!
1PROC PRINT DATA=fmmout;
2RUN;
6 Codeblock
PROC FMM
Erklärung :
Dieser Block führt eine Bayes'sche Analyse des 2-Komponenten-Mischmodells mittels der 'BAYES'-Anweisung durch. ODS-Grafiken werden aktiviert, um die Ergebnisse (wie die A-posteriori-Verteilungen) zu visualisieren. Die 'PERFORMANCE'-Deklaration schlägt vor, zwei Threads für die Berechnungen zu verwenden.
Kopiert!
1ods graphics on;
2PROC FMM DATA=yeast seed=12345;
3 model count/n = / k=2;
4 freq f;
5 performance cpucount=2;
6 bayes;
7RUN;
8ods graphics off;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.