Difference between revisions of "Worksheets/Week6"

From Statistics for Engineering
Jump to navigation Jump to search
(Created page with "=== Part 3 === Your group is developing a new product, but have been struggling to get the product’s stability, measured in days, to the level required. You are aiming for...")
 
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
=== Part 3 ===
=== Part 1 ===
 
Case study: Achieve a stability value of 50 days or more, for a new product. We had a full factorial set of experiments in 3 factors:
 
{| class="wikitable"
! Factor name
! Description
! Low value
! High value
! Type of factor
|-
| '''A'''
| Enzyme strength
| 20%
| 30%
| Numeric factor
|-
| '''B'''
| Feed concentration
| 75%
| 85%
| Numeric
|-
| '''C'''
| Mixer type
| R
| W
| Categorical
|}
 
We will show what we loose out if we pretend we only did half the experiments. In other words, we actually have 8 experiments, but we will see what happens if we only use 4 of them.


Your group is developing a new product, but have been struggling to get the product’s stability, measured in days, to the level required. You are aiming for a stability value of 50 days or more.


<html><div data-datacamp-exercise data-lang="r" data-height="auto">
<html><div data-datacamp-exercise data-lang="r" data-height="auto">
     <code data-type="sample-code">
     <code data-type="sample-code">


# Define the 3 factors. This code is a template that you
# This is the half-fraction, when C = A*B
# can easily extend and reuse for full factorial designs:
A = c(-1, +1, -1, +1)
A <- c(-1, +1, -1, +1)
B = c(-1, -1, +1, +1)
B <- c(-1, -1, +1, +1)
C = A * B
C <- A * B


# The response: stability [units=days]
# The response: stability [units=days]
y <- c...
y = ...
 
model_stability_poshalf = lm(y ~ A*B*C)
summary(model_stability_poshalf)
 
# Uncomment this line if you run the code in RStudio
#library(pid)
# Comment these 2 lines if you run this code in RStudio
source('https://yint.org/paretoPlot.R')
source('https://yint.org/contourPlot.R')
paretoPlot(model_stability_poshalf)
 
# This is the other half-fraction, when C = -A*B
A = c(-1, +1, -1, +1)
B = c(-1, -1, +1, +1)
C = -1 * A * B
 
# The response: stability [units=days]
y = ...
 
model_stability_neghalf = lm(y ~ A*B*C)
summary(model_stability_neghalf)
 
    </code>
</div></html>
 
=== Part 2 ===
 
Data from a bioreactor experiment is available, were we were investigating four factors:
 
{| class="wikitable"
! Factor name
! Description
! Low value
! High value
! Type of factor
|-
| '''A'''
| Feed rate
| 5 g/min
| 8 g/min
| Numeric factor
|-
| '''B'''
| Initial inoculant amount
| 300 g
| 400 g
| Numeric
|-
| '''C'''
| Feed substrate concentration
| 40 g/L
| 60 g/L
| Numeric
|-
| '''D'''
| Dissolved oxygen set-point
| 4 mg/L
| 5 mg/L
| Numeric
|}
 
See the [https://yint.org/w6 link full case study], and to help you, there is a [https://yint.org/w6table table you can fill out].
 
 
The 16 experiments from a full factorial, 2^4 = 16, were randomly run, and the yields, y, the outcome variable were given in standard order: <tt>[60, 59, 63, 61, 69, 61, 94, 93, 56, 63, 70, 65, 44, 45, 78, 77]</tt>
 
<html><div data-datacamp-exercise data-lang="r" data-height="800px">
    <code data-type="sample-code">
 
base = c(-1, +1)
design = expand.grid(A=base, B=base, C=base)
A = design$A
B = design$B
C = design$C
D = A * B * C
 
# These are correct, but confirm that you can find these 8 runs yourself:
y = c(60, 63, 70, 61, 44, 61, 94, 77)


# Linear model to predict stability from
model_bio = lm(y ~ A*B*C*D)
# A: enzyme strength:  -1 == 20%; +1 == 30%
summary(model_bio)
# B: feed concentration: -1 == 5%; +1 == 15%
# C: mixer type:  -1 = R mixer; +1 = W mixer
model.stability <- lm(y ~ A*B*C)
summary(model.stability.half)


# Uncomment this line if you run the code in RStudio
# Uncomment this line if you run the code in RStudio
Line 27: Line 129:
source('https://yint.org/paretoPlot.R')
source('https://yint.org/paretoPlot.R')
source('https://yint.org/contourPlot.R')
source('https://yint.org/contourPlot.R')
paretoPlot(model.stability)
paretoPlot(model_bio)


     </code>
     </code>
</div></html>
</div></html>

Latest revision as of 09:40, 17 October 2019

Part 1

Case study: Achieve a stability value of 50 days or more, for a new product. We had a full factorial set of experiments in 3 factors:

Factor name Description Low value High value Type of factor
A Enzyme strength 20% 30% Numeric factor
B Feed concentration 75% 85% Numeric
C Mixer type R W Categorical

We will show what we loose out if we pretend we only did half the experiments. In other words, we actually have 8 experiments, but we will see what happens if we only use 4 of them.


# This is the half-fraction, when C = A*B A = c(-1, +1, -1, +1) B = c(-1, -1, +1, +1) C = A * B # The response: stability [units=days] y = ... model_stability_poshalf = lm(y ~ A*B*C) summary(model_stability_poshalf) # Uncomment this line if you run the code in RStudio #library(pid) # Comment these 2 lines if you run this code in RStudio source('https://yint.org/paretoPlot.R') source('https://yint.org/contourPlot.R') paretoPlot(model_stability_poshalf) # This is the other half-fraction, when C = -A*B A = c(-1, +1, -1, +1) B = c(-1, -1, +1, +1) C = -1 * A * B # The response: stability [units=days] y = ... model_stability_neghalf = lm(y ~ A*B*C) summary(model_stability_neghalf)

Part 2

Data from a bioreactor experiment is available, were we were investigating four factors:

Factor name Description Low value High value Type of factor
A Feed rate 5 g/min 8 g/min Numeric factor
B Initial inoculant amount 300 g 400 g Numeric
C Feed substrate concentration 40 g/L 60 g/L Numeric
D Dissolved oxygen set-point 4 mg/L 5 mg/L Numeric

See the link full case study, and to help you, there is a table you can fill out.


The 16 experiments from a full factorial, 2^4 = 16, were randomly run, and the yields, y, the outcome variable were given in standard order: [60, 59, 63, 61, 69, 61, 94, 93, 56, 63, 70, 65, 44, 45, 78, 77]

base = c(-1, +1) design = expand.grid(A=base, B=base, C=base) A = design$A B = design$B C = design$C D = A * B * C # These are correct, but confirm that you can find these 8 runs yourself: y = c(60, 63, 70, 61, 44, 61, 94, 77) model_bio = lm(y ~ A*B*C*D) summary(model_bio) # Uncomment this line if you run the code in RStudio #library(pid) # Comment these 2 lines if you run this code in RStudio source('https://yint.org/paretoPlot.R') source('https://yint.org/contourPlot.R') paretoPlot(model_bio)