FACT – Free Access Chemometric Toolbox :
a new chemometric toolbox for SCILAB
JC BOULETD.BERTRAND
G.MAZEROLLES
JM ROGER
What is chemometrics ?
Chemometrics is the science of relating measurements made on a chemical system or process to the state of the system via application of mathematical or statistical methods (International Chemometric Society).
Chemometrics is the science of extracting information from chemical systems by data-driven means (Wikipedia).
Spectrum visualization
chemometrics
Ex : near infrared spectra of wheat flour
Ex : partial least squares regression
Sample classification
Compound quantification ...
Ex : discriminant analysis
Where are chemometric applications?
Almost everywhere !
Drug industry
Oil industry And many others...
Food industry
PAT (FDA/US): process access technology
quality control
quality control
Why one more chemometric toolbox ?
Toolboxes /softwares already exist...
… with the pros and cons of commercial softwares.
Which free platform?
OCTAVE
- syntax and performances too different from Matlab
- same syntax as Matlab- difficult to use, not enough friendly- performances ?
- performances close to Matlab- recent improvements- teached in France
X
X
How FACT was designed
→ 100% free
Starting point :
+ functions of the
co-authors
Specifications :
→ Famous methods + new & promising methods
1- tutorials & datasets - to get started-
2- abc_fact html help page
3- Div objects - data-individuals-variables-
Focus on 3 features :
→ Easy to use
1- Getting started
FACT web page(google: fact atoms scilab)
getting_started.zip :
1- Getting started
Training datasets
Tutorial
2- Finding a Fact function ? fact...
fact
abc_fact barycentermapcaccswacdelcenteringcoloredmapcomdimcopdacorrcoefcorrmatcorrplotcovmatcovselcspcanacsv2divcurvesdaapplydcsv2divdetrending...
Functions classified byalphabetical order
Automatically built by Scilab
Called by :
help fact
2 - ...and abc_fact
abc_fact :
Statisticscorrmat...
Pretreatments (X->X) by orthogonal projectiondetrending...
Pretreatments (X->X) by variable selection covsel...Other pretreatments (X->X)
snv...One matrix (X) of observations/variables
pcana...A matrix of contingency
ca...Two matrices of observations/variables ; calibrations
pls...Two matrices ...; classifications
fda...Several matrices... ; multiway analysis
ccswa...Graphics
curves...Data management
groupcreate...
Functionsclassified by theme
New !
Called by :
help abc_fact
3 – The Div object Variables labels (q x 1)
Indi
vidu
als
labe
ls (
n x
1)
Numerical values( n x q)
X.d (n x q) – double- .i (n x 1) - string-
.v (q x 1) - string -
3 – Example : a plot with labels The dataset : Wine dataset (downloaded from Eigenvector website) :→ 10 countries → 5 variables
The Div structure : wine = d: [10x5 constant] i: [10x1 string] v: [5x1 string]
Wine.v =!Liquor !!Wine !!Beer !!LifeEx !!HeartD !
The command :
map(wine, 5,2)
The plot :
3 – Added value of the Div structures
→ As easy to handle as matrices (almost)
<> Overloading of the classical operators ( + - * / [ ] etc)
<> Div automatically built by the main functions
→ Very useful when variables and /or observations are added / dropped / sorted...
→ Very useful for plotting labels
→ Less crash problems (OOP)
Perspectives
1- Completing FACT
2- providing some 'guarantees'
- new chemometric functions (at least : genetic algorithms, EMSC, neural networks)
- hyperspectral image
- regular updates (2-3 / year)
- Benchmarks with reference softwares/toolboxes
- Available from the FACT page
2 projects
3- Building MOOCs
- the information + the tool + the training datasets
- Ground 0 of this project...
In progress
Conclusion
FACT : released Nov 2013
more than + 2 users/day
almost no uninstall
=> encouraging to continue!
=> speed depending on partners contributions :
→ Chemometricians (more methods)→ Fundings (MOOCs)→ Scilab developers (Scilab performances)