31 mar 2011

MLR: Añadiendo una segunda longitud de onda

Hemos comentado que debemos de intentar seleccionar como primera longitud de onda una que este relacionada con una banda de absorción del analito, de no ser así el software seleccionará la longitud de onda con la mejor correlación con el dato de laboratorio. No obstante debemos comprobar de que sea una correlación directa.
Añadir una segunda longitud de onda se hace para quitar los efectos de interferencia con la primera (algún absorbente que interfiere, efectos debidos a particularidades físicas de la muestra,......). Es por tanto conveniente observar el espectro.
Al añadir la segunda longitud de onda se añade un nuevo coeficiente K(2) y tanto K(0) como K(1) cambian, para conseguir entre los tres la máxima correlación entre el dato de laboratorio y el predicho y por tanto el menor error de calibración.No obstante esto es engañoso, pues a medida que añadamos más términos la correlación aumentará y el SEC bajará. Por tanto debemos de observar ciertas cosas: 

Es importante que las dos longitudes de onda elegidas no estén correlacionadas.
Observar el estadístico F.
Usar un conjunto de validación externo para comprobar la evolución del error de validación.

Karl Norris fue el pionero de estas técnicas de regresión y tiene una increíble sexto sentido para interpretar espectros y seleccionar longitudes de onda y coeficientes por adición, división,....

30 mar 2011

MLR: Misma Regresión en Vision y Win ISI

Por supuesto obtendremos los mismos resultados que en Excel tanto en Win ISI, Vision, como en Unscrambler, Matlab,... Aquí se aporta también el estadístico F que calculan del mismo modo estos dos software, y del que hablaremos en próximas entradas, así de la complejidad al añadir nuevas longitudes de onda y con ello nuevos coeficientes a la ecuación.

29 mar 2011

MLR: Regresión en Excel

Tomando los datos de absorción de los espectros (raw spectra) de la entrada anterior a 2072 nm, y los valores de los constituyentes para estos espectros, podemos desarrollar una sencilla regresión simple, calculando los coeficientes de regresión K(0) y K(1) de modo que la predicción de cualquier muestra nueva será:
y = k(0) * k(1)X , siendo X el valor de absorción a 2072 nm para el espectro sin ningún tratamiento.
Las muestras están ordenadas por valor creciente de constituyente.

28 mar 2011

MLR: ¿Porque seleccionar 2072 nm?

En la entrada anterior optamos por seleccionar la longitud de onda de 2072 nm:
Se ordenan las muestras por valor de "Índice de Hidroxilo", restando el espectro de la de mayor concentración, de la de menor contenido.
El espectro "diferencia", lo aumentamos multiplicándolo por 5, para ver mejor las bandas.
Se observa que la mayor diferencia esta a una longitud de onda aproximada de 2072.
Por otra parte, en las tablas de absorción NIR para los ROH, en los que se incluye el índice de hidroxilo, las bandas de absorción están entorno a esta longitud de onda.

27 mar 2011

MLR: Espectros de Correlación y Sensibilidad

En la gráfica se representan los espectros extremos en valor cuantitativo para un determinado constituyente (índice de hidroxilo) en rojo (mínimo) y azul (máximo), entre ellos estarían el resto.
Los espectros están es 2ª derivada, ´por lo que el valor en el eje Y disminuye al aumentar la concentración, por lo que tenemos que tenerlo en cuenta a la hora de interpretar la correlación y sensibilidad y seleccionar la banda de absorción. Tenemos por tanto que buscar valores de correlación  (en marrón) negativos y lo mas próximos a -1.
También que la sensibilidad (en naranja) sea lo mas próxima a cero, lo que hará que la ecuación sea más insensible a pequeños cambios.
En este caso se optó por seleccionar la longitud de onda de 2072 nm, pudiendo haber elegido otras zonas:
1416 a 1450 nm, 1548-1578 nm o la de 2056 a 2102 nm.
Se recomienda leer bibliografía adecuada para seleccionar la primera longitud de onda en una calibración MLR, seleccionando después longitudes de onda (por adición) de otros absorbentes que interfieran con el analito de interés o (por división) longitudes de onda que eliminen el efecto multiplicativo a causa de fuentes de variación como el tamaño de partícula.
Software usado (VISION - FOSS NIRSystems)

25 mar 2011

Ecuaciones con variables indicadoras

En la entrada anterior hemos visto un posible caso para aplicar una ecuación con variables indicadoras, para ello unimos las dos bases de datos (X matriz de espectros) e (Y constituyente: Humedad). Ahora generamos un nuevo constituyente a modo de variable indicadora “Ind1”. En este constituyente damos valores “0” a los espectros con dato de laboratorio del NIR A y “1” a los espectros con datos de laboratorio del NIR B. En este caso el software utilizado (Win ISI) nos permite hacer la calibración ajustada  al primer grupo (valor 0), al segundo (valor 1) o a la media.
En azul la ecuación con varianle indicadoras, desarrollada con los mismos tratamientos matemáticos.
El estadístico SECV (Cross Validation Error), se realizó con la opción “leave one out”.

24 mar 2011

Corrección de Bias


En la primera gráfica se observa una recta de regresión desarrollada con un equipo (NIR A) para humedad en harina de ave (ESP), y en la siguiente los estadísticos de otro conjunto de validación del mismo producto, pero pertenecientes a una población totalmente distinta (U.S.A), y pasados por un equipo del mismo modelo, pero distinto número de serie  (NIR B),y los datos de laboratorio, por supuesto de otro diferente.
Obviamente observamos un Bias, y podíamos actuar de diferentes formas:
a) Poner la ecuación del equipo A en el equipo ajustando el Bias.
b) Mezclar los datos de los dos y desarrollar una ecuación para ambos.
c) Estandarizar el NIR B respecto al A.
d) Usar ficheros de repetibilidad
e) Hacer una ecuación con variables indicadoras.
Por supuesto, depende de las circunstancias, hay que tener en cuenta que los equipos estan a mucha distancia y realizar la estandarización o la calibración con los ficheros de repetibilidad resulta complicado. De una manera provisional podríamos aplicar la opción "a", pero la "e" me parece interesante, pues podemos generar una ecuación adaptada al NIR A que aplique la nueva variabilidad de la base de datos del NIR B, o viceversa, o ir a un término medio.
Las ecuaciones con variables indicadoras son bastante desconocidas, pero pienso que este es un buen caso para aplicarlas.

¿Que opináis vosotros?,¿Añadir vuestros comentarios?

21 mar 2011

New features of Win ISI 4.3

WinISI version 4.3.0 Update
February 28, 2011
WinISI 4.30.1.12901 is now available as a free update to all registered customers that have purchased WinISI 4.0 and higher.
WinISI version 4.3.0 adds complete support for 0.5 nm prediction models. To comply with 0.5 nm spacing instrument types, it is now possible to create a combined prediction model with 0.5 nm, based on data from both 0.5 nm and 2 nm instruments. The combined prediction model can be used on both instrument types.
It is also possible to create a standardisation file for instrument types with 0,5 nm so these can run with 2 nm prediction models.
The following defects / enhancements are also included in 4.3.0:
  • WinISI doesn't dispay all spectra - only the first around 2000 in a dataset containing 3800 spectra.
  • xy scattter plot is wrong and it looks like the calibration is very bad even though it isn't.
  • WinISI monitor will not predict protectected ANN files (ANP) even when dongle  is on pc. Get "You are not authorized to use this equation." message.
  • Monitor: compare predicted and reference using ANN file
  • WinISI "Make and Use scores" crach when working wih large ProFoss files.
  • MONITOR (compare predicted and reference values) crashes after an X-Y plot on files with missing data.
  • MONITOR does not save results correctly as .DAT file when predicing > 10,000 samples.
  • GraphISI crashes after plot-all with 2 segment (6500) spectra
  • Local (new) - very slow on large files compared to 16 bit version
  • Dicriminate abort doesn't work.
  • Fileview - when there are three files open, the SELECT PROMPT does not show (neither in background)
  • Not possible to convert IX .cal files into NSAS format
  • FILEVIEW gives incorrect values for SD when computing RMS of subsamples.
  • Importing constituent data from a text file in FILEVIEW fails if the text file has more than 32767 lines.
  • Sorting in FILEVIEW does not work properly with deleted samples
  • When MONITOR compares two ANL files with moisture basis as-received, it still tries to force a moisture correction.
  • Several problems in FILEVIEW displaying MLR equations
  • WinISI 4 needs an existing c:\temp or else certain programs will not run
  • FI WinISI manager - CSV file from FT120 with no wet chemistry
  • FI WinISI manger - Sample IDs assigened when converting FSS files
  • When comparing predicted and reference values in MONITOR with a .RED file, the predicted values are somethines all red, as if they were T outliers.
  • XY plot in GRAPHISI does not match samples from two files correctly if all sample numbers are identical or missing and some samples are missing from one file
  • Clipboard output from MONITOR does not include tabs, which would be nice for EXCEL.
  • Sample numbers do not sort properly when the number of digits varies.
  • Large values are not separated by a delimiter in .DAT output in MONITOR

ISI Scan 4.3 update

A new version of ISI Scan 4, is available in the Download Section of http://www.winisi.com/  it solves some bugs that drove me crazy for sometime.
 Una nueva versión de ISI Scan 4 esta disponible en la página Web de Win ISI. Corrige "bugs" importantes:

ISIscan™ Version 4.3.0 Details
February 28, 2011
ISIscan version 4.3.0 adds support for 0.5 nm prediction models. Thus System II and InfraXact instruments now support prediction models with 0.5nm resolution.
The following defects / enhancements are also included in 4.3.0:
  • After creating new Product Profile versions (due to bias adjustment) on FoodScan with individual sample views, monitor routine is extremely slow
  • ARCHIVING: Archiving error on Windows 7
  • ARCHIVING: ISIscan Archive feature does not work
  • COMM: ProFoss TCP/IP comm is dropped after approx 3 min inactivity.
  • DISCRIM: Identification mode (DC2) developed in WinISI predict "Unknown" in ISIscan demo version
  • Discriminant analysis : Cannot rename product
  • Error message when selecting History tab/execting scan while History tab has focus
  • History is only updated when scan is executed with history tab in focus
  • Importing STD with 4200 datapoints should fail - Transferability Test
  • ISIscan monitor is showing incorrect "bias correction" and "Slope / intercept correction" values and incorrect Monitor Results statistics in certain situations
  • PREDICTION: ISIcal, Default slope and Warning Limits set incorrectly
  • PREDICTION: ISIscan gives wrong predictions, gh, nh if 2nm ANN model on a ProFoss instrument
  • ProFoss - SAMPLES: Calibration Sample Check Box not storing scans
  • ProFoss calibration button do not store scan with correct functionality
  • ProFoss: DISPLAY: .NET error and then ISIscan crash when viewing previously run samples on history tab during contintuous scanning
  • Transferability: Using half nanometer equations in demo mode is not allowed
  • with System II 6500, cannot load certain 0.5 nm increment models into prediction model profile
  • XML files used in ISIcal canot be located with Windows 7 installation
  • "Manager" and "Operator" users already in new installation
  • Cannot remove a "good product" or "calibration sample" attribute from a sample
  • Changing the history tab to display samples based on a date range generates an SQL error and a blank history tab
  • DISPLAY: UDF entries disappears (blank) when using Sub-samples > 1
  • ISIscan with 6500 instrument predicts all zeros for predicted, gh and nh for 6500, ix, or ProFoss 0.5 nm increment equations
  • Monitor "save adjustments" button does not work if using Product Level slope and bias
  • DISCRIM: After Qualification is implemented new samples marked as Good product is included in moving average even if they are outside qualification limits
  • DISPLAY: History tab previously run samples are displayed newest (top) to oldest (bottom).  But scan a new sample and it's added to the bottom of the list
  • DISPLAY: upgrading previous ISIscan FoodScan with individual sample views to 4.2.0.12286 - all samples are labeled as "standard deviation of sample views" outliers on history tab
  • PREDICTION: Can't set SD outlier limits if using PLS
  • ProFoss - SAMPLES: Good Product Flag remains active after analysis.
  • ProFoss: Results tab does not show Calibration Sample info
  • DISPLAY: Continuous scan: UDF fields appear in every scan even tough UDF profile is NONE
  • DISPLAY: Product name not updated in monitor
  • PREDICTION: Opening 'Samples to display...' dialog causes continuous scanning to work incorrectly

18 mar 2011

y = a + bx


Esta es una, tan simple como interesante ecuación.
Se trata de la formula de Regresión lineal simple, donde podríamos representarla como que el valor predicho “y” (variable dependiente), es igual al valor de una constante o intercepto (a) más el valor de un coeficiente de regresión (b), multiplicado por la absorción de la muestra a una determinada longitud de onda “x”.
No obstante vamos a aplicar la fórmula a un X-Y plot, en donde X es el dato predicho por el NIR e Y es el dato de laboratorio. En un caso ideal y ausente de errores, tendríamos que Y = X. No obstante ya hemos visto en la entrada anterior que el dato de laboratorio (Y) ya lleva incorporado un error (de tipo sistemático o aleatorio). X también lo lleva en el mismo sentido.
Al error aleatorio, lo llamamos “Error no explicado”, pero puede reducirse su intervalo de confianza acercándose al valor verdadero con un mayor número de réplicas. Al error sistemático, lo llamamos “Error explicado” o también Bias, Sesgo,…, y puede venir por diversas causas.
Cuando se instala un modelo de calibración partimos de que se trata de un modelo robusto, y ausente de Bias o Sesgo, no obstante esto debe de ser comprobado con muestras de rutina. Por supuesto, en dicho modelo, tendremos un error aleatorio (SEP), que deberá de ser realista para la aplicación que se utilice, para de ese modo contrastarlo con los SEPs de validación que vayamos comprobando con muestras de rutina enviadas al laboratorio.
En la validación comprobaremos el SEP, el Bias, y sabremos el SEP que tendríamos corregido por el Bias, en el caso de que ese Bias sea significativo.
¿Cuándo es un Bias significativo?......En la próxima entrada.

17 mar 2011

Intervalo de Confianza de la Media


Hacer muestras por triplicado, duplicado por los métodos de referencia, es costoso tanto en tiempo como en dinero, pero nos aporta un conocimiento esencial para conocer el error con el que trabajamos. Si trabajamos con un único resultado, podemos estar añadiendo un gran error al modelo de calibración pues dicho valor puede estar en los extremos (o incluso fuera) de intervalo de confianza respecto al valor verdadero (μ).
El valor verdadero (μ) sería el promedio infinitas submuestras de la propia muestra. Obviamente cuantas más submuestras analicemos, más nos acercaremos al valor verdadero (μ).
Es importante conocer el intervalo de confianza, (calculando los límites de confianza de la media) en el que se va a encontrar dicho valor verdadero con un cierto margen de confianza.
Por supuesto este intervalo será menor si calculamos los límites con un gran número de muestras, que si lo desarrollamos con un número pequeño de muestras.
En esta entrada, muestro como hacer el cálculo para un gran número de muestras (aprox. 100):


Los valores 1,96 y 2,58, se sacan de unas tablas, y van aumentando a medida que el nº de muestras disminuye.

Estos valores se usan para calcular los intervalos de confianza de los errores de predicción del NIR, donde los intervalos de confianza de la predicción estarán dentro de los límites:

x(pred) +/- 1,96. SEP     al 95% (α = 0,05)
x(pred) +/- 2,58. SEP     al 99% (α = 0,01) 
 

9 mar 2011

Sin derivar / 1ª Derivada / 2ª Derivada

Hemos estado hablando del cálculo de las derivadas y nada mejor que superponer espectros para comprender la transformación que se produce en el espectro al aplicar estos tratamientos. Todos estamos acostumbrados a relacionar la absorción de analitos con bandas espectrales a determinadas longitudes de onda, siendo estas por lo general picos de absorción positivos, sin embargo al hacer las derivadas se produce una transformación que debe de ser conocida previamente para interpretar los espectros de una manera visual. La segunda derivada convierte el pico positivo en negativo, lo que significa el que tengamos que cambiar nuestro punto de vista respecto a la interpretación de los picos. Sin embargo la primera hace que los picos sean cruces en el cero, lo que la hace mas complicada de interpretar de una manera visual.
En negro el espectro sin derivadas, en rojo con la primera derivada (segmento 10) y en verde con la segunda (segmento 10).

¿Cuál es el mejor tratamiento?. Existen herramientas en los software para interpretar cual es el mejor tratamiento de una manera visual. Uno de ellos son los espectros de correlación, en los que se muestra la correlación de las bandas de absorción con el analito que estamos calibrando. Nos interesa tener correlaciones cuanto más cercanas a 1 mejor, y que estas estén en zonas que podemos denominar "mesetas", que nos garanticen que pequeñas desviaciones en lo que a longitud de onda se refiere, no causen perdida de esta correlación. Para esto están también los llamados espectros de sensibilidad, que junto a los de correlación nos ayudan a tomar estas decisiones. Es importante para esto determinar un segmento adecuado, pues cuanto menor sea este, las bandas serán, más resolutivas, pero la sensibilidad puede aumentar demasiado haciendo el modelo menos robusto y transferible.
Un conocimiento previo de donde aparecen las bandas de absorción de los analitos que vamos a calibrar, es de gran ayuda.

6 mar 2011

Inversa de una Matriz en Excel (peculiaridades)

Nuevo video para hacer el cálculo de la Matriz inversa en Excel:
http://www.youtube.com/watch?v=GktVrrfpaX0
Esta es otra de las operaciones que se utilizan en la fórmula de cáculo de la distancia de Mahalanobis. y se representa con la misma letra de la matriz con un exponente de "-1".

5 mar 2011

Multiplicación de Matrices en Excel

Las estadísticas de entrada del Blog me muestran que la página mas consultada es la de Matrices, lo cual me alegra y me anima a seguir desarrollándola.
La he actualizado con "Multiplicación de matrices en Excel". Como os he comentado antes Excel, nos puede ayudar a resolver problemas de quimiometría con cálculo matricial.
Puedes copiar las celdas de las matrices array 1 y array 2, pegarlas en Excel y multiplicarlas según el proceso que describo en la página de Matrices, en el video cuyo vínculo adjunto, o con la ayuda de Excel.
http://www.youtube.com/watch?v=N6qaspBhe04
Este cálculo será uno de los pasos en uno de los procesos que desarrollaremos en Excel proximamente: La distancia de Mahalanobis.
Animaros a contestar en la encuesta.

3 mar 2011

NIR Conference 2011

Este año se celebra la Conferencia Internacional NIR 2011 en Cape Town -  South Africa,... ya esta disponible el programa que es sin duda muy interesante. En la parte inferior de este Blog tenéis un enlace al Blog oficial de NIR2011. Alrededor de este evento se realizan numerosas actividades, que sin duda y en el marco en  que desarrollarán resultarán apasionantes.
Este es el enlace para ver el programa detallado:
http://www.nir2011.org/download/programme_detailed.pdf
En este acto se le entregará al Dr. Marcelo Blanco (a quien he felicitado recientemente desde este blog y por correo electrónico) el Tomas Hirschfeld Award.

2 mar 2011

¿Local or Global?

Recuerdo un interesante artículo de Tom Fearn con este título.
En estas gráficas se ven los estadísticos de validación con un conjunto 230 muestras de semilla de girasol (sunflower seed) elegidas al azar, usando una calibración LOCAL (gráfico superior) y una calibración GLOBAL PLS (gráfico inferior) para el constituyente "humedad" (moisture).
Se utilizaron los mismos tratamientos matemáticos para ambas. (Software utilizado Win ISI 4).
La validación muestra como las muestras de bajo contenido en humedad, así como las de alto contenido se ajustan mejor a la recta de regresion, permitiendo al modelo extrapolar mejor, que la ecuación global. Se necesitan una cantidad importante de muestras y que estas cubran toda la variabilidad que se nos presentará en rutina. Si una muestra analizada no está representada por la base de datos LOCAL para un constituyente concreto, no obtendremos resultado de predicción para dicho constituyente.
Las ecuaciones locales se desarrollan en "Win ISI" con ficheros RED. Accede a "Learning Win ISI" para mas información sobre creación de ficheros RED.

Segment - Gap - 2ª derivada

En el caso de un "Gap" de cero y para un determinado valor de "Segment" (el mismo para los segmentos A, B y C), la segunda derivada, la calculamos haciendo la derivada de la 1ª derivada, lo que queda simplificado como: C - 2B + A. Recordemos que C es el valor promedio de las absorciones de los data points que entran dentro del segmento C, lo mismo para B y A.
Este cálculo se pone en el punto medio del segmento que queda en el medio, es decir el B.
Desplazamos todos los segmentos 1 data point y recalculamos.
En los siguientes gráficos se representan algunas muestras en la 2ª derivada con un segmento de 10 (en color negro, hasta un segmento de 40 (en color amarillo), pasando por uno de 20 (verde) y otro de 30 (marrón). Vamos viendo como el segmento va influyendo en la resolución de las bandas, así como en su intensidad. Hemos de tener en cuenta que al usar segmentos mas pequeños incrementamos el ruido, y que al usar segmentos grandes truncamos mas los espectros en los extremos del rango espectral de longitud de onda.
En todos estos casos el Gap es de cero.

1 mar 2011

Segment - Gap - 1ª Derivada (cont.)

En el caso de una banda Gaussiana, y para un valor de "segment" determinado y un "gap" de cero, el punto de máxima absorción o pico, tendrá como valor de primera derivada cero, y estará en los denominados "cero crossing" del gráfico espectral transformado a la primera derivada. Lo mismo ocurriría para un gap de 2, 4,...