Mais conteúdo para MC.

parent 66ac9f2b
#=======================================================================
# Testes de hipótese Monte Carlo.
#-----------------------------------------------------------------------
# Teste para independência de processo pontual.
plot(NULL, NULL, xlim = c(0, 1), ylim = c(0, 1), asp = 1)
lines(x = c(0, 1, 1, 0, 0), y = c(0, 0, 1, 1, 0))
plot(xy,
NULL,
xlim = c(0, 1),
ylim = c(0, 1),
asp = 1,
axes = FALSE,
ann = FALSE)
lines(x = c(0, 1, 1, 0, 0),
y = c(0, 0, 1, 1, 0))
# xy <- locator(n = 20, type = "p", pch = 19)
# dput(lapply(xy, round, digits = 3))
......@@ -21,10 +31,17 @@ xy <- structure(list(x = c(0.204, 0.186, 0.529, 0.529, 0.385, 0.579,
# Transforma a lista em matriz.
xy <- do.call(cbind, xy)
plot(xy, NULL, xlim = c(0, 1), ylim = c(0, 1), asp = 1)
lines(x = c(0, 1, 1, 0, 0), y = c(0, 0, 1, 1, 0))
# Calcula todas as distâncias (euclidianas).
plot(xy,
NULL,
xlim = c(0, 1),
ylim = c(0, 1),
asp = 1,
axes = FALSE,
ann = FALSE)
lines(x = c(0, 1, 1, 0, 0),
y = c(0, 0, 1, 1, 0))
# Calcula todas as distâncias (euclidianas) entre pontos.
d <- dist(xy)
d
......@@ -52,7 +69,7 @@ abline(v = m, col = 2)
2 * sum(M > m)/length(M)
#-----------------------------------------------------------------------
# Moficando a estatística de teste.
# ATTENTION: dados um tanto patológicos.
xy <- structure(list(x = c(0.088, 0.326, 0.577, 0.846, 0.857, 0.568,
0.306, 0.077, 0.077, 0.328, 0.597, 0.883,
......@@ -67,8 +84,51 @@ xy <- structure(list(x = c(0.088, 0.326, 0.577, 0.846, 0.857, 0.568,
# Transforma a lista em matriz.
xy <- do.call(cbind, xy)
plot(xy, NULL, xlim = c(0, 1), ylim = c(0, 1), asp = 1)
lines(x = c(0, 1, 1, 0, 0), y = c(0, 0, 1, 1, 0))
plot(xy,
NULL,
xlim = c(0, 1),
ylim = c(0, 1),
asp = 1,
axes = FALSE,
ann = FALSE)
lines(x = c(0, 1, 1, 0, 0),
y = c(0, 0, 1, 1, 0))
#-----------------------------------------------------------------------
# Modificando a estatística de teste 1.
# A soma das menores distâncias entre vizinhos mais próximos.
d <- dist(xy)
D <- as.matrix(d)
diag(D) <- Inf
apply(D, MARGIN = 2, FUN = min)
m <- sum(apply(D, MARGIN = 2, FUN = min))
# Número de pontos.
n <- nrow(xy)
# Geração de estatísticas por simulação do modelo assumido sob
# hipótese nula.
M <- replicate(9999, {
d <- dist(cbind(x = runif(n), y = runif(n)))
D <- as.matrix(d)
diag(D) <- Inf
sum(apply(D, MARGIN = 2, FUN = min))
})
# Concatena as estatísticas simuladas com a observada.
M <- c(m, M)
# Gráfico da distribuição acumulada empírica.
plot(ecdf(M))
abline(h = c(0.025, 0.975), lty = 2)
abline(v = m, col = 2)
# P-valor.
2 * sum(M > m)/length(M)
#-----------------------------------------------------------------------
# Moficando a estatística de teste 2.
# Todas as distância entre os pontos (a estatística de teste é um vetor
# e não um escalar).
......@@ -90,6 +150,9 @@ for (i in 2:ncol(D)) {
}
lines(ecdf(D[, 1]), cex = 0, col = 2, lwd = 2)
#=======================================================================
# Avaliação de métodos de amostragem ou delineamentos.
#-----------------------------------------------------------------------
# Amostragem por Conjuntos Ordenados.
......@@ -162,3 +225,23 @@ qqmath(~m1 + m2 + m3,
layout = c(NA, 1))
#-----------------------------------------------------------------------
# Criando um grid de rho.
rho_grid <- seq(0, 0.95, by = 0.05)
res <- lapply(rho_grid,
FUN = function(rho) {
replicate(500, rssur(m = 10, rho = rho))
})
str(res)
n <- length(res[[1]])
res <- do.call(c, res)
res <- data.frame(rho = rep(rho_grid, each = n), valor = res)
str(res)
densityplot(~valor | rho, data = res) +
layer(panel.abline(v = 0, lty = 2))
#-----------------------------------------------------------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment