28 dic 2010

Distancia Euclidiana_001

Hemos visto como se representan los vectores en un espacio multidimensional (un punto). Ahora queremos conocer la distancia entre esos dos puntos. Una de los cálculos de distancia mas usados es el de la "distancia euclidiana".  Se calcula usando el teorema de Pitágoras.
En el caso de dos puntos (P1 y P2) representados en un plano de ejes X e Y, con coordenadas (X1 Y1) y (X2 Y2), la distancia euclidiana la calculamos como:
d(P1 P2) = SQRT[(X1-X2)^2 - (Y1-Y2)^2].
Si aplicamos este concepto a un espacio de N dimensiones, para calcular la distancia entre dos vectores A y B:
Distancia Euclidiana = SQRT (sum (A - B)^2)
La distancia euclidiana da el mismo peso a todas las direcciones del espacio que representa y se podría representar como un círculo entorno a un punto.
En espectroscopía este cálculo se utiliza en ocasiones para saber si los espectros son redundantes, al estar muy próximos entre sí, dejando unicamente uno para representar a los próximos.
Uno de los problemas de la distancia euclidiana es que no tiene en cuenta si las variables estan correlacionadas entre si, que es uno de los problemas que tenemos  en la espectroscopía NIR.
Una alternativa a la distancia euclidiana en NIR es la distancia de Mahalanobis en el espacio de los componentes principales, en este caso la representación es por medio de una elipse, y no existe el problema de la correlación entre las variables como en la distancia euclidiana..

19 dic 2010

PCA ( 3ª Parte )

La matriz “X”,  la descomponemos en dos nuevas matrices (una de loadings “P” y otra de scores “T”), quedándonos un residual de varianza no explicada representado por la matriz “E”.
La forma de hacerlo es mediante la fórmula:
                                                     X = T.Pt + E
Para multiplicar matrices debe de cumplirse la propiedad que el nº de columnas de una sea igual al nº de filas de la otra.
Hemos hecho la transpuesta de P, para que se pueda  dar la condición para hacer la multiplicación de estas matrices.
La matriz T, describe como sus variables se relacionan con las variables originales de X, por otra  P define las combinaciones lineales.

5 dic 2010

PCA (2ª Parte)





Este espectro en el rango de 400 a 2500 nanómetros, con datos de log(1/R) cada 2 nm,
dispone de 1050 variables, pero lo acotaremos para mayor comodidad al rango de 1100 a
2500 nm, lo que representan 700 variables. En este rango es donde están las bandas de los
analitos de interés (proteína, grasa y humedad). El espectro acotado queda así: 

La matriz de datos original consta de 66 filas (equivalen al número de muestras) y de 700
columnas (nº de longitudes de onda). El espectro en negro es el de desviación estándar y nos
da una idea de donde esta la variabilidad en este conjunto de datos.     
Ahora vamos a ver el efecto del centrado quitando a cada espectro, el espectro medio:

 No están todas las muestras, pero las representadas, nos dan una idea mejor de donde esta
la variabilidad en el espectro, y vemos que coincide con el espectro de desviación
estándar anterior.
Estas muestras se pueden ubicar en un espacio multidimensional de tantas dimensiones
como variables (longitudes de onda), como un punto. La muestra promedio de todas esta 
en el centroide de dicho espacio. Como hemos comentado antes, este espacio  tiene
correlacionadas las variables entre sí, siendo necesario encontrar nuevas variables no correlacionadas y que sean combinaciones lineales de todas las demás (con mayor o
menor peso). Afortunadamente los programas quimiométricos hacen estas funciones,
quedando en  nuestro caso del siguiente modo para los tres primeros componentes
principales  de los diez que selecciona:

 Podemos elegir las combinaciones que queramos de componentes principales. En este
caso es el PC1, PC2 y PC3, pero podemos seleccionar el 1-2-7, el 1-4-8,....,etc.
Para representar el 100% de la varianza, hubiésemos necesitado las 700 dimensiones, pero
en este caso con diez componentes principales representamos el 99,5%.
Hemos dicho que los componentes principales son combinaciones lineales de las

variables originales y que en el caso del primero representa la mayor fuente de varianza
(en este caso el 82,6%).
Veamos en la siguiente figura como es este primer componente principal:

 Se aprecian bandas importantes en entorno a 1940 y 1450 nm (bandas de humedad),
también aparecen otras bandas, de las que hablaremos mas adelante. Todo parece indicar
que este primer componente principal esta representando como parte importante las
bandas de humedad así como de algún otro parámetro.
Comentamos anteriormente que podemos representar estos componentes principales,

los unos respecto a los otros formando planos.
Vamos a mirar el plano formado por el PC1 y PC2:


Se han dividido las muestras en 3 tercios acorde a su valor de humedad: Las rojas
representan al tercio con menor humedad, las blancas al intermedio y las azules a las de
mayor humedad. Al proyectar las muestras sobre el eje del PC1, se observa que hay
una gran correlación (0,9) respecto a los valores de humedad.Las proyecciones sobre el
segundo tienen ya muy poca correlación con la humedad.
El primero también tiene cierta correlación con la grasa y la proteína (cerca de 0,3), esto lo

justifican las otras bandas que aparecen en el espectro del primer componente principal,
asociadas a estos dos constituyentes
En los softwares quimiométricos, a partir de la matriz original “X”, creamos dos nuevas
matrices a las que llamaremos: ”P”  (loadings o cargas) y “T” (scores o puntuaciones).
Estas dos nuevas matrices combinadas en una determinada fórmula  se acercarán en
mayor o menor medida a dar un resultado similar a “X”. Todo dependerá de la matriz de
residuales “E”, que representa a la varianza no explicada.
En el caso de que existan tantos loadings como variables en X, se explicará toda la varianza
(100%), siendo por tanto el residual de cero.
En el caso del software Win ISI, la matriz de loadings es el fichero PCA y la matriz de
scores el fichero LIB. Ambos ficheros deben de estar en la misma carpeta y
conjuntamente representan un cubo entorno a un centroide en el que confluyen los
ejes que representan a los loadings.
Como es lógico solo se podrán representar gráficamente en “3D”, pero podemos hacerlo
con una combinación de diferentes loadings. Un fichero LIB solo lo podremos
representar gráficamente, si en su mismo proyecto está el fichero “PCA”.
El fichero PCA nos aporta los coeficientes de cada longitud de onda respecto a los
distintos componentes principales (PC1, PC2,…..). Por tanto donde se produzcan las
mayores fuentes de varianza, sus longitudes de onda tendrán altos coeficientes en los
primeros componentes principales. En muchas ocasiones estas fuentes de varianza
están relacionadas con características físicas (tamaño de partícula, color, viscosidad,….),
o con determinados analitos incluidos en la muestra y que tienen un amplio rango de
concentración y presentan bandas de absorción en la región NIR (humedad, grasa, proteína,….).
Cada componente principal no representa únicamente a un analito, puede representar a
varios en mayor o menor medida. Para ello es importante fijarse en las los coeficientes en
todas las longitudes de onda.
Puede que la información, en lo que concierne a ciertos analítos, este en los primeros
componentes principales o en los últimos, por lo que decidir sobre el número de componentes principales a seleccionar  será uno de los temas a tratar

PCA (1ª Parte)

v  Se generará una base de datos con dos matrices: "Y" datos de Lab y "X" datos espectrales. (Una columna por parámetro y por longitud de onda).
v  Que correlacionen los datos espectrales con el dato de referencia es esencial para obtener un buen modelo predictivo.
v  La matriz espectral "X",la podemos representar en un espacio multidimensional (tantas dimensiones como long. de onda), como un punto.Se trata de una matriz NxM, donde N es el número de muestras y M el número de longitudes de onda.
v  Al representar los espectros de un mismo producto en este espacio, aparecerá una nube de puntos. En espectroscopía NIR tiene forma elipsoidal.
v  Cada espectro se representa como un vector que parte del centro del espacio multidimensional hasta el punto que lo representa en la nube.
v  CENTRADO: Es como representar multidimensionalmente los espectros restándole a cada uno el espectro medio.
v  Los espectros contienen información a muchas long. de onda, lo que complica la interpretación de estas nubes espectrales. Se debe comprimir.
v  Ademas, las columnas de la matriz X están correlacionadas, debido a que contienen información de sobretonos de las bandas fundamentales (sobretonos 1, 2),y a que la información de las longitudes de onda contiguas es similar. Todo esto hace mas necesaria la compresión de la matriz X. Hay que buscar nuevas variables no correlacionadas.
v  Desarrollaremos en los próximos puntos la manera de comprimir esta información por "Análisis de Componentes Principales", a los que denominaremos PCA.
v  Imaginemos una nube de puntos en 3D. Del centro de la nube parten los 3 ejes X1,X2,X3 correspondientes a 3 longitudes de onda (centrado).
v  Trazaremos una nueva variable PC1 combinación lineal de X1,X2,X3, que pase por el centroide en la dirección de la máxima varianza.
v  Este PC1 es un vector que explicará una determinada varianza (autovalor de PC1), lo que queda por explicar es la varianza residual.
v  La varianza explicada por PC1 (autovalor) se calcula sobre la proyección de los puntos de la nube sobre  PC1 y respecto al centroide.(Como sabemos, la varianza es la desviación estándar al cuadrado). Se puede expresar en %.(Ej.: 62%). No habrá ningún otro vector que explique más varianza que él. La varianza residual será el resto hasta el 100%, es decir el 38%.
v  El valor de esta variable para cualquier muestra en particular, se calcula proyectando el punto que la representa sobre este eje (perpendicularmente), siendo esta la distancia mas corta posible entre el punto y el nuevo eje. Al valor de este punto proyectado se le denomina "puntuación" o "score".
v  Se trazará un segundo componente principal PC2, ortogonal con el primero, que pase a su vez por el centroide y en la dirección que explique la máxima variabilidad residual que dejo el primer componente .Este componente PC2 formará un plano con PC1.Hay que tener en cuenta que podrémos trazar como máximo tantos componentes principales como variables originales. Se proyectarán de igual modo los puntos sobre este nuevo eje, calculando los “scores” y el autovalor.
v  Otro nuevo componente PC3, ortogonal con los otros dos, explicara el resto de la varianza que dejaron los otros dos, llegando entre los tres a explicar el 100%, ya que disponíamos de 3 variables originales. Otro nuevo componente PC3, ortogonal con los otros dos, explicara el resto de la varianza que dejaron los otros dos, llegando entre los tres a explicar el 100%, ya que disponíamos de 3 variables originales. Este nuevo componente formará junto a PC1 y PC2 dos nuevos planos.
v  La situación queda de modo que disponemos de un nuevo espacio dimensional, cuyo centroide coincide con el del espacio original una vez centrado. Se trata por tanto de una rotación de los ejes en nuevas direcciones, que van explicando de una manera ordenada (de mayor a menor) la varianza. Conocemos los ángulos que forman con los componentes originales pudiendo expresarlos como combinaciones lineales de ellos.
v  MAPAS DE “SCORES”: La representación de estos planos, en forma gráfica es lo que se conoce como “Mapas de Scores”, y nos ayudan a interpretar de una manera muy útil los datos. Hablaremos de ellos más adelante.
v  Los scores se representan en una nueva Matriz a la que llamaremos T, y en ella estarán representadas las muestras con sus valores de scores en las filas y las nuevas variables (componentes principales) en las columnas. Como se ha comentado anteriormente estas nuevas variables son ortogonales entre sí.
v  VECTOR DE “SCORES”: Se conoce como vector de scores a cada una de las columnas de la matriz de scores, que representan las proyecciones de las muestras sobre cada uno de  los componentes principales. Estos valores son en los que se fundamentan los cálculos de varianza para calcular los autovalores.
      
     Hacemos un paréntesis para aplicar lo hasta ahora visto a la espectroscopía NIR. 

1 dic 2010

idrc2010_shootout (1ª Parte)

Este año se celebró  la International Diffuse Reflectance Conference ( se celebra cada dos años), y en ella se llevó a cabo un interesante concurso. Los quimiómetras que se presentaron, disponían de 3 conjuntos de datos (calibration, validation and test sets) de espectros de  muestras de sangre (en transmisión y reflectancia) . Los conjuntos de calibración y validación tenían datos de laboratorio y tenían algo de trampa (redundancia). El conjunto de test no disponía de datos de laboratorio y el modelo que mejor predijera la hemoglobina, sería el ganador. Para que el conjunto de test fuese bien predicho era importante que la ecuación fuese robusta.
Cada quimiometra utilizó diferentes algoritmos de mayor o menor complejidad, con resultados similares, pero se concedieron un primer, segundo y tercer puesto.

Los resultados:
1st Place - Pierre Dardenne
2nd Place - Mark Westerhaus
3rd Place - David Honigs

Si quieres intentarlo dispones de los ficheros en esta página Web, descárgalos y ya nos contarás.
http://www.idrc-chambersburg.org/shootout2010.html

Para transmisión (solo se evaluó la hemoglobina): Los estadísticos de RMSEP para el "test set" estaban entre 0.4 y 0.5, con pendientes entre  1,00 y 1,10.
Para reflectancia (solo se evaluó la hemoglobina) los errores RMSEP y SEP fueron inferiores a 0,4 para el caso del 1º puesto (con una pendiente de practicamente 1.0), y de entre 0.4 y 0.5 para el resto (con pendientes entre1.0 y 1.05).
Decir que el ganador usó MLR. Todos los participantes, tuvieron muy en cuenta la exclusión de las bandas de agua del modelo.
-------------------------------------------------------------------------------------------------------------
Me he descargado los ficheros de NSAS, que se pueden convertir posteriormente a ficheros CAL (para usar en Win ISI), o se pueden importar a un proyecto de VISION. Desafortunadamente el fichero de Test viene sin los datos de laboratorio.
No obstante, estos conjuntos de datos son un Tutorial estupendo, para mejorar nuestra sistemática al ponernos a desarrollar ecuaciones.
La primera recomendación es la de estudiar los conjuntos de datos (CAL, VAL y TEST).
-------------------------------------------------------------------------------------------------------------
En una de mis consultas a ISI, Mark Westerhaus me recomendó siempre ordenar los ficheros CAL de algún modo para trabajar con ellos:
  • Por el valor de los diferentes constituyentes (ordenados por composición química).
  • Por valores de GH (ordenados por composición espectral).
Al ordenar estas bases de datos, por composición química (por ejemplo del colesterol), podemos comprobar que hay duplicados e incluso triplicados de muchas de las muestras, aún teniendo diferente identificación. De no darse cuenta de esto, seria un grave error el realizar la calibración de una manera rutinaria, ya que la validación cruzada se realizaría con muestras duplicadas.
Una de las preguntas en este caso es que hacer con los duplicados ( asegurándose de que el RMS no sea cero, lo que significaría que se trata del mismo espectro). Tom Fearn trata en uno de sius artículos en la columna de Quimiometría de NIR News acerca de los duplicados y que hacer con ellos.
Una de las opciones sería el promediarlos e incluirlos como una única muestra. Otra de las opciones sería la de utilizarlos en un fichero de repetibilidad. Otra el quitarlos, pero ya que los tenemos,esta no es la mejor opción y estudiarlos para comprobar la heterogeneidad de la muestra o la repetibilidad de los resultados, para las diferentes submuestras, o para la misma muestra en condiciones diferentes (días distintos, temperaturas distintas, frescas, después de ser descongeladas,...., etc).
Cuando no conocemos los "data sets", puede que tengamos también duplicados en los conjuntos de validación, o peor que duplicados de muestras estén en el de validación por un lado y de calibración por el otro. En este caso ya no hablamos de lotes, sino de personas que se han hecho análisis de sangre y se pretende realizar una calibración para predecir la hemoglobina, el azúcar y el colesterol.


CONTINUARA .............................