Получение разных результатов теста между Moran.I и moran.test

#r #spatial #spatial-index #ape #spdep

#r #пространственное #пространственный индекс #ape #spdep

Вопрос:

Я попытался запустить тест I Морана для теста пространственной автокорреляции, используя функцию Moran.I из пакета ape , и moran.test из пакета spdep я получил разные результаты, применив два метода к одним и тем же данным. Итак, на данный момент, почему мы получаем такую разницу и какой наиболее эффективный метод? Смотрите следующий код:

 library(ape) #For Moran.I
library(spdep) #For moran.test
Var <- rnorm(200,1, 1)
xy<- as.data.frame(cbind(rnorm(200,0, 1), (rnorm(200,0, 1))))
colnames(xy) <-c('X','Y')
dists <- as.matrix(dist(cbind(xy$X, xy$Y)))
dists.inv <- 1/dists
diag(dists.inv) <- 0
# TEST WITH  "Moran.I"
Moran.I(Var, dists.inv, alternative = "greater")
# TEST WITH  "moran.test"
lw <- mat2listw(dists.inv)
moran.test(Var, lw)
 

Комментарии:

1. Если вы посмотрите документацию для Moran.I и moran.test вы увидите, что у них разные значения по умолчанию для альтернативы.

2. @IanCampbell спасибо, даже когда я меняю альтернативу Moran. Я больше, чем moran.test Я все еще получаю разные результаты (см. Мой обновленный пост).

Ответ №1:

Два метода возвращают один и тот же результат, если вы укажете аргумент style = "W" mat2listw .

Как показано ниже: mi$observed имеет то же значение, mt2$estimate[1] что и .

 library(broom) # to tidy output of moran.test

mi <- Moran.I(Var, dists.inv, alternative = "greater")
mt1 <- moran.test(Var, mat2listw(dists.inv))
mt2 <- moran.test(Var, mat2listw(dists.inv, style = "W"))

str(mi)
List of 4
 $ observed: num -0.0184
 $ expected: num -0.00503
 $ sd      : num 0.0106
 $ p.value : num 0.896


tidy(mt1)

# A tibble: 1 x 7
  estimate1 estimate2 estimate3 statistic p.value method                           alternative
      <dbl>     <dbl>     <dbl>     <dbl>   <dbl> <chr>                            <chr>      
1   -0.0167  -0.00503  0.000199    -0.829   0.796 Moran I test under randomisation greater    

tidy(mt2)

# A tibble: 1 x 7
  estimate1 estimate2 estimate3 statistic p.value method                           alternative
      <dbl>     <dbl>     <dbl>     <dbl>   <dbl> <chr>                            <chr>      
1   -0.0184  -0.00503  0.000112     -1.26   0.896 Moran I test under randomisation greater    
 

Комментарии:

1. Большое вам спасибо за эту информацию. Извините за мой глупый вопрос, но в чем разница между стилями «M» и «W»?

2. Не моя область, но это связано с тем, как вычисляются веса. Смотрите Документацию для nb2listw . Пожалуйста, проголосуйте за и / или примите ответ, если он решит вашу проблему.