1. Kode // R
Marco Calderisi, PhD
m.calderisi@kode-solutions.net
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
4. Chi “sono”
Prof. Ulrici
Dipartimento di Scienze Agrarie
e degli Alimenti, Università di
Modena e Reggio Emilia
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
5. Chi “sono”
Prof. Ulrici
Dipartimento di Scienze Agrarie
e degli Alimenti, Università di
Modena e Reggio Emilia
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
6. Outline
Kode
R
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
7. Idea
In tanti contesti, una gran quantità di dati viene raccolta, ma non
sempre è elaborata bene o in modo sufficientemente
approfondito.
Molti di questi dati sono grezzi e talvolta rimangono inutilizzati.
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
8. Idea
In tanti contesti, una gran quantità di dati viene raccolta, ma non
sempre è elaborata bene o in modo sufficientemente
approfondito.
Molti di questi dati sono grezzi e talvolta rimangono inutilizzati.
Raw data
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
9. Idea
In tanti contesti, una gran quantità di dati viene raccolta, ma non
sempre è elaborata bene o in modo sufficientemente
approfondito.
Molti di questi dati sono grezzi e talvolta rimangono inutilizzati.
BOH!!!
Raw data
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
10. Idea
In tanti contesti, una gran quantità di dati viene raccolta, ma non
sempre è elaborata bene o in modo sufficientemente
approfondito.
Molti di questi dati sono grezzi e talvolta rimangono inutilizzati.
Raw data
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
11. Idea
Raccolta e strutturazione dei dati
(database)
Elaborazione
Esposizione del risultati
(data visualization)
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
12. Idea
Software Raccolta e strutturazione dei dati
(database)
Elaborazione
Esposizione del risultati
(data visualization)
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
13. Chi siamo
Società (srl) di consulenza in ambito scientifico
Composta da:
Manganaro
Io
Carluccio Zedda
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
14. Cosa facciamo
ANALISI DATI SOLUZIONI SOFTWARE
Processi industriali Chemoinformatica
• {Controllo di processo, ottimizzazione di • {Database, strumenti analitici, strumenti
prodotto, ricerca industriale} predittivi}
Data mining Gestione dati
• {Machine learning, Analisi Socio- • {Pentaho, MySQL, PostgreSQL, PHP}
Economiche, Web Analytics}
OPEN DATA FORMAZIONE
Assistenza a pubbliche Analisi statistica (R, Statistica)
amministrazioni per “liberare” i dati Trattamento dati (Pentaho, MySql/PHP, Google
Refine)
Lettura, elaborazione ed
Chemoinformatica (metodi di base, QSAR/
interpretazione dei dataset aperti
QSPR)
Data journalism (filosofia e strumenti)
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
15. Lavori in corso
ANALISI DATI
• Sistema di Gestione e Controllo di Impianti di Trattamento Termico - (MIUR 2007)
• “Orti sociali” - (ISE-CNR)
• Medical360 - (POR CREO FESR 2007-2013 Reg. Toscana)
CHEMOINFORMATICA
• VEGA (Virtual models for property Evaluation of chemicals within a Global
Architecture)
OPEN DATA
• OpenMIUR (analisi dati “Scuola in chiaro”)
• PRO-DEMO (analisi del contesto socio-demografico per aree subcomunali)
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
16. Progetti interni
Sviluppo funzioni con R
Applicativi software QSAR/QSPR
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
17. R
do.pls
copro (COntrollo di PROcesso)
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
18. R // do.pls
Si basa sul package pls (R.Weherens, BH Mevik, KH Liland)
http://cran.r-project.org/web/packages/pls/
http://mevik.net/work/software/pls.html
mvr(formula, ncomp, data, subset,
method = c("kernelpls", "widekernelpls", "simpls",
"oscorespls", "cppls", "svdpc"),
scale = FALSE,
validation = c("none", "CV", "LOO"), ...)
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
19. R // do.pls
Method
• "kernelpls" = particularly efficient when the number of objects
is (much) larger than the number of variables. The results are
equal to the NIPALS algorithm
• "widekernelpls" = efficient when the number of variables is
(much) larger than the number of observations (es. 12x18000)
• "simpls" = SIMPLS is much faster than the NIPALS
• "oscorespls" = orthogonal scores algorithm, as described in
Martens and Næs (1989). One of the two “classical” PLSR
algorithms
• "cppls" = Canonical Powered PLS is a generalisation of PLS
incorporating discrete and continuous responses (also
simultaneously)
• "svdpc" = pcr
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
20. R // do.pls
Obiettivo: eseguire una PLS con un comando unico. Questa
funzione deve essere in grado di:
• trattare diversi formati di input
• fornire tutti gli output necessari ad una prima analisi del sistema
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
21. R // do.pls
per calcolare la Variance Importance in Projection si utilizza VIP.R
(scritto da BH Mervik), che, al momento, funziona solo su modelli con
una sola variabile risposta, basati sull’orthogonal scores algorithm.
Inoltre, per semplicità di uso è stato implementato un solo tipo di cross
validazione: il Leave One Out
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
22. R // do.pls
Input:
• x è la matrice dei predittori, accetta sia matrici che dataframe
• y è la variabile risposta, può essere un semplice vettore
• ncomp è il numero di variabili latenti richiesto (opzionale)
• scale indica il tipo di scaling: attualmente sono stati implementati
mean centering (che è il default) ed autoscaling
• graph indica il tipo di grafico, linea o punti, per i predittori (opzionale)
versione concisa: mod <- do.pls(x,y)
versione estesa: mod <- do.pls(x,y, ncomp,
scale=c("mean", "autoscaling"),
graph=c("line", "points"))
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
23. R // do.pls
Input:
• ncomp, se non specificato viene scelto il numero di LV
corrispondente al RMSECV minore
• graph, se non specificato, in caso il numero di predittori sia inferiore
a 30, nei grafici dei coefficienti e dei VIP si usano i punti anzichè la
linea
Da fare:
• altri pretrattamenti (Pareto, SNV, normalizzazione,...)
• validazione/predizione
• CV tipo “venetian blinds”
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
24. R // do.pls
L’output è organizzato in forma di list, alle voci della quale si può
accedere con il simbolo $, ad esempio mod$coefficients
• modello, è il normale output di mvr
• performance, varianza spiegata di predittori e variabile risposta,
RMSE, RMSECV, numero di variabili latenti selezionate
• VIP
• coefficients
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
25. R // do.pls
Output grafici:
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
26. R // do.pls
Output grafici:
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
27. R // do.pls
Esempio:
require(pls)
attach(gasoline)
mod1 <- do.pls(NIR, octane)
mod2 <- do.pls(NIR, octane, 3)
detach(gasoline)
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
28. R // copro
copro (Controllo di PROcesso) è un insieme di funzioni pensate per
eseguire i passi base di un controllo di processo multivariato.
FUNZIONI:
pcactrl
pcactrl_pred
contQ
contQ_pred
contT
contT_pred
scoreplot
loadplot
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
29. R // copro
fun pcactrl pcactrl_pred
input • d, dati • d, dati
• n, numero PC • n, numero PC
• cl, livello di confidenza • cl, livello di confidenza
• newd, nuovi dati
output • autovalori! • new_scores
• scores! • loadings
• loadings • T2.newd, matrice dei residui T2
• T2, matrice dei residui T2! • Q.newd, matrice dei residui Q
• Q, matrice dei residui Q • tnewd.cont, matrice dei contributi di
• T2lim, limite di confidenza per i ogni variabile ai residui
residui T2 T2qnewd.cont, matrice dei contributi
• Qlim, limite di confidenza per i di ogni variabile ai residui Q
residui Q
• t.cont, matrice dei contributi T2
• q.cont, matrice dei contributi di ogni
variabile ai residui Q
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
30. R // copro
fun input output
contQ • modello PCA • grafico dei contributi
• numero campione
contQ_pred • modello PCA (da pcactrl) • grafico dei contributi. i limiti
• predizione su modello (da corrispondono ai valori dei contributi
pcactrl_pred) massimo e minimo del modello di
• numero campione riferimento. non sono riferiti ad una
variabile specifica
contT • modello PCA • grafico dei contributi
• numero campione
cont_pred • modello PCA (da pcactrl) • grafico dei contributi. i limiti
• predizione su modello (da corrispondono ai valori dei contributi
pcactrl_pred) massimo e minimo del modello di
• numero campione riferimento. non sono riferiti ad una
variabile specifica
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
31. R // copro
fun input output
scoreplot • mod, modello PCA (da • score plot con campioni predetti
pcactrl)
• new, predizione su modello
(da pcactrl_pred)
• comp1, pc asse x
• comp2, pc asse y
loadplot • modello PCA (da pcactrl) • loadings plot
• comp1, pc asse x
• comp2, pc asse y
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
32. R // Gruppo R in chemiometria
do.pls è stata (recentemente) implementata nel software
“chemometrics menu”
copro lo sarà
Workshop di Chemiometria
Pavia 21-23 Maggio 2012
33. grazie per
l’attenzione
Marco Calderisi, PhD
m.calderisi@kode-solutions.net
kode-solutions.net
Workshop di Chemiometria
Pavia 21-23 Maggio 2012