Skip to content

Commit c58dc8b

Browse files
committed
Update Plackett-Burman example
1 parent d1fac00 commit c58dc8b

File tree

1 file changed

+60
-69
lines changed

1 file changed

+60
-69
lines changed

examples/Screening with Plackett-Burman Designs.ipynb

Lines changed: 60 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,19 @@
2222
"name": "stdout",
2323
"output_type": "stream",
2424
"text": [
25-
"\u001b[36m\u001b[1mProject \u001b[22m\u001b[39mExperimentalDesign v0.3.0\n",
26-
"\u001b[32m\u001b[1m Status\u001b[22m\u001b[39m `~/.julia/dev/ExperimentalDesign/Project.toml`\n",
27-
" \u001b[90m [a93c6f00]\u001b[39m\u001b[37m DataFrames v0.21.3\u001b[39m\n",
28-
" \u001b[90m [864edb3b]\u001b[39m\u001b[37m DataStructures v0.17.18\u001b[39m\n",
29-
" \u001b[90m [31c24e10]\u001b[39m\u001b[37m Distributions v0.23.4\u001b[39m\n",
25+
"\u001b[32m\u001b[1mStatus\u001b[22m\u001b[39m `~/.julia/dev/ExperimentalDesign/examples/Project.toml`\n",
26+
" \u001b[90m [a93c6f00]\u001b[39m\u001b[37m DataFrames v0.21.5\u001b[39m\n",
27+
" \u001b[90m [31c24e10]\u001b[39m\u001b[37m Distributions v0.23.6\u001b[39m\n",
3028
" \u001b[90m [ffbed154]\u001b[39m\u001b[37m DocStringExtensions v0.8.2\u001b[39m\n",
3129
" \u001b[90m [e30172f5]\u001b[39m\u001b[37m Documenter v0.24.11\u001b[39m\n",
30+
" \u001b[90m [4babbea4]\u001b[39m\u001b[37m ExperimentalDesign v0.3.3\u001b[39m\n",
3231
" \u001b[90m [38e38edf]\u001b[39m\u001b[37m GLM v1.3.9\u001b[39m\n",
32+
" \u001b[90m [7073ff75]\u001b[39m\u001b[37m IJulia v1.21.3\u001b[39m\n",
33+
" \u001b[90m [91a5bcdd]\u001b[39m\u001b[37m Plots v1.5.7\u001b[39m\n",
3334
" \u001b[90m [27ebfcd6]\u001b[39m\u001b[37m Primes v0.5.0\u001b[39m\n",
3435
" \u001b[90m [2913bbd2]\u001b[39m\u001b[37m StatsBase v0.33.0\u001b[39m\n",
35-
" \u001b[90m [3eaba693]\u001b[39m\u001b[37m StatsModels v0.6.11\u001b[39m\n",
36+
" \u001b[90m [3eaba693]\u001b[39m\u001b[37m StatsModels v0.6.12\u001b[39m\n",
37+
" \u001b[90m [f3b207a7]\u001b[39m\u001b[37m StatsPlots v0.14.6\u001b[39m\n",
3638
" \u001b[90m [37e2e46d]\u001b[39m\u001b[37m LinearAlgebra \u001b[39m\n",
3739
" \u001b[90m [56ddb016]\u001b[39m\u001b[37m Logging \u001b[39m\n",
3840
" \u001b[90m [9a3f8284]\u001b[39m\u001b[37m Random \u001b[39m\n",
@@ -79,18 +81,7 @@
7981
"cell_type": "code",
8082
"execution_count": 2,
8183
"metadata": {},
82-
"outputs": [
83-
{
84-
"name": "stderr",
85-
"output_type": "stream",
86-
"text": [
87-
"┌ Info: Precompiling ExperimentalDesign [4babbea4-9e7d-11e9-116f-e1ada04bd296]\n",
88-
"└ @ Base loading.jl:1273\n",
89-
"┌ Info: Precompiling GLM [38e38edf-8417-5370-95a0-9cbb8c7f171a]\n",
90-
"└ @ Base loading.jl:1273\n"
91-
]
92-
}
93-
],
84+
"outputs": [],
9485
"source": [
9586
"using ExperimentalDesign, StatsModels, GLM, DataFrames, Distributions, Random"
9687
]
@@ -363,7 +354,7 @@
363354
},
364355
{
365356
"cell_type": "code",
366-
"execution_count": 15,
357+
"execution_count": 9,
367358
"metadata": {},
368359
"outputs": [
369360
{
@@ -377,17 +368,17 @@
377368
"───────────────────────────────────────────────────────────────────────────\n",
378369
" Estimate Std. Error t value Pr(>|t|) Lower 95% Upper 95%\n",
379370
"───────────────────────────────────────────────────────────────────────────\n",
380-
"factor1 2.66359 0.940183 2.83305 0.2160 -9.28257 14.6097 \n",
371+
"factor1 2.66359 0.940183 2.83305 0.2160 -9.28257 14.6097\n",
381372
"factor2 -2.80249 0.940183 -2.98079 0.2061 -14.7486 9.14367\n",
382-
"factor3 7.71644 0.940183 8.20739 0.0772 -4.22971 19.6626 \n",
383-
"factor4 -0.0497774 0.940183 -0.0529443 0.9663 -11.9959 11.8964 \n",
384-
"factor5 0.612681 0.940183 0.651661 0.6323 -11.3335 12.5588 \n",
385-
"factor6 -0.112675 0.940183 -0.119844 0.9241 -12.0588 11.8335 \n",
386-
"dummy1 -0.437176 0.940183 -0.46499 0.7229 -12.3833 11.509 \n",
373+
"factor3 7.71644 0.940183 8.20739 0.0772 -4.22971 19.6626\n",
374+
"factor4 -0.0497774 0.940183 -0.0529443 0.9663 -11.9959 11.8964\n",
375+
"factor5 0.612681 0.940183 0.651661 0.6323 -11.3335 12.5588\n",
376+
"factor6 -0.112675 0.940183 -0.119844 0.9241 -12.0588 11.8335\n",
377+
"dummy1 -0.437176 0.940183 -0.46499 0.7229 -12.3833 11.509\n",
387378
"───────────────────────────────────────────────────────────────────────────"
388379
]
389380
},
390-
"execution_count": 15,
381+
"execution_count": 9,
391382
"metadata": {},
392383
"output_type": "execute_result"
393384
}
@@ -416,7 +407,7 @@
416407
},
417408
{
418409
"cell_type": "code",
419-
"execution_count": 16,
410+
"execution_count": 10,
420411
"metadata": {
421412
"scrolled": true
422413
},
@@ -435,14 +426,14 @@
435426
"(Intercept) 0.940183 0.437176 2.15058 0.2771 -4.61466 6.49503\n",
436427
"factor1 2.66359 0.437176 6.09271 0.1036 -2.89126 8.21843\n",
437428
"factor2 -2.80249 0.437176 -6.41043 0.0985 -8.35733 2.75236\n",
438-
"factor3 7.71644 0.437176 17.6507 0.0360 2.1616 13.2713 \n",
429+
"factor3 7.71644 0.437176 17.6507 0.0360 2.1616 13.2713\n",
439430
"factor4 -0.0497774 0.437176 -0.113861 0.9278 -5.60462 5.50507\n",
440431
"factor5 0.612681 0.437176 1.40145 0.3946 -4.94217 6.16753\n",
441432
"factor6 -0.112675 0.437176 -0.257734 0.8394 -5.66752 5.44217\n",
442433
"──────────────────────────────────────────────────────────────────────────────"
443434
]
444435
},
445-
"execution_count": 16,
436+
"execution_count": 10,
446437
"metadata": {},
447438
"output_type": "execute_result"
448439
}
@@ -474,48 +465,48 @@
474465
},
475466
{
476467
"cell_type": "code",
477-
"execution_count": 20,
468+
"execution_count": 11,
478469
"metadata": {
479470
"scrolled": false
480471
},
481472
"outputs": [
482473
{
483474
"data": {
484475
"text/html": [
485-
"<table class=\"data-frame\"><thead><tr><th></th><th>factor1</th><th>factor2</th><th>factor3</th><th>factor4</th><th>factor5</th><th>factor6</th><th>response</th></tr><tr><th></th><th>Float64</th><th>Float64</th><th>Float64</th><th>Float64</th><th>Float64</th><th>Float64</th><th>Float64</th></tr></thead><tbody><p>8 rows × 7 columns</p><tr><th>1</th><td>1.0</td><td>-1.0</td><td>1.0</td><td>1.0</td><td>1.0</td><td>1.0</td><td>14.8616</td></tr><tr><th>2</th><td>1.0</td><td>-1.0</td><td>1.0</td><td>1.0</td><td>-1.0</td><td>-1.0</td><td>11.8434</td></tr><tr><th>3</th><td>-1.0</td><td>1.0</td><td>1.0</td><td>-1.0</td><td>-1.0</td><td>-1.0</td><td>2.64702</td></tr><tr><th>4</th><td>1.0</td><td>-1.0</td><td>1.0</td><td>-1.0</td><td>1.0</td><td>-1.0</td><td>15.5183</td></tr><tr><th>5</th><td>1.0</td><td>1.0</td><td>1.0</td><td>-1.0</td><td>1.0</td><td>1.0</td><td>7.76413</td></tr><tr><th>6</th><td>1.0</td><td>-1.0</td><td>1.0</td><td>1.0</td><td>1.0</td><td>-1.0</td><td>15.6221</td></tr><tr><th>7</th><td>-1.0</td><td>-1.0</td><td>-1.0</td><td>-1.0</td><td>1.0</td><td>-1.0</td><td>-3.63797</td></tr><tr><th>8</th><td>1.0</td><td>1.0</td><td>-1.0</td><td>-1.0</td><td>-1.0</td><td>-1.0</td><td>-9.45331</td></tr></tbody></table>"
476+
"<table class=\"data-frame\"><thead><tr><th></th><th>factor1</th><th>factor2</th><th>factor3</th><th>factor4</th><th>factor5</th><th>factor6</th><th>response</th></tr><tr><th></th><th>Int64</th><th>Int64</th><th>Int64</th><th>Int64</th><th>Int64</th><th>Int64</th><th>Float64</th></tr></thead><tbody><p>8 rows × 7 columns</p><tr><th>1</th><td>1</td><td>-1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>14.8616</td></tr><tr><th>2</th><td>1</td><td>-1</td><td>1</td><td>1</td><td>-1</td><td>-1</td><td>11.8434</td></tr><tr><th>3</th><td>-1</td><td>1</td><td>1</td><td>-1</td><td>-1</td><td>-1</td><td>2.64702</td></tr><tr><th>4</th><td>1</td><td>-1</td><td>1</td><td>-1</td><td>1</td><td>-1</td><td>15.5183</td></tr><tr><th>5</th><td>1</td><td>1</td><td>1</td><td>-1</td><td>1</td><td>1</td><td>7.76413</td></tr><tr><th>6</th><td>1</td><td>-1</td><td>1</td><td>1</td><td>1</td><td>-1</td><td>15.6221</td></tr><tr><th>7</th><td>-1</td><td>-1</td><td>-1</td><td>-1</td><td>1</td><td>-1</td><td>-3.63797</td></tr><tr><th>8</th><td>1</td><td>1</td><td>-1</td><td>-1</td><td>-1</td><td>-1</td><td>-9.45331</td></tr></tbody></table>"
486477
],
487478
"text/latex": [
488479
"\\begin{tabular}{r|ccccccc}\n",
489480
"\t& factor1 & factor2 & factor3 & factor4 & factor5 & factor6 & response\\\\\n",
490481
"\t\\hline\n",
491-
"\t& Float64 & Float64 & Float64 & Float64 & Float64 & Float64 & Float64\\\\\n",
482+
"\t& Int64 & Int64 & Int64 & Int64 & Int64 & Int64 & Float64\\\\\n",
492483
"\t\\hline\n",
493-
"\t1 & 1.0 & -1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 14.8616 \\\\\n",
494-
"\t2 & 1.0 & -1.0 & 1.0 & 1.0 & -1.0 & -1.0 & 11.8434 \\\\\n",
495-
"\t3 & -1.0 & 1.0 & 1.0 & -1.0 & -1.0 & -1.0 & 2.64702 \\\\\n",
496-
"\t4 & 1.0 & -1.0 & 1.0 & -1.0 & 1.0 & -1.0 & 15.5183 \\\\\n",
497-
"\t5 & 1.0 & 1.0 & 1.0 & -1.0 & 1.0 & 1.0 & 7.76413 \\\\\n",
498-
"\t6 & 1.0 & -1.0 & 1.0 & 1.0 & 1.0 & -1.0 & 15.6221 \\\\\n",
499-
"\t7 & -1.0 & -1.0 & -1.0 & -1.0 & 1.0 & -1.0 & -3.63797 \\\\\n",
500-
"\t8 & 1.0 & 1.0 & -1.0 & -1.0 & -1.0 & -1.0 & -9.45331 \\\\\n",
484+
"\t1 & 1 & -1 & 1 & 1 & 1 & 1 & 14.8616 \\\\\n",
485+
"\t2 & 1 & -1 & 1 & 1 & -1 & -1 & 11.8434 \\\\\n",
486+
"\t3 & -1 & 1 & 1 & -1 & -1 & -1 & 2.64702 \\\\\n",
487+
"\t4 & 1 & -1 & 1 & -1 & 1 & -1 & 15.5183 \\\\\n",
488+
"\t5 & 1 & 1 & 1 & -1 & 1 & 1 & 7.76413 \\\\\n",
489+
"\t6 & 1 & -1 & 1 & 1 & 1 & -1 & 15.6221 \\\\\n",
490+
"\t7 & -1 & -1 & -1 & -1 & 1 & -1 & -3.63797 \\\\\n",
491+
"\t8 & 1 & 1 & -1 & -1 & -1 & -1 & -9.45331 \\\\\n",
501492
"\\end{tabular}\n"
502493
],
503494
"text/plain": [
504495
"8×7 DataFrame\n",
505496
"│ Row │ factor1 │ factor2 │ factor3 │ factor4 │ factor5 │ factor6 │ response │\n",
506-
"│ │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │\n",
497+
"│ │ \u001b[90mInt64\u001b[39m \u001b[90mInt64\u001b[39m \u001b[90mInt64\u001b[39m \u001b[90mInt64\u001b[39m \u001b[90mInt64\u001b[39m \u001b[90mInt64\u001b[39m \u001b[90mFloat64\u001b[39m │\n",
507498
"├─────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼──────────┤\n",
508-
"│ 1 │ 1.0 │ -1.0 │ 1.0 │ 1.0 │ 1.0 │ 1.0 │ 14.8616 │\n",
509-
"│ 2 │ 1.0 │ -1.0 │ 1.0 │ 1.0 │ -1.0 │ -1.0 │ 11.8434 │\n",
510-
"│ 3 │ -1.0 │ 1.0 │ 1.0 │ -1.0 │ -1.0 │ -1.0 │ 2.64702 │\n",
511-
"│ 4 │ 1.0 │ -1.0 │ 1.0 │ -1.0 │ 1.0 │ -1.0 │ 15.5183 │\n",
512-
"│ 5 │ 1.0 │ 1.0 │ 1.0 │ -1.0 │ 1.0 │ 1.0 │ 7.76413 │\n",
513-
"│ 6 │ 1.0 │ -1.0 │ 1.0 │ 1.0 │ 1.0 │ -1.0 │ 15.6221 │\n",
514-
"│ 7 │ -1.0 │ -1.0 │ -1.0 │ -1.0 │ 1.0 │ -1.0 │ -3.63797 │\n",
515-
"│ 8 │ 1.0 │ 1.0 │ -1.0 │ -1.0 │ -1.0 │ -1.0 │ -9.45331 │"
499+
"│ 1 │ 1 │ -1 │ 1 │ 1 │ 1 │ 1 │ 14.8616 │\n",
500+
"│ 2 │ 1 │ -1 │ 1 │ 1 │ -1 │ -1 │ 11.8434 │\n",
501+
"│ 3 │ -1 │ 1 │ 1 │ -1 │ -1 │ -1 │ 2.64702 │\n",
502+
"│ 4 │ 1 │ -1 │ 1 │ -1 │ 1 │ -1 │ 15.5183 │\n",
503+
"│ 5 │ 1 │ 1 │ 1 │ -1 │ 1 │ 1 │ 7.76413 │\n",
504+
"│ 6 │ 1 │ -1 │ 1 │ 1 │ 1 │ -1 │ 15.6221 │\n",
505+
"│ 7 │ -1 │ -1 │ -1 │ -1 │ 1 │ -1 │ -3.63797 │\n",
506+
"│ 8 │ 1 │ 1 │ -1 │ -1 │ -1 │ -1 │ -9.45331 │"
516507
]
517508
},
518-
"execution_count": 20,
509+
"execution_count": 11,
519510
"metadata": {},
520511
"output_type": "execute_result"
521512
}
@@ -532,7 +523,7 @@
532523
},
533524
{
534525
"cell_type": "code",
535-
"execution_count": 13,
526+
"execution_count": 17,
536527
"metadata": {},
537528
"outputs": [
538529
{
@@ -546,23 +537,23 @@
546537
"─────────────────────────────────────────────────────────────────────────────\n",
547538
" Estimate Std. Error t value Pr(>|t|) Lower 95% Upper 95%\n",
548539
"─────────────────────────────────────────────────────────────────────────────\n",
549-
"(Intercept) 0.600392 0.738868 0.812583 0.5656 -8.78781 9.9886 \n",
550-
"factor1 2.2371 0.639878 3.49613 0.1774 -5.89333 10.3675 \n",
551-
"factor2 -2.56857 1.04492 -2.45816 0.2460 -15.8455 10.7084 \n",
552-
"factor3 8.05743 0.738868 10.9051 0.0582 -1.33077 17.4456 \n",
553-
"factor4 0.140622 1.04492 0.134577 0.9148 -13.1363 13.4175 \n",
554-
"factor5 0.907918 0.97743 0.928882 0.5235 -11.5115 13.3273 \n",
555-
"factor6 -0.600354 0.738868 -0.812532 0.5656 -9.98856 8.78785\n",
540+
"(Intercept) 0.761531 0.472627 1.61127 0.3536 -5.24377 6.76683\n",
541+
"factor1 1.67467 0.345928 4.8411 0.1297 -2.72076 6.0701\n",
542+
"factor2 -3.05027 0.557792 -5.46848 0.1151 -10.1377 4.03715\n",
543+
"factor3 7.72484 0.345928 22.3308 0.0285 3.32941 12.1203\n",
544+
"factor4 0.141204 0.497302 0.283939 0.8239 -6.17762 6.46003\n",
545+
"factor5 1.71071 0.472627 3.61957 0.1716 -4.29459 7.71601\n",
546+
"factor6 -0.558869 0.472627 -1.18247 0.4469 -6.56417 5.44643\n",
556547
"─────────────────────────────────────────────────────────────────────────────"
557548
]
558549
},
559-
"execution_count": 13,
550+
"execution_count": 17,
560551
"metadata": {},
561552
"output_type": "execute_result"
562553
}
563554
],
564555
"source": [
565-
"lm(random_design_generator.formula, random_design)"
556+
"lm(term(:response) ~ random_design.formula.rhs, random_design.matrix)"
566557
]
567558
},
568559
{
@@ -576,7 +567,7 @@
576567
"| Original | 1.2 | 2.3 | -3.4 | 7.12 | -0.03 | 1.1 | -0.5 | $-$ |\n",
577568
"| Plackett-Burman Main Effects | $-$ | 2.66359 | -2.80249 | 7.71644 | -0.0497774 | 0.612681 | -0.112675 | -0.437176 |\n",
578569
"| Plackett-Burman Estimate | 0.940183 | 2.66359 | -2.80249 | 7.71644 | -0.0497774 | 0.612681 | -0.112675 | $-$ |\n",
579-
"| Single Random Design Estimate | 0.600392 | 2.2371 | -2.56857 | 8.05743 | 0.140622 | 0.907918 | -0.600354 | $-$ |\n",
570+
"| Single Random Design Estimate | 0.761531 | 1.67467 | -3.05027 | 7.72484 | 0.141204 | 1.71071 | -0.558869 | $-$ |\n",
580571
"\n",
581572
"The estimates produced using random designs will have larger confidence intervals, and therefore increased variability. The Plackett-Burman design is fixed, but can be randomised. The variability of main effects estimates using screening designs will depend on measurement or model error.\n",
582573
"\n",
@@ -589,7 +580,7 @@
589580
},
590581
{
591582
"cell_type": "code",
592-
"execution_count": 24,
583+
"execution_count": 18,
593584
"metadata": {},
594585
"outputs": [
595586
{
@@ -603,17 +594,17 @@
603594
"──────────────────────────────────────────────────────────────────────────────\n",
604595
" Estimate Std. Error t value Pr(>|t|) Lower 95% Upper 95%\n",
605596
"──────────────────────────────────────────────────────────────────────────────\n",
606-
"(Intercept) 1.13095 0.123021 9.1932 <1e-12 0.88461 1.3773 \n",
607-
"factor1 2.23668 0.123021 18.1813 <1e-24 1.99034 2.48303 \n",
608-
"factor2 -3.4775 0.123021 -28.2675 <1e-34 -3.72384 -3.23115 \n",
609-
"factor3 6.95531 0.123021 56.5377 <1e-51 6.70897 7.20166 \n",
597+
"(Intercept) 1.13095 0.123021 9.1932 <1e-12 0.88461 1.3773\n",
598+
"factor1 2.23668 0.123021 18.1813 <1e-24 1.99034 2.48303\n",
599+
"factor2 -3.4775 0.123021 -28.2675 <1e-34 -3.72384 -3.23115\n",
600+
"factor3 6.95531 0.123021 56.5377 <1e-51 6.70897 7.20166\n",
610601
"factor4 -0.160546 0.123021 -1.30503 0.1971 -0.406891 0.0857987\n",
611-
"factor5 0.975471 0.123021 7.92932 <1e-10 0.729127 1.22182 \n",
612-
"factor6 -0.357748 0.123021 -2.90803 0.0052 -0.604093 -0.111403 \n",
602+
"factor5 0.975471 0.123021 7.92932 <1e-10 0.729127 1.22182\n",
603+
"factor6 -0.357748 0.123021 -2.90803 0.0052 -0.604093 -0.111403\n",
613604
"──────────────────────────────────────────────────────────────────────────────"
614605
]
615606
},
616-
"execution_count": 24,
607+
"execution_count": 18,
617608
"metadata": {},
618609
"output_type": "execute_result"
619610
}

0 commit comments

Comments
 (0)