[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