Hi all,

Followup on my questions concerning R + spdep:

I used dnearneigh() instead of knearneigh() to get the point point relationships I wanted.

The old version looked like this:

http://users.pandora.be/requested/thesis/oldconnections.png

notice the sparse connection pattern between the points, certainly in the centre.

I used dnearneight() to change this into this:

http://users.pandora.be/requested/thesis/connections.png

so the center points get more connections/interactions.

all ok, for the weights... but as before the weights are relative to the connection and not to the distance and the connection. A consequence from a binary spatial connectivity matrix I presume. nbdists() gives me a matix of all the distances in the neighbourhood directions but I can't use them to be a relative measure to convert the old weights into distance weighted ones.

Question is, what's the influence of this on the final result?

Old results:

Moran's I test under normality

Moran I statistic standard deviate = 0.2911, p-value = 0.771
alternative hypothesis: two.sided
sample estimates:
Moran I statistic       Expectation          Variance
       -0.03762590       -0.08333333        0.02464896

New results with the same data and a new weights matrix:

data:  a1$data
weights: a1.listw

Moran's I test under normality

Moran I statistic standard deviate = 0.3303, p-value = 0.7412
alternative hypothesis: two.sided
sample estimates:
Moran I statistic       Expectation          Variance
      -0.03703572       -0.08333333        0.01964896

Moran's I test under randomisation

Moran I statistic standard deviate = 0.3305, p-value = 0.741
alternative hypothesis: two.sided
sample estimates:
Moran I statistic       Expectation          Variance
      -0.03703572       -0.08333333        0.01962520

Monte-Carlo simulation of Moran's I

number of simulations + 1: 1000

statistic = -0.037, observed rank = 673, p-value = 0.327
alternative hypothesis: greater

You can see that the p-value drops over normal, random to the MC simulation.
But I don't come to a significant difference between the statistic and the expected value. I think I can conclude that in this case there is a slight to zero spatial autocorrelation between samples and this could as well been a set of data sampled at random in this particular plot.


Just for the record: I don't see the difference between what is done in the test under randomisation and the test using MC simulation.

As I may quote:

"With a Monte Carlo test the significance of an observed test statistic is assessed by comparing it with as a sample of test statistics obtained by generating random samples using some assumed model. If the assumed model implies that all data orderings are equally likely then this amounts to a randomisation test with random sampling of the randomisation distribution" - "Brian F. J. Manly - Randomization, bootstrap and monte carlo methods in biology"

But this last one is something for the people who wrote the code I think.

Any comments, would be appreciated... It's uncharted territory for me so..

Best regards,

Koen.

------- Forwarded message -------
From: Roger Bivand <[EMAIL PROTECTED]>
To: Koen Hufkens <[EMAIL PROTECTED]>
Subject: Re: AI-GEOSTATS: Moran's I
Date: Sun, 14 Mar 2004 17:43:53 +0100 (CET)

On Sun, 14 Mar 2004, Koen Hufkens wrote:

Hi list,

I have some coding and theoretical questions regarding the Moran's I index
and the R + spdep packages.


- To illustrate the situation of the sampling plot:

http://users.pandora.be/requested/thesis/a1grid.gif
(coordinates in lat lon projection, point size representative for sample
value)

- The data distribution:

http://users.pandora.be/requested/thesis/hista1.gif
(haven't tested for normality yet)

First, thanks for including links to your figures, makes helping easier.


=> My method to get my Moran's I index in R + spdep:

a1.knn <- knearneigh(a1$coords, k=4, lonlat=TRUE)
#with a1$coords the latlon coords out of a geoR geodata file

a1.nb <- knn2nb(a1.knn)
# conversion to nb object

a1.listw <- nb2listw(a1.nb)
# conversion to listw object, requested for moran.test()

Note that you have called nb2listw() with the default style, which is
row-standardised ("W") - so with 4 neighbours for each object, all thw
weights will be 1/4. With style="B", the weights would all be 1. This
isn't a full analogy of a rook pattern, because those around the edges
will already be queen style or more. Look at plot(a1.nb, a1$coords) to see
this.



results <- moran.test(a1$data, a1.listw, randomization=FALSE, alternative="two.sided")

The results show the following statistics:

> moran.test(a1$data, a1.listw, randomisation=FALSE,
> alternative="two.sided")

Moran's I test under normality

data:  a1$data
weights: a1.listw

Moran I statistic standard deviate = 0.2911, p-value = 0.771
alternative hypothesis: two.sided
sample estimates:
Moran I statistic       Expectation          Variance
       -0.03762590       -0.08333333        0.02464896

With a Moran's I of -0.04 and a p-value of 0.771 I would say this isn't
much of a statistic or not exactly what I expected.

Well, looking at your figure (just eyeballing), there are quite a lot of
big/small neighbours as well as small/small and big/big. Did you try
looking at a Moran scatterplot to get a feel for what is going on?
moran.plot() is the function to try. I think you'll see that all four
quadrants of the plot have observations, leading to a very flat and
non-significant relationships. Maybe this is because the k-nearest
neighbours weights are not reflecting what you want - could you try using
dnearneigh() for the appropriate number of km instead, or use edit.nb() to
cut out the possibly disturbing long links?


I would think that since I evaluate ecological/biophysical paramters it
wouldn't be possible to get negative correlations since in vegetations
there is always some kind of autocorrelation involved. It could be just a
little but certainly not negative.

Note that it is still greater than its expectation (which shows that you only have the 13 observations shown on the figure), but with the variance you have is not significantly different from its expectation. Why did you use normality rather than randomisation (or Monte Carlo)? With so few observations, this may be an issue.


Strange thing is that I get the same weights in my weights class of my a1.listw file

Explained above - this was what you asked for. For distance weighted see
nbdists(), though your points are regularly spaced.

> a1.listw$weights
[[1]]
[1] 0.25 0.25 0.25 0.25

[[2]]
[1] 0.25 0.25 0.25 0.25

[[3]]
[1] 0.25 0.25 0.25 0.25
...

I think it has something to do with the k-value in knearneigh(), but even
if I change it to 8 (changing from bishops/rooks to queens case?) they
stay the same. Any idea why this is the case?


So maybe the strange statistics could be a problem of a faulty weights
matrix. So if you have any comments on the code/method used it would be
appreciated.

Best regards,
Koen.

--
* To post a message to the list, send it to [EMAIL PROTECTED]
* As a general service to the users, please remember to post a summary of any useful responses to your questions.
* To unsubscribe, send an email to [EMAIL PROTECTED] with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
* Support to the list is provided at http://www.ai-geostats.org






-- Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

--
* To post a message to the list, send it to [EMAIL PROTECTED]
* As a general service to the users, please remember to post a summary of any useful 
responses to your questions.
* To unsubscribe, send an email to [EMAIL PROTECTED] with no subject and "unsubscribe 
ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND 
Subscribe/Unsubscribe requests to the list
* Support to the list is provided at http://www.ai-geostats.org

Reply via email to