PCA for NIR Spectra_part 001: "Plotting the loadings"
[This article was first published on NIR-Quimiometría, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
There are different algorithms to calculate the Principal Components (PCs). Kurt Varmuza & Peter Filzmozer explain them in their book: “Introduction to Multivariate Statistical Analysis in Chemometrics”.
I´m going to apply one of them, to the Yarn spectra.
Previously we have to center the X matrix, let´s call it Xc.
> Xc<-scale(yarn$NIR, center = TRUE, scale = FALSE)
The algorithm I´m going to apply is “Singular Value Decomposition”.
> Xc_svd<-svd(Xc)
The idea of this post is just to look to the loadings matrix (P). Loadings are spectra. which reconstruct together with the score matrix (T), and an error matrix (E), the original X matrix.
For this case 3 components in enough, because explain almost 99% of the variance, so let´s have a look to the first three loadings:
> P<-Xc_svd$v
> P3cp<-P[,1:3]
> matplot(wavelengths,P3cp,pch=21,lty=1,
+ xlab=”data_points(nm)”,ylab=”log(1/R)”)
To leave a comment for the author, please follow the link and comment on their blog: NIR-Quimiometría.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.