Fonctions > Analyse des données > Analyse de composant principal > A propos des fonctions d'analyse de composant principal
  
A propos des fonctions d'analyse de composant principal
Plusieurs fonctions sont disponibles dans PTC Mathcad pour réaliser une Analyse de composant principal (ACP) :
Nipals, Nipals2 : effectue une ACP.
scores, loadings, PCAeigenvals, PCAvariance : extrait les données de la sortie Nipals et Nipals2.
A propos de l'Analyse de composant principal
Il n'est pas rare de rencontrer des jeux de données dans lesquels se trouve un grand nombre de variables corrélées ou redondantes. Les calculs de l'analyse des données sont alors inefficaces et des problèmes numériques peuvent même survenir (par ex., dans les étapes d'inversion de la matrice). Dans de tels cas, il convient d'appliquer une méthode qui vous permet de compresser les données dans un nombre plus petit de variables orthogonales. Un groupe de méthodes permet de réaliser cette opération : ce sont les méthodes d'analyse factorielle. L'ACP est la plus fondamentale de ces méthodes : elle compresse les données à leurs facteurs prédominants.
L'ACP occupe un espace de données de dimension n et définit un nouvel ensemble d'axes orthogonaux (autrement dit, de nouvelles variables) qui décrivent la variance dans les données, de façon optimale. Les nouvelles variables sont dites optimales car la première décrit la quantité maximale de variations possible (autrement dit la variance maximale), la deuxième décrit la quantité maximale de variations restantes, etc. Il s'agit là des principaux composants du jeu de données.
Dans les jeux de données au sein desquels les variables de départ sont interdépendantes, ou corrélées, les principaux composants plus élevés sont proches de zéro (il s'agit généralement juste de bruit) et peuvent être supprimés. Les variables sous-jacentes, orthogonales (non corrélées) sont appelées des variables latentes et le nombre requis pour décrire les données est celui du classement des données.
NIPALS comparé à SVD
Pour de nombreux jeux de données, la fonction svd peut être utilisée pour calculer les scores et les influences, bien que cela ne soit pas souhaitable :
Avec la fonction SVD (Singular Value Decomposition - Décomposition d'une valeur singulière), tous les scores doivent être calculés, bien que les plus élevés ne soient pas nécessaires. Pour les grands jeux de données hautement redondants, la fonction SVD est donc totalement inefficace pour les calculs et risque d'échouer.
La fonction svd nécessite que le nombre de colonnes dans la matrice de données soit plus important que le nombre de lignes. Un problème peut survenir s'il y a plus de mesures que de variables.
L'algorithme NIPALS (Nonlinear Iterative Partiel Least Squares) calcule les scores et les influences de manière itérative et évite ces problèmes. Il est très stable sur le plan numérique et fonctionne avec des jeux de données de n'importe quelle taille. Il calcule uniquement le nombre voulu de composants principaux.