I'm looking at patterns of soil pollution over a specific site. I measured soil pollution in different plots across my site. I then performed a Principal Component Analysis to extract a composite axis of variation in pollution and I followed that by extracting the row coordinates of the samples (i.e le principal component) on this first axis. From the values of the samples on the PCA axis1, I used an interpollation method to model soil pollution overall the site. Now I would like to calculate the least cost distance between points that are spread across the site according to the map I just created.

Here comes my problem: The values of each pixel of the raster correspond to the value interpolated from the PCA and they are spread from -6 to 5. However, when I try to build the transition matrice I get a warning "transition function gives negative values".

  • You will never be able to disentangle the resulting least cost paths from interpolation bias and artifacts. You are also drawing considerable inference from a PCA that could represent a nonlinear process (especially since the assumption is that it represents a spatial process). In inference, PCA assumes a linear correlation structure, which is likely violated here. You may want to try a kPCA but, in all honesty, I would revisit assumptions regarding your entire methodology. At the very least, use a polynomial as your interpolation method as, this will not assume underlying spatial structure. – Jeffrey Evans Mar 22 '18 at 16:56

Difficult to say without a dataset to look at. But my guess would be to standardize your PCA dataset. That will get rid of the initial negative values while retaining the integrity of the original set. I'm not sure if that will solve your problem, but at least you can test it and see what response you get.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.