Pourquoi divisons-nous par l'écart-type et non par un autre facteur de normalisation avant de réaliser l'ACP?


17

Je lisais la justification suivante (à partir des notes de cours cs229) sur la raison pour laquelle nous divisons les données brutes par son écart type:

entrez la description de l'image ici

même si je comprends ce que dit l'explication, il n'est pas clair pour moi pourquoi la division par l'écart-type permettrait d'atteindre un tel objectif. Il dit que tout le monde est plus sur la même "échelle". Cependant, il n'est pas tout à fait clair pourquoi la division par l'écart-type y parvient. Comme quoi de mal à diviser par la variance? Pourquoi pas une autre quantité? Comme ... la somme des valeurs absolues? ou une autre norme ... Y a-t-il une justification mathématique pour choisir la MST?

Les affirmations contenues dans cet extrait sont-elles un énoncé théorique qui peut être dérivé / prouvé par le biais des mathématiques (et / ou des statistiques) ou s'agit-il davantage d'un énoncé que nous faisons parce qu'il semble fonctionner dans la «pratique»?

Fondamentalement, peut-on fournir soit une explication mathématique rigoureuse de la raison pour laquelle cette intuition est vraie? Ou si c'est juste une observation empirique, pourquoi pensons-nous que cela fonctionne en général avant de faire l'ACP?

De plus, dans le contexte de l'ACP, s'agit-il du processus de normalisation ou de normalisation?


Quelques autres pensées que j'ai eues qui pourraient "expliquer" pourquoi la MST:

Étant donné que l'ACP peut être dérivée de la maximisation de la variance, j'ai deviné que la division par une quantité liée telle que la MST, pourrait être l'une des raisons pour lesquelles nous avons divisé par la MST. Mais alors j'ai considéré que peut-être si nous définissions peut-être une "variance" avec toute autre norme, , alors nous diviserions par la MST de cette norme (en prenant la racine pth ou quelque chose). Cependant, c'était juste une supposition et je ne suis pas à 100% à ce sujet, d'où la question. Je me demandais si quelqu'un savait quoi que ce soit à ce sujet.1ni=1n(xiμ)p


J'ai vu qu'il y avait peut-être une question connexe:

ACP sur la corrélation ou la covariance?

mais il semblait parler davantage du moment d'utiliser la "corrélation" ou la "covariance" mais manquait de justifications rigoureuses ou convaincantes ou détaillées, ce qui m'intéresse principalement.

Pareil pour:

Pourquoi devons-nous normaliser les données avant l'analyse

en relation:

Variables de "normalisation" pour SVD / PCA


1
Il y a une raison mathématique - la division des données (centrées) par la SD pour chaque variable produit un ensemble de données transformé dont la matrice de covariance est simplement la matrice de corrélation des données d'origine (centrées). Après cela, nous sommes à nouveau sur le territoire de la matrice de corrélation vs covariance. Cherchez-vous des preuves de la façon dont la normalisation des données transforme la matrice de covariance en matrice de corrélation?
Silverfish

Votre question de titre se lit comme si vous demandiez à quoi sert la normalisation (par opposition à la non normalisation). Il s'agirait d'un doublon de "l'ACP sur la corrélation ou la covariance". Cependant, ce que vous semblez réellement demander, c'est pourquoi la normalisation se fait via la division par STD (par opposition à la division par variance, ou plage, etc.). Si oui, souhaitez-vous peut-être modifier pour rendre la question du titre plus précise?
amibe dit Réintégrer Monica le

3
En ce qui concerne la terminologie, "normaliser" n'est pas un terme précis et peut faire référence à diverses choses. Alors que «normaliser» signifie soustraire la moyenne et diviser par l'écart-type, ce à quoi vous faites référence.
amibe dit Réintégrer Monica le

2
Je dois ajouter que je pense que votre question est très bonne (+1). On peut en effet normaliser en divisant par autre chose; par exemple, l'écart type est une mesure très peu robuste et peut être trompeur en présence de valeurs aberrantes fortes. On peut donc choisir de diviser par une mesure robuste de l'écart à la place (voir par exemple "écart absolu médian"). Il n'y a pas "d'explication mathématique rigoureuse" de la raison pour laquelle l'utilisation des MST est la meilleure façon de normaliser, et vous avez raison de dire que c'est "juste une observation empirique" qui fonctionne souvent bien.
amibe dit Réintégrer Monica le

2
Re "pourquoi ne pas diviser par la variance à la place" - cela peut être expliqué assez facilement par l'incohérence dimensionnelle. Cela vous donnerait des résultats étranges si vous modifiiez les unités dans lesquelles se trouvait l'une des variables, par exemple. Re "pourquoi ne pas diviser par MAD" - si les données étaient normalement distribuées, alors que (dans la population) MAD est proportionnel à SD, il serait possible de diviser par un multiple approprié de MAD et d'obtenir un (inefficace mais éventuellement robuste? ) estimation de la corrélation. C'est plus intéressant.
Silverfish

Réponses:


11

Il s'agit d'une réponse partielle à "il n'est pas clair pour moi pourquoi la division par l'écart-type permettrait d'atteindre un tel objectif". En particulier, pourquoi il place les données transformées (standardisées) sur la "même échelle". La question fait allusion à des problèmes plus profonds (quoi d'autre aurait pu "fonctionner", qui est lié à ce que "travaillé" pourrait même signifier, mathématiquement?), Mais il semblait judicieux de traiter au moins les aspects les plus simples de la raison pour laquelle cette procédure "fonctionne". - c'est-à-dire, réalise les revendications faites pour cela dans le texte.

ijithjthiiithith

ithXijthXj

Cov(Xi,Xj)=σXiσXjCor(Xi,Xj)

Zi=XiσXi

Var(Zi)=Var(XiσXi)=1σXi2Var(Xi)=1σXi2σXi2=1

Zjij

Cov(Zi,Zj)=σZiσZjCor(Zi,Zj)=Cor(Zi,Zj)

Cor(Zi,Zj)Cor(Xi,Xj)

Cov(Zi,Zi)=Var(Zi)=1donc toute la diagonale est remplie de uns, comme on pourrait s'y attendre. C'est dans ce sens que les données sont désormais "sur la même échelle" - leurs distributions marginales devraient être très similaires, du moins si elles étaient à peu près normalement distribuées au départ, avec une moyenne nulle et avec une variance (et un écart-type) une. Il n'est plus le cas que la variabilité d'une variable submerge les autres. Bien sûr, vous auriez pu diviser par une mesure de propagation différente. La variance aurait été un choix particulièrement mauvais en raison de l'incohérence dimensionnelle (pensez à ce qui se serait passé si vous aviez changé les unités dans lesquelles se trouvait une de vos variables, par exemple de mètres en kilomètres). Quelque chose comme l'écart absolu médian (ou un multiple approprié du MADsi vous essayez de l'utiliser comme une sorte d'estimateur robuste de l'écart-type) aurait peut-être été plus approprié. Mais cela ne transformera toujours pas cette diagonale en une diagonale.

Le résultat est qu'une méthode qui fonctionne sur la matrice de covariance des données normalisées, utilise essentiellement la matrice de corrélation des données d'origine. Pour lequel vous préférez utiliser sur PCA, voir PCA sur la corrélation ou la covariance?


2
Je pense que cette réponse ne touche pas vraiment à la question réelle (et non triviale) de savoir pourquoi l'écart-type est pris comme mesure de l'écart et utilisé pour la normalisation. Pourquoi ne pas prendre la déviation absolue médiane à la place? Certes, la matrice de covariance résultante ne sera pas la matrice de corrélation "par défaut", mais elle sera peut-être meilleure, par exemple une estimation plus robuste de la matrice de corrélation. Voir aussi mon dernier commentaire au PO.
amibe dit Réintégrer Monica le

2
@ameoba Sur le point "moyennement profond", le fait que nous obtenions des variances de un dans la diagonale de la nouvelle matrice de covariance est essentiellement ce que nous voulons dire en obtenant des données transformées des variables "à la même échelle" du point de vue de l'ACP. Sur les questions "très profondes" soulevées par cette question, je ne suis pas sûr qu'il y ait beaucoup de différence entre demander "eh bien pourquoi utilisons-nous les variances comme mesure de l'échelle dans l'ACP?" et demandant "pourquoi l'APC se préoccupe-t-elle des (co) variances?" - ou du moins, que les deux questions seraient intimement liées.
Silverfish

1
@amoeba, pourquoi ne pas diviser par MAD ou par variance au lieu de SD est, essentiellement, la même question que pourquoi évoluer différemment: c'est-à-dire, pourquoi ne pas faire l'ACP sur les covariances à la place? Je soutiens cette idée dans le commentaire précédent.
ttnphns

1
@ttnphns: Si différentes variables ont des échelles complètement incomparables (température, longueur, poids, etc.), alors le désir de normaliser d'une manière ou d'une autre les variables est tout à fait compréhensible. C'est l'argument commun pour utiliser la matrice de corrélation au lieu de la matrice de covariance. Mais si quelqu'un s'inquiète des valeurs aberrantes, je ne vois rien de mal à soustraire la médiane au lieu de la moyenne et à diviser par MAD au lieu de SVD ... Je ne l'ai jamais fait moi-même, mais je pense que cela semble être une chose raisonnable à faire.
amibe dit Réintégrer Monica le

1
@amoeba, PCA linéaire a besoin que la matrice soit la matrice de type SSCP . Toute transformation linéaire des variables d'origine conserve ce type. Bien sûr, vous pouvez également effectuer n'importe quelle transformation non linéaire (comme, par exemple, le classement, pour obtenir la matrice rho de Spearman), mais les scores et les chargements des composants perdent leur connexion directe (dans le sens de la minimisation des moindres carrés) avec les données: ils représentent maintenant les données transformées à la place!
ttnphns

5

Pourquoi divisons-nous par l'écart-type
ce qui ne va pas avec la division par la variance?

z : si les données sont normalement distribuées, la normalisation les transformera en une distribution normale standard.

Donc: la normalisation (centrage moyen + mise à l'échelle par écart-type) est logique si vous considérez la distribution normale standard comme sensible pour vos données.

Pourquoi pas une autre quantité? Comme ... la somme des valeurs absolues? ou une autre norme ...

D'autres quantités sont utilisées pour l' échelle données, mais la procédure n'est appelée standardisation que si elle utilise le centrage moyen et la division par écart-type. La mise à l'échelle est le terme générique.

Par exemple, je travaille avec des données spectroscopiques et je sais que mon détecteur a une sensibilité dépendante de la longueur d'onde et un biais (électronique). Ainsi, j'étalonne en soustrayant le signal de décalage (vierge) et en multipliant (divisant) par un facteur d'étalonnage.

De plus, je me concentre peut-être non pas sur la moyenne, mais plutôt sur une autre valeur de référence, comme la moyenne d'un groupe témoin au lieu de la grande moyenne. (Personnellement, je ne standardise presque jamais car mes variables ont déjà la même unité physique et sont dans le même ordre de grandeur)

Voir aussi: Les variables sont souvent ajustées (par exemple normalisées) avant de créer un modèle - quand est-ce une bonne idée et quand est-elle mauvaise?


+1. Bel exemple avec des données spectroscopiques. Soit dit en passant, félicitations pour avoir atteint 10 000 représentants!
Amoeba dit Reinstate Monica

0

Ce lien répond clairement à votre question, je suppose: http://sebastianraschka.com/Articles/2014_about_feature_scaling.html

Je cite un petit morceau:

Standardisation du score Z ou mise à l'échelle Min-Max?

"Standardisation ou mise à l'échelle Min-Max?" - Il n'y a pas de réponse évidente à cette question: cela dépend vraiment de l'application.

Par exemple, dans les analyses de regroupement, la normalisation peut être particulièrement cruciale afin de comparer les similitudes entre les caractéristiques en fonction de certaines mesures de distance. Un autre exemple important est l'analyse des composants principaux, où nous préférons généralement la normalisation à la mise à l'échelle Min-Max, car nous nous intéressons aux composants qui maximisent la variance (selon la question et si l'ACP calcule les composants via la matrice de corrélation au lieu de la matrice de covariance; mais plus sur l'ACP dans mon article précédent).

Cependant, cela ne signifie pas que la mise à l'échelle Min-Max n'est pas du tout utile! Une application populaire est le traitement d'image, où les intensités de pixels doivent être normalisées pour s'adapter à une certaine plage (c'est-à-dire de 0 à 255 pour la plage de couleurs RVB). De plus, un algorithme de réseau neuronal typique requiert des données sur une échelle de 0 à 1.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.