¿Por qué dividimos por la desviación estándar y no por algún otro factor de estandarización antes de hacer PCA?


17

Estaba leyendo la siguiente justificación (de las notas del curso cs229) sobre por qué dividimos los datos sin procesar por su desviación estándar:

ingrese la descripción de la imagen aquí

Aunque entiendo lo que dice la explicación, no me queda claro por qué dividir por la desviación estándar alcanzaría tal objetivo. Dice para que todos estén más en la misma "escala". Sin embargo, no está del todo claro por qué dividirlo por la desviación estándar logra eso. Como, ¿qué hay de malo en dividir por la varianza? ¿Por qué no alguna otra cantidad? ¿Como ... la suma de valores absolutos? o alguna otra norma ... ¿Existe una justificación matemática para elegir la ETS?

¿Son las afirmaciones de este extracto una afirmación teórica que puede derivarse / demostrarse a través de las matemáticas (y / o estadísticas) o es más una de esas afirmaciones que hacemos porque parece funcionar en la "práctica"?

Básicamente, ¿se puede proporcionar una explicación matemática rigurosa de por qué esa intuición es verdadera? O si es solo una observación empírica, ¿por qué pensamos que funciona en general antes de hacer PCA?

Además, en el contexto de PCA, ¿es este el proceso de estandarización o normalización?


Algunos otros pensamientos que tuve que podrían "explicar" por qué la ETS:

Como PCA puede derivarse de maximizar la varianza, supuse que dividir por una cantidad relacionada, como la ETS, podría ser una de las razones por las que dividimos por la ETS. Pero luego consideré que tal vez si definimos tal vez una "variación" con cualquier otra norma, , entonces dividiríamos por la ETS de esa norma (tomando la raíz pth o algo así). Sin embargo, fue solo una suposición y no estoy 100% al respecto, de ahí la pregunta. Me preguntaba si alguien sabía algo relacionado con esto.1ni=1n(xiμ)pag


Vi que tal vez había una pregunta relacionada:

PCA en correlación o covarianza?

pero parecía hablar más sobre cuándo usar "correlación" o "covarianza", pero carecía de justificaciones rigurosas, convincentes o detalladas, que es lo que más me interesa.

Igual por:

¿Por qué necesitamos normalizar los datos antes del análisis?

relacionado:

Variables de "normalización" para SVD / PCA


1
Hay una razón matemática: dividir los datos (centrados) por el SD para cada variable produce un conjunto de datos transformados cuya matriz de covarianza es simplemente la matriz de correlación de los datos originales (centrados). Después de eso, estamos en el territorio de la matriz de correlación vs covarianza nuevamente. ¿Está buscando pruebas de cómo la normalización de los datos convierte la matriz de covarianza en una matriz de correlación?
Silverfish

Su pregunta de título se lee como si estuviera preguntando cuál es el propósito de normalizarla (en lugar de no normalizar). Esto sería un duplicado de "PCA en correlación o covarianza". Sin embargo, lo que realmente parece estar preguntando es por qué la normalización se realiza dividiendo por ETS (en lugar de dividir por varianza, rango, etc.). Si es así, ¿quizás desee editar para que la pregunta del título sea más precisa?
ameba dice Reinstate Monica

3
Con respecto a la terminología, "normalizar" no es un término preciso y puede referirse a varias cosas. Mientras que "estandarizar" significa restar la media y dividir por la desviación estándar, a lo que se refiere.
ameba dice Reinstate Monica

2
Debo agregar que creo que tu pregunta es muy buena (+1). De hecho, se puede normalizar dividiendo por otra cosa; por ejemplo, la desviación estándar es una medida muy poco robusta y puede ser engañosa en presencia de valores atípicos fuertes. Por lo tanto, uno puede elegir dividir por alguna medida robusta de propagación (ver, por ejemplo, "desviación absoluta media"). No existe una "explicación matemática rigurosa" de por qué el uso de ETS es la mejor manera de normalizar, y usted está en lo cierto de que es "solo una observación empírica" ​​de que a menudo funciona bien.
ameba dice Reinstate Monica

2
Re "por qué no dividir por la varianza en su lugar", que puede explicarse fácilmente por la inconsistencia dimensional. Le daría resultados extraños si cambiara las unidades en las que estaba una de las variables, por ejemplo. Re "¿por qué no dividir por MAD"? Si los datos se distribuyeron normalmente, entonces dado que (en la población) MAD es proporcional a SD, sería posible dividir por un múltiplo apropiado de MAD y obtener un (ineficiente pero posiblemente robusto). ) estimación de la correlación. Eso es mas interesante.
Silverfish

Respuestas:


11

Esto es una respuesta parcial a "no está claro para mí por qué dividir por la desviación estándar alcanzaría tal objetivo". En particular, por qué pone los datos transformados (estandarizados) en la "misma escala". La pregunta apunta a cuestiones más profundas (¿qué otra cosa podría haber "funcionado", que está relacionada con lo que "trabajado" podría significar, matemáticamente?), Pero parecía razonable al menos abordar los aspectos más directos de por qué este procedimiento "funciona" - es decir, logra las afirmaciones hechas en el texto.

La entrada en la fila y la columna j de una matriz de covarianza es la covarianza entre el iijvariables t h y j t h . Tenga en cuenta que en una diagonal, filaiy columnai, esto se convierte en la covarianza entre lavariable i t h y en sí misma, que es solo la varianza de lavariable i t h .ithjthiiithith

Llamemos a la variable X i y elithXivariable j t h X j ; Asumiré que estos ya están centrados para que tengan una media cero. Recuerde que C o v ( X i , X j ) = σ X ijthXj

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

Podemos estandarizar las variables para que tengan una varianza uno, simplemente dividiendo por sus desviaciones estándar. Al estandarizar, generalmente restamos la media primero, pero ya asumí que están centrados para que podamos omitir ese paso. Sea y para ver por qué la varianza es uno, tenga en cuenta queZi=XiσXi

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

De manera similar para . Si tomamos la entrada en la fila i y la columna j de la matriz de covarianza para las variables estandarizadas, tenga en cuenta que, dado que están estandarizadas:Zjij

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

Además, cuando reescalamos las variables de esta manera, la suma (equivalente: resta) no cambia la correlación, mientras que la multiplicación (equivalente: división) simplemente revertirá el signo de la correlación si el factor (divisor) es negativo. En otras palabras, la correlación no cambia por las traducciones o la escala, pero se invierte por reflexión. ( Aquí hay una derivación de esas propiedades de correlación , como parte de una respuesta que de otro modo no estaría relacionada). Dado que dividimos por desviaciones estándar, que son positivas, vemos que debe ser igual a C o r ( X i , X jCor(Zi,Zj) es decir, la correlación entre los datos originales.Cor(Xi,Xj)

A lo largo de la diagonal de la nueva matriz de covarianza, tenga en cuenta que obtenemos Cov(Zi,Zi)=Var(Zi)=1así que toda la diagonal está llena de unos, como es de esperar. Es en este sentido que los datos ahora están "en la misma escala": sus distribuciones marginales deberían ser muy similares, al menos si al principio se distribuyen de manera más o menos normal, con media cero y con varianza (y desviación estándar). Ya no es el caso que la variabilidad de una variable hunda a las otras. Podría haber dividido por una medida diferente de propagación, por supuesto. La variación habría sido una elección particularmente mala debido a la inconsistencia dimensional (piense en lo que habría sucedido si hubiera cambiado las unidades en las que se encontraba una de sus variables, por ejemplo, de metros a kilómetros). Algo así como la desviación absoluta media (o un múltiplo apropiado de la MADsi está tratando de usarlo como una especie de estimador robusto de la desviación estándar) puede haber sido más apropiado. Pero aún así no convertirá esa diagonal en una diagonal de unos.

El resultado es que un método que funciona en la matriz de covarianza de datos estandarizados, está esencialmente usando la matriz de correlación de los datos originales. Para lo que preferiría usar en PCA, consulte PCA sobre correlación o covarianza.


2
Creo que esta respuesta realmente no toca el real (y no trivial) de por qué la desviación estándar se toma como una medida de propagación y se usa para la normalización. ¿Por qué no tomar la desviación absoluta media en su lugar? Por supuesto, la matriz de covarianza resultante no será la matriz de correlación "predeterminada", pero quizás sea mejor, por ejemplo, una estimación más robusta de la matriz de correlación. Vea también mi último comentario al OP.
ameba dice Reinstate Monica

2
@ameoba En el punto "medio profundo", el hecho de que obtengamos variaciones de uno en la diagonal de la nueva matriz de covarianza es esencialmente lo que queremos decir al hacer que los datos transformados tengan variables "en la misma escala" desde la perspectiva PCA. Sobre las cuestiones "muy profundas" planteadas por esta pregunta, no estoy seguro de que haya mucha diferencia entre preguntar "¿por qué usamos las variaciones como nuestra medida de escala en PCA?" y preguntando "¿por qué PCA se preocupa por las (co) variaciones?" - o al menos, que los dos temas estarían íntimamente relacionados.
Silverfish

1
@amoeba, ¿por qué no dividir por MAD o por varianza en lugar de SD es, esencialmente, la misma pregunta que por qué escalar diferencialmente: es decir, por qué no hacer PCA en covarianzas? Apoyo esta idea en el comentario anterior.
ttnphns

1
@ttnphns: si diferentes variables tienen escalas completamente incomparables (temperatura, longitud, peso, etc.), entonces el deseo de normalizar de alguna manera las variables es bastante comprensible. Ese es el argumento común para usar la matriz de correlación en lugar de la matriz de covarianza. Pero si alguien está preocupado por los valores atípicos, no veo nada de malo en restar la mediana en lugar de la media y dividir por MAD en lugar de SVD ... Nunca lo hice yo mismo, pero creo que suena como algo razonable.
ameba dice Reinstate Monica

1
@amoeba, PCA lineal necesita que la matriz sea la matriz de tipo SSCP . Cualquier transformación lineal de las variables originales conserva este tipo. Por supuesto, también podría realizar cualquier transformación no lineal (como, por ejemplo, clasificación, para obtener la matriz rho de Spearman), pero luego las puntuaciones y las cargas de los componentes pierden su conexión directa (en el sentido de minimización de mínimos cuadrados) con los datos: ahora representa los datos transformados en su lugar!
ttnphns

5

¿Por qué dividimos por la desviación estándar
qué hay de malo en dividir por la varianza?

z

Entonces: la estandarización (centrado medio + escalado por desviación estándar) tiene sentido si considera que la distribución normal estándar es razonable para sus datos.

¿Por qué no alguna otra cantidad? ¿Como ... la suma de valores absolutos? o alguna otra norma ...

Se usan otras cantidades para escalar datos, pero el procedimiento se llama estandarización solo si usa el centrado medio y la división por la desviación estándar. Escalar es el término genérico.

Por ejemplo, trabajo con datos espectroscópicos y sé que mi detector tiene una sensibilidad dependiente de la longitud de onda y un sesgo (electrónico). Así yo calibro restando la señal de desplazamiento (en blanco) y multiplicando (dividiendo) por un factor de calibración.

Además, puedo centrarme no en la media sino en algún otro valor de referencia, como la media de un grupo de control en lugar de la gran media. (Personalmente, casi nunca estandarizo ya que mis variantes ya tienen la misma unidad física y están en el mismo orden de magnitud)

Ver también: Las variables a menudo se ajustan (por ejemplo, estandarizadas) antes de hacer un modelo: ¿cuándo es una buena idea y cuándo es mala?


+1. Buen ejemplo con datos espectroscópicos. Por cierto, ¡felicidades por llegar a 10k rep!
ameba dice Reinstate Monica

0

Supongo que este enlace responde a su pregunta claramente: http://sebastianraschka.com/Articles/2014_about_feature_scaling.html

Cito una pequeña pieza:

¿Estandarización de puntaje Z o escala Min-Max?

“¿Estandarización o escalamiento Min-Max?” - No hay una respuesta obvia a esta pregunta: realmente depende de la aplicación.

Por ejemplo, en los análisis de agrupamiento, la estandarización puede ser especialmente crucial para comparar similitudes entre características basadas en ciertas medidas de distancia. Otro ejemplo destacado es el Análisis de componentes principales, donde generalmente preferimos la estandarización sobre la escala Min-Max, ya que estamos interesados ​​en los componentes que maximizan la varianza (dependiendo de la pregunta y si el PCA calcula los componentes a través de la matriz de correlación en lugar de matriz de covarianza; pero más sobre PCA en mi artículo anterior).

Sin embargo, esto no significa que la escala Min-Max no sea útil en absoluto. Una aplicación popular es el procesamiento de imágenes, donde las intensidades de píxeles deben normalizarse para ajustarse a un cierto rango (es decir, 0 a 255 para el rango de color RGB). Además, el algoritmo típico de la red neuronal requiere datos en una escala de 0-1.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.