Latent variable methods and applications (2011)
Revision as of 18:20, 21 September 2018 by Kevin Dunn (talk | contribs) (Created page with "{{ClassSidebar | date = | vimeoID1 = 10585575 | vimeoID2 = 10623147 | vimeoID3 = 10962541 | course_notes_PDF = | course_notes_alt = Course notes | overheads_PDF = | overhe...")
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video timing |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video timing |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Video timing |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
Projector overheads
A high-level overview of latent variable methods:
<pdfreflow> class_date = 30 and 31 March: please print all slides [8.4 Mb] button_label = Create my notes! show_page_layout = 1 show_frame_option = 1 pdf_file = Overheads-Latent-variable-methods-part1-and-2-2011.pdf </pdfreflow>
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")