[GRASS-user] Creating PCA Plot

After creating PCA images, you can do a bivariate plot of 2 of them in the scatterplot tool in GRASS 7.

You can do multiple bivariate scatter plots (i.e., bi-plots of each pair of component images) in a single graph.

Michael


C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University

voice: 480-965-6262 (SHESC), 480-727-9746 (CSDC)
fax: 480-965-7671 (SHESC), 480-727-0709 (CSDC)

www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu

On Feb 6, 2013, at 10:47 AM, <grass-user-request@lists.osgeo.org>
wrote:

From: Nikos Alexandris <nik@nikosalexandris.net>

Subject: Re: [GRASS-user] Creating PCA Plot

Date: February 6, 2013 2:03:06 AM MST

To: Rashad M <mohammedrashadkm@gmail.com>

Cc: <grass-user@lists.osgeo.org>

Rashad M wrote:

Hi,

Hi Rashad :slight_smile:

How to create a PCA plot for two channels of a landsat image.?

In grass use d.correlate, in R too many options!

i.pca outputs a eigen values, vectors and percentage importance

Quoting myself :-p:

–%<—
The eigenvalues define proportionally the length of the axes of variation
and the eigen or characteristic vectors define the direction of the
variation (Ahearn and Wee, 1991). Since both the eigenvectors and the PCs
only define directions, they can be arbitrarily multiplied by −1
(Cadima and Jolliffe, 2009).
—>%–

Effectively, percentages indicate the amount of variance that has been
redistributed in a Principal Component – remember, PCs are sorted from
the one that holds the largest variance to the one that holds the smallest
variance.

Could anybody explain how to plot it?

You mean just a bi-variate scatter-plot?

PCA is a linear transformation for multivariate data sets. The new,
transformed variables (or dimensions or channels or you name them) can
then be plotted the same way as any other raster map. E.g., d.histogram
for single stuff, d.correlate (for a scatter-plot) and probably more.

Does i.pca transforms/changes pixel values?

Yes.

Normally, one would select Landsat bands of interest, i.e. bands that are
profiling “wanted” landscape features. A PCA would then transform a set of
bands into something new: sorted variables in which the original variance
of the data is redistributed in a way that the first Principal Components
contain most of it, while the higher order transformed variables contain
the smallest amounts of the original variance. Note, changes tend to
appear in some of the higher order PCs. Noise, is most of the time
accumulated in the last PC. And, of course, there are many and diverse
uses of PCs (like compression, fusion, etc.).

(So,) If you have your PCs of interest, then you can scatter-plot them in
grass with <d.correlate> for example. In R, however, you can load, in
theory, infinite number of dimensions (in your wording == channels) and
plot really nice and fancy stuff.

I have tried to clearly present the PCA concept in my work. Will send you
a link and stuff of mine – they might be useful for you to make them even
better (!).

Additionally, recently I have seen some very nice tri-variate PC plots in
some presentation… (dunno remember now, it was certainly someone inside
the GRASS GIS community!).

Ah, don’t forget to have a look in GRASS-Wiki (and maybe help iron the
page!): <http://grasswiki.osgeo.org/wiki/Principal_Components_Analysis>.

Best, N