Help for BigPComp routine.

I. Description

BigPComp
is a routine for calculation of the principal component transformation of a set of spectra. In all cases in the GLib software, the spectra are stored in a matrix where each row is a spectrum and the columns are the wavelengths of the spectrum. Principal component transformation (also called the Karhunen-Loeve trasformation) reduces the dimensionality of a data set while preserving its distinguishing characteristics.

Columns of the resulting matrix are the principal component scores and each score will have a corresponding column in the loading matrix. The first column will describe the most variation in the spectra, the second the next most variation etc. The corresponding columns in the loading matrix will be zscored spectra which is the spectrum composed of all the changing elements that are responsible for the variation in the data set. Thus if the amount of water is responsible for most of the variation in a data set, then the loading corresponding to the first principal component will be the zscored water spectrum (more or less).





II. Some references for principal component analysis:

1. Mathematics in Chemistry: An Introduction to Modern Methods, Harry G. Hecht, Prentice Hall, Englewood Cliffs, 1990.

2. Handbook of Near-Infrared Analysis, Burns and Ciurzak eds., Dekker, New York, 1992.





III. The format of the call:

In Mathematica, the call looks like this:

pcs = BigPComp[spectra];

pcs will then be a five element list. The elements by number are:
  1. 1. the princiapl component scores
  2. 2. the loadings (what must be multiplied by the spectra to produce the principal components, they are essentially the weights (importance) of each wavelength in each principal component.
  3. 3. the zscored version of the input spectra
  4. 4. the means used to calculate the zscores
  5. 5. the standard deviations used to calculate the zscores

In Speakeasy the call looks like:

BigPComp(spectra, p)

p will be the principal component scores and a variable named loadings will be placed in memory.