Worksheets/Week3

From Statistics for Engineering
Jump to navigation Jump to search

Part 1

A factorial experiment was run to investigate the settings that minimize the production of an unwanted side product. The two factors being investigated are called A and B for simplicity.

# A = additive at 20mL and 30mL for low and high levels A <- c(-1, +1, -1, +1) # B = without (-) or with (+) baffles B <- c(-1, -1, +1, +1) # Response y is the amount of side product formed, y [grams] y <- c(89, 268, 179, 448) # Fit a linear model model.siderxn <- lm(y ~ A + B + A*B) summary(model.siderxn) # Uncomment this line if you run the code in RStudio #library(pid) # Comment this line if you run this code in RStudio source('https://yint.org/contourPlot.R') # See how the two factors affect the response: contourPlot(model.siderxn) interaction.plot(A, B, y) interaction.plot(B, A, y)

Part 2

Continuing from above, with 2 extra experimental points:

# A = additive at 20mL and 30mL for low and high levels A <- c(-1, +1, -1, +1, 0, 0) # B = without (-) or with (+) boiling B <- c(-1, -1, +1, +1, -1, +1) # Response y is the amount of side product formed, y [grams] y <- c(89, 268, 179, 448, 186, 290) mod.siderxn.cp <- lm(y ~ A + B + A*B) summary(mod.siderxn.cp) # Uncomment this line if you run the code in RStudio #library(pid) # Comment this line if you run this code in RStudio source('https://yint.org/contourPlot.R') contourPlot(mod.siderxn.cp)


Part 3

Your family runs a small business selling products online. The first factor of interest is whether to provide free shipping over €30 or over €50. The second factor is whether or not the purchaser must first create a profile before completing the transaction. The purchaser can still complete their transaction without creating a profile. Below are the data collected, showing the 8 experiments.


# S = Free shipping if order amount is €30 or more [-1], # of if order amount is over €50 [+1] S <- c(-1, +1, -1, +1, -1, +1, -1, +1) # Does the purchaser need to create a profile first [+1] or not [-1]? P <- c(-1, -1, +1, +1, -1, -1, +1, +1) # Response: daily sales amount y <- c(348, 359, 327, 243, 356, 363, 296, 257) # Linear model using S, P and S*P to predict the response mod.sales <- lm(y ~ S*P) summary(mod.sales) # Uncomment this line if you run the code in RStudio #library(pid) # Comment this line if you run this code in RStudio source('https://yint.org/contourPlot.R') contourPlot(mod.sales) interaction.plot(S, P, y) interaction.plot(P, S, y)

Part 4

Continuing with the case above:

# S = Free shipping if order amount is €30 or more [-1], # of if order amount is over €50 [+1] S <- c(-1, +1, -1, +1, -1, +1, -1, +2) # Does the purchaser need to create a profile first [+1] or not [-1]? P <- c(-1, -1, +1, +1, -1, -1, +1, +1) # Response: daily sales amount y <- c(348, 359, 327, 243, 356, 363, 296, 220) # Linear model using S, P and S*P to predict the response mod.sales.mistake <- lm(y ~ S*P) summary(mod.sales.mistake) # Uncomment this line if you run the code in RStudio #library(pid) # Comment this line if you run this code in RStudio source('https://yint.org/contourPlot.R') contourPlot(mod.sales.mistake)

Part 5

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.

# Define the 3 factors. This code is a template that you # can easily extend and reuse for full factorial designs: base <- c(-1, +1) design <- expand.grid(A=base, B=base, C=base) A <- design$A B <- design$B C <- design$C # Type "A", and "B" and "C" at the command prompt # to verify what these letters contain. Are they in # standard order? # The response: stability, in number of days. y <- c(40, 27, 35, 21, 41, 27, 31, 20) # Linear model to predict stability from # A: enzyme strength: -1 == 20%; +1 == 30% # B: feed concentration: -1 == 5%; +1 == 15% # C: mixer type: -1 = R mixer; +1 = W mixer mod.stability <- lm(y ~ A*B*C) summary(mod.stability) # 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(mod.stability) contourPlot(mod.stability, 'A', 'B') contourPlot(mod.stability, 'A', 'C')