R^2 Spectrum

April 21, 2012
By

(This article was first published on NIR-Quimiometría, and kindly contributed to R-bloggers)

We have seen in the previous post, how to calculate the correlation spectrum, but other simple way to show  how the bands correlate to the constituent of interest is to calculate R^2. This way we remove the negative part of the correlation spectrum.
Xmsc<-NIR_msc
Ymoi<-demo_raw$Moisture
cor_spec<-cor(Ymoi,Xmsc[,1:700])
rsq_spec<-(cor(Ymoi,Xmsc[,1:700]))^2
cov_spec<-cov(Ymoi,Xmsc[,1:700])*50
matplot(wave_nir,t(cor_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")
matplot(wave_nir,t(rsq_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")
matplot(wave_nir,t(cov_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")
#We merge the R /R^2/Cov spectrum with the sample spectra treated with MSC.
cor_spec<-rbind(cor_spec,NIR_msc)
rsq_spec<-rbind(rsq_spec,NIR_msc)
cov_spec<-rbind(cov_spec,NIR_msc)
matplot(wave_nir,t(cor_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")
matplot(wave_nir,t(rsq_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")
matplot(wave_nir,t(cov_spec),lty=1,pch="*",xlab="nm",ylab="log(1/R)")

In order to see better the Covariance Spectrum, I multiplied by a factor,We can see how the covariance spectrum gives sharp bands an gives us a better idea where the variation due to moisture is.

To leave a comment for the author, please follow the link and comment on his blog: NIR-Quimiometría.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Tags:

Comments are closed.