Design of Experiments
Contents
Introduction
This is the report of Maria Christopoulou for the GSOC 2012 on the project "Design of Experiments" detailed at:
Detailed Timeline
- Week 1 (30/4 - 6/5): Analysis of DoE Matlab functions.
- Week 2 (7/5 - 13/5): Analysis of doe_beta toolbox functions and commiting the toolbox to git.
- Week 3 (14/5 - 19/5): Prioritise functions of doe_beta toolbox, clear data files and edit builder.sce in git.
- Weeks 4-10 (21/5 - 27/7): Coding and Debugging Period.
- Weeks 11-13(30/7 -20/8): Writing last tests and user documentation.
Detailed list of tasks
TODO
Tasks |
Description |
Status (%) |
Output |
Prioritize the functions to be included in scidoe |
Choose functions to be integrated in Scidoe |
DONE |
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-05-19 |
Update the code to remove calls to randperm : use grand instead. |
crossvalidate.sci uses randperm |
DONE |
|
Replace sort function with gsort. |
sort() function doesn't exist anymore |
DONE |
|
Error in doe_yates |
Removed from toolbox, due to licence issues |
Removed |
|
Fill in readme.txt |
Update readme.txt and fill in project's description in forge |
DONE |
|
Fill in changelog.txt |
Update changelog.txt with changes in Scidoe |
DONE |
|
Error in builder.sce |
Solved, but outputs warnings concerning invalid internal links to a few functions |
DONE |
|
Create licence.txt |
|
DONE |
|
Multiple linear regression |
Linear model with multiple independent variables |
DONE |
|
Remove "out of the scope" macros and relevant help files |
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-05-19 |
DONE |
|
Polynomial Regression |
|
In Progress |
|
lars.sci |
To be integrated with lars_internal.sci |
TODO |
Performance of functions
The tutorial "Programming in Scilab" written by Michael Baudin, presents many ways to measure the speed of a function.
I used the functions benchfun.sci and the following script, both written by Michael Baudin:
for nbvar = 1:14 tic(); B = doetbx_factorial(nbvar); tslow = toc(); N = size(B,"*"); tic(); B = doetbx_ff2n (nbvar); tfast = toc(); mprintf("nbvar=%d, N=%d, Slow=%.2f, Fast=%.2f\n",nbvar,N,tslow,tfast); end
With a slight modification, the above script can be used to measure a function on its own. It's basically the sequence of tic()-toc() commands.
I use the binary version of the latest nightly build (21/06/2012) and I get errors concerning plot() commands, including the plotprofile() command. I filed a bug in Bugzilla Bug 11368
Functions |
Description |
Output of tic-toc script (t in seconds) |
Profile of function |
doetbx_factorial(n) |
Two-level factorial Design |
n=1 t=0.00; n=2 t=0.01;n=3 t=0.01;n=4 0.00;n=5 t=0.00;n=6 t=0.01;n=7 t=0.01;n=8 t=0.04;n=9 t=0.09;n=10 t=0.38; n=11 t=1.27;n=12 t=5.16;n=13 t=31,75 (to be replaced with the link of the new report |
- |
doetbx_ff2n(n) |
n=1 t=0.02; n=2 t=0.01; n=3 t=0.02 n=4 t=0.02;n=5 t=0.02;n=6 t=0.02;n=7 t=0.03; n=8 t=0.04;n=9 t=0.04;n=10 t=0.04; n=11 t=0.05; n=12 t=0.09; n=13 t=0.17;n=14 t=0.26 |
- |
|
doetbx_fullfact(levels) |
Full Factorial Design |
L=1 t=0.06;L=2 t=0.01;L=3 t=0.02;L=4 t=0.01;L=5 t=0.02;L=6 t=0.04;L=7 t=0.14;L=8 t=0.95, then "stacksize exceeded" |
- |
To test the doetbx_fullfact.sci, I modified the above code:
stacksize("max"); for i=1:10 B=grand(1,"prm",(1:i)')'; tic(); doetbx_fullfact(B); t =toc(); mprintf("t=%.2f\n",t) end
so that in each iteration we take a bigger length of the vector 'levels', meaning more input factors.
Weekly Reports
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-05-06
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-05-13
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-05-19
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-06-03
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-06-10
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-06-17
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-06-24
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-07-02
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-07-08
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-07-16
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-07-30
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-08-05
https://scilab.gitlab.io/legacy_wiki/Contributor-DoE-GSOC2012/report-2012-08-20
Final Report
http://www.google-melange.com/gsoc/project/google/gsoc2012/maria_christopoulou/18001