Difference between revisions of "Worksheets/Week3"

From Statistics for Engineering
Jump to navigation Jump to search
 
(21 intermediate revisions by the same user not shown)
Line 3: Line 3:
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 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.


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


# A = additive at 20mL and 30mL for low and high levels
# A = additive at 20mL and 30mL for low and high levels
A <- c(-1, +1, -1, +1)
A = c(-1, +1, -1, +1)


# B = without (-) or with (+) boiling
# B = without (-) or with (+) baffles
B <- c(-1, -1, +1, +1)
B = c(-1, -1, +1, +1)


# Response y is the amount of side product formed, y [grams]
# Response y is the amount of side product formed, y [grams]
y <- c(89, 268, 179, 448)
y = c(89, 268, 179, 448)


# Fit a linear model
# Fit a linear model
mod.siderxn <- lm(y ~ A + B + A*B)
model_siderxn = lm(y ~ A + B + A*B)
summary(mod.siderxn)
summary(model_siderxn)




Line 27: Line 27:


# See how the two factors affect the response:
# See how the two factors affect the response:
contourPlot(mod.siderxn)
contourPlot(model_siderxn)
interaction.plot(A, B, y)
interaction.plot(A, B, y)
interaction.plot(B, A, y)
interaction.plot(B, A, y)
# Make a prediction with this model:
xA = -1
xB = -1
y.hat = predict(model_siderxn, data.frame(A = xA, B = xB))
paste0('Predicted value is: ', y.hat, ' grams of side product.')
     </code>
     </code>
</div></html>
</div></html>


=== Part 2 ===
=== Part 2 ===
Line 41: Line 46:


# A = additive at 20mL and 30mL for low and high levels
# A = additive at 20mL and 30mL for low and high levels
A <- c(-1, +1, -1, +1, 0, 0)
A = c(-1, +1, -1, +1, 0, 0)


# B = without (-) or with (+) boiling
# B = without (-) or with (+) baffles
B <- c(-1, -1, +1, +1, -1, +1)
B = c(-1, -1, +1, +1, -1, +1)


# Response y is the amount of side product formed, y [grams]
# Response y is the amount of side product formed, y [grams]
y <- c(89, 268, 179, 448, 186, 290)
y = c(89, 268, 179, 448, 186, 300)
mod.siderxn.cp <- lm(y ~ A + B + A*B)
model_siderxn_cp <- lm(y ~ A + B + A*B)
summary(mod.siderxn.cp)
summary(model_siderxn_cp)


# Uncomment this line if you run the code in RStudio
# Uncomment this line if you run the code in RStudio
Line 56: Line 61:
# Comment this line if you run this code in RStudio
# Comment this line if you run this code in RStudio
source('https://yint.org/contourPlot.R')
source('https://yint.org/contourPlot.R')
contourPlot(mod.siderxn.cp)
contourPlot(model_siderxn_cp)
    </code>
</div></html>
 
 
=== 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.
 
 
<html><div data-datacamp-exercise data-lang="r" data-height="500px">
    <code data-type="sample-code">
 
# 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)
    </code>
</div></html>
 
=== Part 4 ===
 
Continuing with the case above:
 
<html><div data-datacamp-exercise data-lang="r" data-height="500px">
    <code data-type="sample-code">
 
# 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)
     </code>
     </code>
</div></html>
</div></html>

Latest revision as of 13:35, 26 September 2019

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) # Make a prediction with this model: xA = -1 xB = -1 y.hat = predict(model_siderxn, data.frame(A = xA, B = xB)) paste0('Predicted value is: ', y.hat, ' grams of side product.')

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 (+) baffles 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, 300) model_siderxn_cp <- lm(y ~ A + B + A*B) summary(model_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(model_siderxn_cp)