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
table Gibt die Eingabetabelle an, die die zu analysierenden Daten enthält.
inputs Gibt die Liste der Eingabevariablen an, die für die funktionale Analyse verwendet werden sollen.
id Gibt die Variable an, die als Datensatzidentifikator verwendet wird.
nBins Gibt die Anzahl der Bins an, die beim Binning der funktionalen Kurven verwendet werden sollen (Standardwert: -1, Minimum: 10).
eigenVal Gibt die Ausgabetabelle an, in der die Eigenwertmatrix gespeichert werden soll.
eigenVec Gibt die Ausgabetabelle an, in der die Eigenvektormatrix gespeichert werden soll.
output Gibt die Parameter für die Erstellung der Scoring-Ausgabetabelle an, einschließlich des Tabellennamens und der Anzahl der Hauptkomponenten.
saveState Gibt die Ausgabetabelle an, um den Zustand der Eigenvektormatrix für zukünftiges Scoring zu speichern.
rankThreshold Gibt 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?