-1- ANALISIS DE PROXIMIDADES (MULTIDIMENSIONAL SCALING (MDS)) José Luis Vicente Villardón Departamento de Estadística Universidad de Salamanca -2- MODELOS DE MDS INTRODUCCION El Multidimensional Scaling (MDS) o Análisis de Proximidades es un método que trata de representar medidas de proximidad (similaridades o disimilaridades) entre pares de objetos como distancias (euclídeas) en un espacio multidimensional de baja dimensión. La representación en baja dimensión permite la inspección visual de la estructura de los datos. USOS DEL MDS - Técnica Exploratoria - Contraste de hipótesis estructurales - Exploración de estructuras psicológicas. - Modelos de juicio de similaridad CONCEPTOS INICIALES - Medida de la proximidad δij (distancia observada) (similaridad observada) (disimilaridad) - El MDS trata de representar proximidades mediante distancias entre puntos de una configuración m-dimensional X , que denominaremos el espacio MDS. - En el espacio MDS definimos un sistema de coordenadas. Cada uno de los ejes del sistema de coordenadas se denomina dimensión. -3- - La distancia entre dos puntos i, j en el espacio MDS la denotamos con dij(X) o simplemente con dij, y es dij = m ∑ (xik − x jk )2 k=1 y es la distancia euclídea fundamental o distancia pitagórica. - El MDS convierte proximidades δij definidas en un espacio abstracto no determinado, en distancias dij en el espacio MDS, f : δ ij → dij donde la función f especifica el modelo de MDS. f (δ ij ) = dij Es decir, el MDS trata de aproximar un conjunto de proximidades, o una función de las mismas, mediante una configuración euclídea. f (δ ij ) = δˆij ó dˆij se conocen normalmente como disparidades. -4- MDS METRICO La función f es de forma conocida pero de parámetros desconocidos. - MDS absoluto, clásico o Coordenadas principales δˆij = δ ij - MDS para escala de razón δˆij = bδ ij - MDS para escala de intervalo δˆij = a + bδ ij - Otros tipos no lineales - Logarítmico δˆij = b log(δ ij ) δˆij = a + b log(δ ij ) - Exponencial δ δˆij = a + be ij - Cuadrático δˆij = a + bδ ij + cδ ij2 - Inverso b δˆij = a + δ ij - Recíproco δˆij = b(1− δ ij ) Las disparidades se estiman mediante regresión -5- MDS NO METRICO La función f no se especifica completamente, se restringe para que sea monótona - MDS ordinal Si δ ij < δ kl entonces δˆij ≤ δˆkl y sin orden particular cuando δ ij = δ kl - MDS nominal Si δ ij = δ kl entonces δˆij = δˆkl Las disparidades se estiman mediante regresión monótona. EMPATES EN MDS NO METRICO Se dice que hay un empate cuando dos proximidades tienen el mismo rango de orden. - Aproximación Primaria: Los empates no imponen restricciones sobre las distancias - Aproximación secundaria: Las distancias en la solución son iguales. -6- ERRORES, FUNCIONES DE PERDIDA Y STRESS Aunque el modelo exige que f (δ ij ) = dij , en la práctica f (δ ij ) ≅ dij tan cerca como sea posible. Se define el error de la representación como e ij2 = [ f (δ ij ) − dij ] 2 y sumando para todos los pares σ 2r = σ r2 (X) = ∑ [f(δ ij ) − dij ]2 (i,j) se obtiene lo que se denomina stress bruto, que depende de la calibración de las proximidades. Para evitar la dependencia de las escala podemos escribir ∑ [ f (δ ij ) − dij ]2 σ r2 (X) (i, j) 2 2 σ 1 = σ 1 (X) = = ∑ dij2 ∑ dij2 (i, j) (i,j) Tomando la raíz cuadrada se obtiene el Stress-1 de Kruskal. ∑ [f(δ ij ) − dij ]2 Stres − 1 = σ 1 = (i,j) ∑ dij2 (i, j) -7- Si la matriz es simétrica, basta tomar la suma para i < j. Minimizar el Stress-1, requiere encontrar un X óptimo en dimensión m y una función f adecuada. -8- INTERPRETACION DEL STRESS El stress es una medida de la falta de ajuste que depende de varios factores. - n, el número de puntos. A mayor número de puntos mayor stress. - - m, la dimensionalidad del espacio MDS. A mayor dimensionalidad mayor stress. - El error en los datos: A mayor error mayor stress - El número de empates: En general, mayor número de empates permiten menor stress. - El número de datos perdidos: En general un mayor número de datos perdidos produce un menor stress. - El modelo de MDS: El MDS para datos de intervalo produce un mayor stress que el modelo ordinal, particularmente si f es marcadamente no lineal. STRESS PARA DATOS PERDIDOS Es posible incluir datos perdidos añadiendo ponderaciones, de forma que el stress podría escribirse como. ∑ wij [f (δ ij ) − dij ]2 σ1 = (i,j) ∑ wij dij2 (i, j) donde la ponderación es 1 si el dato es válido y 0 si se trata de un dato perdido. -9- DIAGRAMAS DE SHEPARD El diagrama de Shepard complementa a la nedida del Stress. Se trata de un diagrama de dispersión que representa a las proximidades frente a las disparidades o a las distancias. disparidades ó distancias proximidades El stress puede interpretarse como un coeficiente de correlación que mide la falta de ajuste. El diagrama de Shepard permite detectar “outliers” y formas de la función. El diagrama de Shepard es particularmente útil en MDS ordinal para detectar la forma aproximada de la función monótona desconocida. DIAGRAMAS DE RESIDUALES Representan las diferencias entre las disparidades y las distancias frente a las proximidades. Su interpretación es similar a la que se utiliza en regresión. -10- ALGORITMO GENERAL PARA LA OBTENCION DEL MDS Comenzar Solución inicial X (0) k=0 Calcular las disparidades óptimas para las distancias en X (k) Actualizar X (k) (2) Estandarizar las disparidades k=k+1 Calcular σ r(k) NO K≠0 ? SI NO σ r(k-1) - σ r(k) < ε ó k=nº max de iteraciones (2): Busqueda del stress mínimo SI Parar -11- PRINCIPIOS DE LA MAYORIZACION La característica fundamental de la mayorización iterativa es que genera secuencias no crecientes de valores de la función que termina generalmente en un mínimo local. La idea general consiste en reemplazar la función a minimizar f(x) por una función auxiliar g(x, z) donde z es un valor fijo. La función g(x,z) debe cumplir las siguientes propiedades para que sea una función mayorizante: - La función g(x,z) debeser más simple de minimizar que f(x). Por ejemplo, una función cuadrática. - La función original debe ser siempre menor, o al menos igual que la función auxiliar, f(x) ≤ g(x,z). - La función auxiliar ha de tocar a la superficie (curva) en el punto soporte z, f(z) = g (z,z). -12- ALGORITMO ITERATIVO DE MAYORIZACION 1.- Tomar z = z0, (z0 es un valor inicial). 2.- Buscar una actualización de xu para la que g(xu,z) ≤ g(z,z). 3.- Si f(z) – f(xu) < e, parar 4.- Tomar z = xu, e ir a 2. g(x,x0) f(x) g(x,x1) f(x0)=g(x 0,x 0) g(x1,x0) f(x1)=g(x 1,x 1) g(x2,x1) f(x 2) x2 x1 x0 MAYORIZACION CUADRATICA Si f(x) tiene la segunda derivada acotada, existe una función cuadrática que tiene, comparada con f(x), una segunda derivada mayor en cualquier punto x. Para este tipo de funciones, f(x) puede mayorizarse con g(x, z) = a(z)x 2 − b(z)x + c(z) con a(z) > 0 y a(z), b(z) y c(z) funciones de z pero no de x. -13- MAYORIZACION DEL STRESS (SMACOF) (Para la función identidad) El Stress bruto puede escribirse como σ 2r (X) = ∑ wij [δ ij − dij (X)] 2 i<j = ∑ wijδ ij2 + ∑ wij dij2 (X) − 2 ∑ wijδ ij dij (X) i< j i< j i< j = ηδ2 + η 2 (X) − 2ρ(X) los elementos (sumandos) de η 2 (X) pueden escribirse como w ijdij2 (X) = wij tr( X ′A ij X) = tr(X ′w ijA ij X) con aii = a jj = 1, aij = a ji = −1 y el resto 0. ( A ij está centrada por filas y por columnas, A ij 1 = 1′A ij = 0) Sumando para i y j η 2 (X) = ∑ w ijdij2 (X) = tr(X ′( ∑ wij Aij )X) = tr(X ′ VX) i<j i<j con V = ∑ w ij A ij . i<j Ó, en general vij = wij si i ≠ j y vii = ∑nj=1 wij . -14- η 2 (X) es una función cuadrática de X fácil de manejar. V está centrada por filas y por columnas. Es de rango n-1 y el valor propio nulo corresponde al vector propio n − 12 1. ρ(X) es una suma ponderada de distancias ρ(X) = ∑ (wij δ ij )dij (X) i<j para obtener una mayorización para de dij (X) usamos la desigualdad de Cauchy-Schwarz m m m a=1 a=1 a=1 ∑ p a qa ≤ ( ∑ p a2 )1/2 ( ∑ q a2 )1/2 la igualdad se verifica cuando q a = cpa . Si sustituimos p a por (xia − x ja ) y q a por (zia − z ja ) obtenemos m 1/2 m 1/2 2 2 ∑ (zia − z ja ) = ∑ (x ia − x ja )(z ia − z ja ) ≤ ∑ (xia − x ja ) a=1 a=1 a=1 = dij (X)dij (Z) m con igualdad si Z =X. Dividiendo ambos sumandos por dij (Z) y multiplicando por –1, nos da m ∑ (x ia − x ja )(zia − z ja ) −dij (X) ≤ − a=1 dij (Z) -15- Procediendo como antes m ∑ (x ia − x ja )(z ia − z ja ) = tr(X ′A ijZ) a=1 y wij δ ij −ρ(X) = − ∑ (wijδ ij )dij (X) ≤ −tr( X ′( d (Z) Aij )Z) = −tr( X ′ B(Z)Z) ij i<j donde B(Z) tiene elementos w ij δ ij − bij = dij (Z) 0 bii = - n ∑ j=1, j≠i para i ≠ j y dij (Z) ≠ 0 para i ≠ j y dij (Z) = 0 bij Como la igualdad se produce si Z=X, hemos obtenido la desigualdad de mayorización −ρ(X) = −tr( X ′ B(X)X) ≤ −tr(X ′ B(Z)Z) Combinando los resultados anteriores σ 2r (X) = ηδ2 + tr(X ′ VX) − 2tr( X ′ B(X)X) ≤ ηδ2 + tr( X ′ VX) − 2tr(X ′ B(Z)Z) = τ(X, Z) τ (X,Z) es una función mayorizante del stress que es cuadrática en X. El mínimo puede obtenerse analíticamente igualando la derivada a cero -16- ∂τ(X,Z) = 2VX − 2B(Z)Z = 0 ∂X de forma que VX = B(Z)Z V es singular por lo que, para resolver el sistema tenemos que utilizar una inversa generalizada V + = (V + 11 ′)−1 − n−2 11' el último término ( n −2 11') es irrelevante ya que V + se multiplica por una matriz ortogonal a 1, ya que B(Z)Z tiene un vector propio 1 con valor propio 0. La fórmula de actualización es entonces: X u = V + B(Z)Z Si todos los pesos w ij = 1, entonces V + = n −1 J con J = I − n −1 11 ′ , la matriz de centrado, y la fórmula de actualización es X u = n −1B(Z)Z (Transformación de Guttman). -17- ALGORITMO 1.- Tomar Z = X (0) , k=0. 2.- Calcular σ r (X (0) ) 3.- k = k + 1. 4.- Actualizar las coordenadas X (k) = V +B(Z)Z . 5.- Calcular σ r (X (k ) ) 6.- Si σ r (X (k −1) ) − σ r (X (k) ) < ε ó k = número máximo de iteraciones, entonces parar 7.- Tomar Z = X (k) e ir a 3. -18- STRESS CON DISPARIDADES Las disparidades se incorporan a la función de stress como σ 2r (δˆ ,X) = ∑ w ij [δˆij − dij (X)]2 i<j = ∑ w ijδˆ ij2 + ∑ w ij dij2 (X) − 2 ∑ w ijδˆ ijdij (X) i<j i< j i< j = η 2ˆ + η 2 (X) − 2ρ(δˆ, X) δ donde δˆ es un vector de sx1disparidades con s=n(n-1)/2. Optimizando sobre δˆ y X, una solución trivial es δˆ = 0 y X=0. Para evitar esta solución degenerada, tomamos δˆ con longitud fija η 2ˆ = n(n − 1)/2 δ En el algoritmo se ajustan las disparidades por regresión. Para la fórmula de actualización se utilizan las disparidades ajustadas. -19- ALGORITMO 1.- Tomar Z = X (0) , e iniciar el contador de iteraciones k=0. 2.- Encontrar las disparidades óptimas δˆ para distancias fijadas dij (X(0) ). El procedimiento para el ajuste suele ser una regresión de las distancias sobre las proximidades observadas de acuerdo con la función f. 3.- Estandarizar δˆ de forma que η 2ˆ = n(n − 1)/2 . δ 4.- Calcular σ r (X (0) ) 5.- Incrementar el contador de iteraciones, k = k + 1. 6.- Actualizar las coordenadas X (k) = V +B(Z)Z , reemplazando δ ij por δˆij . 7.- Encontrar las disparidades óptimas δˆ para distancias fijadas dij (X(2) ) con el mismo procedimiento que en 2. 8.- Estandarizar δˆ de forma que η 2ˆ = n(n − 1)/2 . δ 9.- Calcular σ r (δˆ ,X (k) ) 10.- Si σ r (δˆ ,X (k−1) ) − σ r (δˆ, X(k) ) < ε ó k = número máximo de iteraciones, entonces parar 11.- Tomar Z = X (k) e ir a 5.