[GRASS-dev] PCA (i.pca) in G7: filtering and rescaling

Moritz Lennert mlennert at club.worldonline.be
Wed Dec 4 06:37:10 PST 2013


On 04/12/13 15:22, Nikos Alexandris wrote:
> Nikos Alexandris wrote:
>
>>> The i.pca module in G7 offers a "forward/filtering/backward" PCA.  I have
>>> an issue first with filtering and second with rescaling.
>
>>> 1) I can't see any differences in the derived Principal Components
>
> okay, to clarify: I mean the resulting images which, initially are Principal
> Components (synthetic images) and, after applying filtering & backward PCA,
> the resulting images approach the original data -- still they are modified.
>
>>> between percent=70 and percent=99 for 4 bands which the PCs (both centered
>>> and scaled) are:
>>>
>>> PC1      2.78 ( 0.4947, 0.5922, 0.5743, 0.2735) [69.53%]
>>> PC2      1.08 ( 0.5196, 0.0517,-0.0974,-0.8473) [26.99%]
>>> PC3      0.11 ( 0.4210, 0.2486,-0.7926, 0.3644) [ 2.86%]
>>> PC4      0.03 (-0.5551, 0.7647,-0.1805,-0.2729) [ 0.63%]
>
>>> What is filtering doing actually?  Shouldn't percent=70 just filter out
>>> the rest, somehow?
>
> Moritz Lennert wrote:
>
>> AFAIU, filtering happens after pca: pca is run on all bands, then
>> according to the filter percentage you chose inverse pca is run using
>> the principal components necessary to reach the filter percentage of
>> variance. In your example, 70% would use PC1 and 2 (unless variances is
>> rounded up) and 99% would use PC1,2,3. Any difference you see is in the
>> resulting images, not in the PCA.
>
> Sure -- I didn't (mean to) state otherwise. But, there are no differences in
> the resulting images (after PCA > Filtering > Backward PCA).  Makes sense?
> Apologies for not being very clear.

Here I see a difference:

 > r.info -r lsat7_2002_10
min=42
max=255

  > r.info -r filt.1
min=49.4097659695008
max=200.074494678242

 > r.info -r lsat7_2002_20
min=28
max=255

r.info -r filt.2
min=29.93376973921
max=204.43559249011

etc.

Moritz


More information about the grass-dev mailing list