fpca

fPca

Beschreibung

Die Aktion fPca führt eine funktionale Hauptkomponentenanalyse (Functional Principal Component Analysis, FPCA) durch. Diese Methode wird verwendet, um funktionale Daten, wie Zeitreihen oder Kurven, zu analysieren und deren Dimensionalität zu reduzieren. Im Gegensatz zur klassischen PCA, die Vektoren behandelt, berücksichtigt die FPCA die funktionale Struktur und Glattheit der Daten. Sie ist nützlich für die Merkmalsextraktion, das Clustering und die Erkennung von Ausreißern in hochdimensionalen funktionalen Datensätzen.

Einstellungen
ParameterBeschreibung
tableGibt die Eingabetabelle an, die die zu analysierenden Daten enthält.
inputsGibt die Liste der Eingabevariablen an, die für die funktionale Analyse verwendet werden sollen.
idGibt die Variable an, die als Datensatzidentifikator verwendet wird.
nBinsGibt die Anzahl der Bins an, die beim Binning der funktionalen Kurven verwendet werden sollen (Standardwert: -1, Minimum: 10).
eigenValGibt die Ausgabetabelle an, in der die Eigenwertmatrix gespeichert werden soll.
eigenVecGibt die Ausgabetabelle an, in der die Eigenvektormatrix gespeichert werden soll.
outputGibt die Parameter für die Erstellung der Scoring-Ausgabetabelle an, einschließlich des Tabellennamens und der Anzahl der Hauptkomponenten.
saveStateGibt die Ausgabetabelle an, um den Zustand der Eigenvektormatrix für zukünftiges Scoring zu speichern.
rankThresholdGibt den Eigenwert-Schwellenwert zur Bestimmung des Rangs der Kovarianzmatrix an.
Erstellung von funktionalen Beispieldaten

Wir erstellen einen Datensatz 'functional_data' mit 100 Beobachtungen. Jede Beobachtung hat eine ID und 10 Messwerte (Y1-Y10), die eine funktionale Kurve (eine Sinuswelle mit Rauschen) darstellen.

Kopiert!
1 
2DATA mycas.functional_data;
3array y[10];
4DO i=1 to 100;
5id=i;
6DO j=1 to 10;
7y[j] = sin(j/10 * 3.14) + rannor(123)*0.1;
8END;
9OUTPUT;
10END;
11 
12RUN;
13 

Beispiele

Führt eine grundlegende FPCA auf den Eingabevariablen Y1 bis Y10 durch und verwendet 'id' als Identifikator.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3fpca.fPca / TABLE={name="functional_data", caslib="casuser"}, inputs={"Y1", "Y2", "Y3", "Y4", "Y5", "Y6", "Y7", "Y8", "Y9", "Y10"}, id={"id"};
4 
5RUN;
6 
Ergebnis :
Generierung von Standardausgabetabellen mit Informationen zur Modellzusammenfassung und den Eigenwerten.

Führt eine FPCA durch, legt die Anzahl der Bins fest, speichert die Eigenwerte und Eigenvektoren in separaten Tabellen und speichert die Score-Werte (projizierte Daten) in einer Ausgabetabelle.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3fpca.fPca / TABLE={name="functional_data", caslib="casuser"}, inputs={"Y1", "Y2", "Y3", "Y4", "Y5", "Y6", "Y7", "Y8", "Y9", "Y10"}, id={"id"}, nBins=20, eigenVal={name="eigenvalues_out", caslib="casuser", replace=true}, eigenVec={name="eigenvectors_out", caslib="casuser", replace=true}, OUTPUT={casout={name="scores_out", caslib="casuser", replace=true}, npc=3}, rankThreshold=1E-06;
4 
5RUN;
6 
Ergebnis :
Erstellung der Tabellen 'eigenvalues_out', 'eigenvectors_out' und 'scores_out' in der CAS-Bibliothek.

FAQ

Was ist der Zweck der Aktion fPca?
Welcher Parameter ist erforderlich, um die Eingabedaten festzulegen?
Wie definiert man die Variable für die Datensatzkennung?
Welche Funktion hat der Parameter nBins?
Wie können die Ergebnisse der Eigenwerte und Eigenvektoren gespeichert werden?
Wozu dient der Parameter saveState?
Wie kann man die Score-Werte der Trainingsdaten ausgeben?
Was steuert der Parameter rankThreshold?