5 dic 2011

PCA file calculation with "R".

X es la matriz centrada (X is the centered matrix).
Xcov es la matriz de covarianzas de X (Xcov is the covariance matrix of X).
Con la función "eigen" calculamos los "eigenvectors" y "eigenvalues" de Xcov.(With the function "eigen" we calculate the "eigenvectors" and "eigenvalues" of  Xcov).
Para hacer todo al mismo tiempo, podemos usar la función "prcomp".(To do everything at the same time we can use the function "prcomp").
La diferencia es que con eigen obtenemos la varianza y con prcomp las desviaciones estándar.
The diference is that with eigen we get the variances, and with prcomp the standard deviations.
Podemos comprobar estos resultados con el cálculo del fichero PCA de la entrada anterior.
We can compare this results with the PCA file got in Win ISI in the previous post.

3 dic 2011

Distancia de Mahalanobis_review 006

Ejemplo de distancia de Mahalanobis, con solo tres variables con los mismos datos (aportados por la Hoja Excel  de Pierre Dardenne en NIRS-Forum) desarrollados en Win ISI.
Mahalanobis Distance practice with only 3 variables (trying to understand the Excel file from Pierre Dardenne in NIRS-Forum)

Datos generados manualmente en Unscrambler, exportados a JCAM-DX e importados posteriormente a Win ISI.
Data generated manually in Unscrambler, exported to JCAM-DX and imported in Win ISI
CERTER.EXE
Se generan:

Fichero PCA
 

 Fichero LIB



Distancias de Mahalanobis al centro de la población
Mahalanobis distance to the mean


Continuará.
To be continued

2 dic 2011

Cross Validation Groups

La selección de número de grupos, así como el número de muestras que pertenecen a cada grupo, tiene cierta importancia a la hora de desarrollar nuestro modelo de calibración. Pongamos por ejemplo el caso de una calibración con 1000 muestras y creamos 2 grupos, por lo que 500 irán a un grupo y las otras 500 al otro. ¿Como lo hace?.
Se pueden seleccionar de una manera aleatoria.
Las pares a un grupo y las impares al otro.
Cuando se  crean mas grupos (3 por ejemplo) existen mas combinaciones para poder seleccionarlas:
La 1ª, 4ª, 7ª,......al primer grupo. La 2ª, 5ª, 8ª ,.....al segundo y la 3ª, 6ª, 9ª,..... al tercero
De manera aleatoria.
Cada tercio a un grupo.
....................................
Y no olvidemos la Full Cross Validation (leave one out) en la que hay tantos grupos como muestras.
Debemos de observar las opciones que tiene nuestro software para el desarrollo de la Cross Validation y seleccionar el que nos parezca más adecuado.
También debemos de tener en cuenta en función del que elijamos si ordenamos nuestro conjunto de calibración (en el caso de "leave one out" no tendría importancia) nuestras muestras por valor de constituyente, o por algún otro criterio como podría ser su distancia de Mahalanobis al centro de la población.
Lo recomendable es seguir algún tipo de orden y después seleccionar una selección de tipo sistemática, o seleccionar para los grupos las muestras de una manera aleatoria.
Debemos de tener en cuenta de que en el caso de que una "única muestra" sea muy especial en cierto momento formará parte del conjunto de validación y no habrá ninguna como ella en el de calibración, por lo que será detectada como anómala. Es por tanto conveniente que cuando una muestra esté en el grupo de validación existan muestras similares (en variedad, concentración de analito, procedencia,...,etc) en el conjunto de calibración.
Los estadísticos que obtengamos serán diferentes en función de los grupos, pero si la base de datos es lo suficiente robusta y la validación cruzada está bien estructurada, no debería de haber grandes diferencias.

Manera de selección de las muestras para validación cruzada en Unscrambler:

1 dic 2011

A History of the Sky

Otro interesante vídeo descubierto a través de:
Realmente impresionante este vídeo en el que se muestra una fotograma del cielo, cada 10 segundos, todos los días durante un año en San Francisco. Se trata de una autentica matriz de 20 columnas y18 filas, que hacen los 360 días, pero hay que imaginarla en 3D, con un fondo de (calcular todo un día en segundos y dividirlo por 10.
Cada celda es la secuencia de todo un día.
Por supuesto se ve cuando es de noche, y si os fijáis, se ven los días que ha llovido, el tipo de Luna que podía haber,....,da para mucho juego este vídeo.
Visualizarlo en pantalla completa y con buena resolución.
Podéis visitar el "Post" a que hago referencia, donde da interesantes detalles de como fue realizado.


Lego Robots solving Rubik´s Cube

Descubrí de estos videos a traves de un tweet y de ahí conocí un magnifico blog:
http://blog.revolutionanalytics.com/
Os recomiendo visitarlo.