fpca

fPca

##set_fpca

Description

L'action fpcaAnalyse en composantes principales fonctionnelle traitant les données comme des fonctions continues. Elle réduit la dimension d'échantillons temporels ou de courbes pour en extraire les tendances..fPcaAnalyse en composantes principales fonctionnelle traitant les données comme des fonctions continues. Elle réduit la dimension d'échantillons temporels ou de courbes pour en extraire les tendances. est l'outil de prédilection pour l'Analyse en Composantes Principales Fonctionnelle. Contrairement à l'ACPTechnique de réduction de dimension transformant des variables corrélées en nouvelles composantes principales décorrélées, tout en conservant le maximum de variance (information) des données originales. classique qui traite des points fixes, la FPCAAnalyse en composantes principales fonctionnelle traitant les données comme des fonctions continues. Elle réduit la dimension d'échantillons temporels ou de courbes pour en extraire les tendances. analyse des trajectoires ou des courbes (comme des séries temporellesSuite d'observations collectées à intervalles réguliers. L'analyse vise à identifier des tendances, des cycles ou une saisonnalité pour modéliser et prédire les comportements futurs. ou des profils de capteurs) comme des entités continues. C'est un peu comme passer de la photographie à la cinématographie pour vos données : vous ne regardez plus seulement l'état à un instant T, mais la dynamique de l'évolution !

Syntaxe Officielle
fpca.fPca /
table={caslib="string", name="table-name", where="expression"},
inputs={{name="var1"}, {name="var2"}},
id={"variable-name"},
nBins=integer,
output={casout={name="table-name"}, npc=integer},
eigenVal={name="table-name"},
eigenVec={name="table-name"},
saveState={name="table-name"},
rankThreshold=double

Paramètres Clés

Nom du paramètre Description
table Spécifie la table CAS d'entrée contenant les données fonctionnelles.
inputs Liste des variables numériques représentant les points d'échantillonnage de la fonction ou de la courbe.
id Variable(s) utilisée(s) comme identifiant unique pour chaque observation (chaque courbe).
nBins Définit le nombre de bacs (bins) pour le regroupement des courbes. Si omis (-1), aucune discrétisation n'est effectuée. Si spécifié, la valeur minimale est 10.
output Sous-paramètres pour générer la table des scores (casout) et définir le nombre de composantes principales à conserver (npc).
eigenVal Table de sortie CAS pour stocker les valeurs propres résultant de la décomposition.
eigenVec Table de sortie CAS pour stocker les vecteurs propres.
saveState Sauvegarde l'état du modèle entraîné (matrice de covariance et vecteurs propres) pour permettre le scoring ultérieur de nouvelles données avec l'action fPcaScore.
rankThreshold Seuil de tolérance pour déterminer le rang de la matrice de covariance lors du calcul. Valeur par défaut : 1E-08.
display Contrôle l'affichage des tables de résultats dans la sortie SAS Studio.

Préparation des données

Création de données de courbes simulées

Génération d'une table avec 100 courbes échantillonnées sur 10 points (x1 à x10) avec une variation sinusoïdale aléatoire.

1DATA mycas.courbes_test;
2 DO id = 1 to 100;
3 array x(10);
4 seed = id * 123;
5 DO i = 1 to 10;
6 x(i) = sin(i/2) + (rannor(seed) * 0.2);
7 END;
8 OUTPUT;
9 END;
10 drop seed i;
11RUN;

Exemples d'utilisation

Analyse FPCA élémentaire

Exécution d'une FPCA sur 10 variables d'entrée pour extraire les scores des composantes.

1PROC CAS;
2 fpca.fPca /
3 TABLE={name="courbes_test"},
4 inputs={"x1","x2","x3","x4","x5","x6","x7","x8","x9","x10"},
5 OUTPUT={casout={name="scores_out", replace=true}, npc=2};
6RUN;
Résultat Attendu :
Affichage des tables de résumé et création de la table 'scores_out' avec deux composantes principales par ID.
Analyse FPca complète avec sauvegarde du modèle

Analyse avancée incluant le binning, l'export des valeurs/vecteurs propres et la création d'un fichier d'état pour le déploiement.

1PROC CAS;
2 fpca.fPca /
3 TABLE={name="courbes_test"},
4 inputs={"x1","x2","x3","x4","x5","x6","x7","x8","x9","x10"},
5 id={"id"},
6 nBins=10,
7 rankThreshold=0.00001,
8 eigenVal={name="val_propres", replace=true},
9 eigenVec={name="vec_propres", replace=true},
10 saveState={name="modele_fpca_final", replace=true},
11 OUTPUT={casout={name="scores_experts", replace=true}, npc=3},
12 display={names={"Summary", "Eigenvalues", "ModelInfo"}};
13RUN;
Résultat Attendu :
Génération de 4 tables de sortie : les scores (3 composantes), les valeurs propres, les vecteurs propres et l'état binaire du modèle pour le scoring futur.