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:
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.
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:
Respuestas:
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 ii j variables 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 .ith jth i i ith ith
Llamemos a la variable X i y elith Xi variable 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 ijth 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
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:Zj i j
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 obtenemosCov(Zi,Zi)=Var(Zi)=1 así 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.
fuente
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.
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?
fuente
Supongo que este enlace responde a su pregunta claramente: http://sebastianraschka.com/Articles/2014_about_feature_scaling.html
Cito una pequeña pieza:
fuente