This website is out of date. The new site is at http://learnche.mcmaster.ca/4C3

# Latent variable methods and applications (2011)

Video material (part 1)

Video timing

 00:00 to 02:22 Announcements 02:22 to 06:52 Overview of latent variable methods 06:52 to 16:41 Extracting value from data 16:41 to 46:03 Types of data that engineers deal with 46:03 to 58:13 Issues with modern data sets 58:13 to 89:55 What is a latent variable? 89:55 to 119:19 Principal component analysis (PCA): geometrically 119:19 to 137:07 Principal component analysis (PCA): analytically

Video material(part 2)

Video timing

 00:00 to 05:30 Examples of using latent variable methods 05:30 to 56:25 Review of geometric and analytic derivation of PCA (poor video quality) 56:25 to 119:00 Food texture case study: scores and loadings 119:00 to 128:00 Interpreting scores and loadings in general 128:00 to 136:52 The squared prediction error (SPE)

Video material (part 3)

Video timing

 00:00 to 04:32 Announcements and review of DOE projects 04:32 to 15:38 Emily and Holly's project presentation 15:38 to 24:45 Review of the take-home exam 24:45 to 32:32 Review of the squared prediction error (SPE) 32:32 to 43:44 Column residuals and matrix residuals R2 43:44 to 57:17 Residuals case study: spectral data 57:17 to 69:34 Hotelling's T2 69:34 to 78:31 Preprocessing and how to calculate the PCA model 78:31 to 89:31 How many components should be used? 89:31 to 112:25 Principal components regression (PCR) 112:25 to 123:03 Overview of dealing with image data 123:03 to 130:35 Improved process understanding and process troubleshooting 130:35 to 133:53 Predictive modelling (inferential sensors) 133:53 to 137:38 Process monitoring using latent variable methods

##  Course notes

• (PDF) Course notes
• Please print pages from Chapter 6.
• Chapters 7, and 8 will not be covered in this course. Parts of chapter 9 will be covered, but not in any technical detail.
• The full PDF is provided so that hyperlinks for cross-sections will work as expected.

A high-level overview of latent variable methods:

 Class date: 30 and 31 March: please print all slides [8.4 Mb] I want my notes with: 1x1 (landscape) 2x1 (portrait) 3x1 (portrait) 3x1 (but with space for notes) 2x2 (landscape) 3x2 (portrait) pages per physical page Use page frames?

##  Audio recordings of 2011 classes

Date Material covered Audio file
30 March 2011 Latent variable methods: an overview of what these methods are, and how they are used Class 31
31 March 2011 Latent variable methods: further applications of latent variable methods Class 32

Thanks to the various students responsible for recording and making these files available

##  Code for the rotating cube

Created using R with this code, then converted to a video file using http://ffmpeg.org/

temps<- read.csv('http://datasets.connectmv.com/file/room-temperature.csv')
summary(temps)
X <- data.frame(x1=temps$FrontLeft, x2=temps$FrontRight, x3=temps$BackLeft) # To colour-code sub-groups of outliers library(lattice) grouper = c(numeric(length=50)+1, numeric(length=10)+2, numeric(length=144-50-10)+1) grouper[131] = 3 cube <- function(angle){ # Function to draw the cube at a certain viewing angle xlabels = 0 ylabels = 0 zlabels = 0 lattice.options(panel.error=NULL) print(cloud( X$x3 ~ X$x1 * X$x2,
cex = 1,
type="p",
groups = grouper,
pch=20,
col=c("black", "blue", "blue"),
main="",
screen = list(z = angle, x = -70, y = 0),
par.settings = list(axis.line = list(col = "transparent")),
scales = list(
col = "black", arrows=TRUE,
distance=c(0.5,0.5,0.5)
),
xlab="x1",
ylab="x2",
zlab="x3",
zoom = 1.0
)
)
}

angles = seq(0, 360, 1)
for(i in angles){

if (i<10) {
filename <- paste("00", as.character(i), ".jpg", sep="")
} else if (i<100) {
filename <- paste("0", as.character(i), ".jpg", sep="")
} else {
filename <- paste("", as.character(i), ".jpg", sep="")
}

jpeg(file=filename, height = 1000, width = 1000, quality=100, res=300)
cube(i)
dev.off()
}

system("ffmpeg -r 20 -b 1800 -i %03d.jpg animated-spinning-cube.mp4")