Mais

Teste de significância para I de Moran usando Simulação de Monte Carlo?

Teste de significância para I de Moran usando Simulação de Monte Carlo?


Calculei os resíduos para o meu modelo e medi o I de Moran para os resíduos do modelo.

Como posso determinar pragmaticamente a importância do I de Moran usando a simulação de Monte Carlo?


Pedir uma "simulação de Monte Carlo" é o mesmo que pedir para determinar o significado usando a multiplicação: como a multiplicação, Monte Carlo é meramente uma técnica computacional. Assim, primeiro temos que descobrir que é que deveríamos estar computando.

Eu gostaria de sugerir considerar um teste de permutação. A hipótese nula é que os dados foram determinados e então atribuídos às suas localizações espaciais aleatoriamente. A alternativa é que a atribuição a cada local dependesse (de alguma forma) da atribuição nos vizinhos daquele local. A distribuição de algum medida de autocorrelação espacial pode ser obtida através da construção tudo atribuições possíveis. O teste de permutação não randomiza os possíveis conjuntos de valores de dados - ele os considera dados - mas condicional sobre os dados observados, considera todas as formas possíveis de reatribuí-los aos locais.

Essa reatribuição é um permutação. Para n pontos de dados, existem n! = n * (n-1) * (n-2) *… * (2) * (1) permutações. Para n muito maior do que 10 ou mais, isso é muito para gerar. Geralmente, também não existe uma expressão analítica simples para a distribuição de permutação completa. Conseqüentemente, normalmente recorremos à amostragem do conjunto de todas as permutações aleatoriamente, dando a todas elas o mesmo peso. A distribuição da estatística de autocorrelação em uma amostra suficientemente grande (geralmente envolvendo pelo menos 500 permutações) se aproxima da distribuição verdadeira. Esta é a parte "Monte Carlo" do cálculo.

No caso do I de Moran, um grande valor positivo é evidência de correlação positiva e um grande valor negativo é evidência de correlação negativa. Você pode testar um ou ambos localizando o valor real de I (para os dados conforme observado) dentro da distribuição de permutação. O valor p é a proporção da distribuição de permutação (Incluindo o valor observado de I) que é mais extremo do que a estatística observada.

Os exemplos a seguir ilustram. Em ambos, foram gerados dados em uma grade 5 por 8. Os pesos são proporcionais a 1 para células que compartilham um lado, a sqrt (1/2) = 0,7071 para células que compartilham apenas um canto e a 0 caso contrário. A coluna da esquerda mapeia os dados (amarelo é mais alto do que vermelho); a coluna do meio mostra histogramas dos dados; e a coluna da direita exibe a distribuição de permutação estimada do I de Moran (usando uma amostra de 10.000). As linhas verticais pontilhadas vermelhas mostram os valores reais do I de Moran nos dados.

No caso de dados produzidos por um mecanismo que induz alguma autocorrelação (a linha superior), esse valor está próximo dos extremos superiores da distribuição: apenas 4,53% o igualam ou excedem. Freqüentemente, isso seria considerado uma evidência significativa de autocorrelação positiva. No caso de dados gerados com um mecanismo puramente aleatório (a linha inferior), o I de Moran está próximo ao meio da distribuição (quase exatamente em seu valor médio de -1/39 = -0,026). Ninguém confundiria isso com um resultado significativo. Nestes exemplos, então, o teste de permutação está funcionando como pretendido.

Observe a distribuição altamente enviesada dos dados autocorrelacionados. Isso foi feito intencionalmente. Esses dados distorcidos não estão de acordo com as suposições (implícitas) usadas para justificar as interpretações padrão do I. de Moran (A distribuição nula distorcida atesta isso: as interpretações padrão presumem que não haja distorção alguma.) É precisamente nesses casos que o o teste de permutação produz resultados mais confiáveis ​​do que um teste "enlatado" baseado na referência de um "escore Z" a uma distribuição Normal.

Para testar os resíduos do modelo, em cada iteração você normalmente permutaria os resíduos, reajustaria o modelo e calcularia o I de Moran a partir desses novos resíduos.


Referências

Phillip Good, Testes de Permutação, Paramétricos e Bootstrap de Hipóteses. Terceira edição (2005), Springer.


Os seguintesRcódigo gerou os exemplos. Não se destina ao trabalho de produção: é ineficiente na geração da matriz de pesos e altamente ineficiente em termos de espaço no armazenamento. (Sua vantagem é que ele calcula I de Moran rapidamente, uma vez que os pesos foram determinados, o que é ideal para um teste de permutação porque os pesos nunca mudam.)

# # Moran's I # https://en.wikipedia.org/wiki/Moran's_I # # Locais de dados. # x <- 1: 8 # coordenadas x dos pontos y <- 1: 5 # coordenadas y dos pontos # # Matriz de pesos. # ind <- expand.grid (i = 1: comprimento (x), j = 1: comprimento (y)) f <- função (i, j) {u <- min (3, soma (abs (ind [i ,] - ind [j,]))) c (0, 1, sqrt (1/2), 0) [u + 1]} w <- matriz (0,0, nrow (ind), nrow (ind)) para (i em 1: nrow (ind)) for (j em 1: nrow (ind)) w [i, j] <- f (i, j) w <- w / sum (w) # # I. de Moran moran <- função (x, pesos) {n <- comprimento (x) z <- as.vetor ((x - média (x)) / sd (x)) as.vetor (z% *% pesos% *% (z * sqrt (n / (n-1))))} # # Teste de permutação (incluindo um gráfico). # ppt <- função (z, w, N = 1e4,…) {stat <- moran (z, w) sim <- replicar (N, moran (amostra (z, comprimento (z)), w)) p. valor <- média ((todos <- c (stat, sim))> = stat) hist (sim, sub = paste ("p =", arredondado (p.value, 4)), xlim = intervalo (todos), …) Abline (v = stat, col = "# 903030", lty = 3, lwd = 2) return (p.value)} # # Observações simuladas. # set.seed (17) par (mfrow = c (2,3)) # Induzir autocorrelação por meio de uma tendência subjacente. z <- matriz (rexp (comprimento (x) * comprimento (y), exterior (x, y ^ 2)), comprimento (x)) imagem (log (z), principal = "Dados autocorrelacionados") hist (z) ppt (z, w, main = "Distribuição nula do I de Moran", xlab = "I") # Gerar dados independentemente da localização. z <- matriz (rnorm (comprimento (x) * comprimento (y), 0, 1/2), comprimento (x)) imagem (z, principal = "Dados não correlacionados") hist (z) ppt (z, w, main = "Distribuição nula do I de Moran", xlab = "I")

Assista o vídeo: #04 - Passo a passo para fazer Testes de Hipóteses