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/_______________________________________________

grass-dev mailing list

[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-dev