[GRASS-dev] reg i.pca module

Nikos Alexandris nik at nikosalexandris.net
Sat Feb 9 02:11:39 PST 2013


Rashad M wrote:

> I am trying to develop a tool for grass which is one of the things that
> xgobi[1] does.

Nice!  I have used xgobi in the past -- it's really impressive, fancy.  But, 
it is only a visualisation tool.  Which may be, of course, very important in 
trying to interpret multivariate data (in "our" case, both untransformed and 
extracted Principal Components).


> The idea is from Markus Neteler which is to identify pure
> pixel/end members from a PCA plot. Since i.pca transforms pixel position is
> lost.

My comments below might be useful, might be not (?).

In a multi-spectral data-set, we know, more or less, for example what amounts 
of surface reflectance we expect for certain landscape features.

In the new, transformed "space" or, let's call it the (new) rotated coordinate 
system, there is no previous knowledge on how exactly each of the transformed 
values are "connected" to the landscape features.

A Principal Component, is effectively, a mixture of _parts_ of information from 
_all_ original variables.  The way the original scatterplot (in the simple 
case of a bi-variate data set) rotates, is driven in such a way as to match 
the maximum possible projection(s) of the points in the main coordinate system 
axes ( == seeking for largest possible variances in the data).  Note, the 
whole PCA process is bound to the global statistics of your input multi-
variate dataset.

> So I need to find out how the pixel values are changed during a PC
> Analysis.

Random example with a 3-variate data set from the wiki:

r.mapcalc 'pc.1 =  .4372107421*map.1 +.7210155161 *map.2 + .5375717557*map.3'

Very *roughly* interpreting the above calculation:

the 1st PC will be the sum of (weighted) parts from the original 
variables/maps, i.e.:

0.43 from the 1st original variable

PLUS

0.72 from the 2nd original variable

PLUS

0.53 from the 3rd original variable


Now, you have a new transformed pixel value.

Note, you there are different versions of PCA. One typical example is that you 
might want or you might not want to use the correlation matrix instead of the 
var-covariance matrix.

Best, N

> spectral unmixing (i.spec.unmix) needs pure pixels for
> classification which is not easy to obtain or needs a device field
> spectrometer which is expensive. So a module in GRASS GIS to do will make
> the life a lot easier
> 
> [1] http://www2.research.att.com/areas/stat/xgobi/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20130209/f6dff260/attachment-0001.pgp>


More information about the grass-dev mailing list