Initial data set
# grid
nx = c(100, 100)
dx = 1/nx
x0 = c(0., 0.)
grd = DbGrid_create(nx = nx, dx = dx, x0 = x0)
# neighborhood
neigh = NeighMoving_create(nmaxi = 50, nmini = 10, radius = 1.0)
# model
rho = 0.7
c0 = matrix(c(1.0, rho, rho, 1), nrow = 2, ncol = 2)
mod = Model_createFromParam(type = ECov_EXPONENTIAL(), range = 0.1, sills = c0)
err = mod$setMeans(c(100, 0))
# Initial simulation
err = simtub(dbin = NULL, dbout = grd, model = mod, nbsimu = 1,
namconv = NamingConvention("Y"))
err = grd$setName("Y.1", "Z1")
err = grd$setName("Y.2", "Z2")
knitr::kable(dbStatisticsMono(grd, names = "Z*", opers = opers, flagIso = FALSE)$toTL(),
digits = 3,
caption = "Statistics on the initial simulations")
Statistics on the initial simulations
Z1 |
10000 |
96.240 |
103.796 |
100.056 |
1.035 |
Z2 |
10000 |
-3.893 |
4.364 |
-0.080 |
0.994 |
print(paste0("Correlation = ", round(cor(grd["Z1"], grd["Z2"]), 3)))
## [1] "Correlation = -0.692"
Deriving a heterotopic data base
np = 200
dat = Db_createSamplingDb(db = grd, number = np, names = c("x1", "x2", "Z1", "Z2"),
seed = 123)
# discarding 1/4 of the initial data on Z1
sel = sort(sample(1:np, np/4, replace = FALSE))
Z1 <- dat["Z1"]
Z1[sel] <- NaN
dat["Z1.heterotopic"] <- Z1
# discarding 1/5 of the initial data on Z2
sel = sort(sample(1:np, np/5, replace = FALSE))
Z2 <- dat["Z2"]
Z2[sel] <- NaN
dat["Z2.heterotopic"] <- Z2
knitr::kable(dbStatisticsMono(dat, names = "Z*.heterotopic", opers = opers,
flagIso = FALSE)$toTL(), digits = 3,
caption = "Statistics on the heterotopic data set")
Statistics on the heterotopic data set
Z1.heterotopic |
150 |
97.698 |
102.954 |
100.087 |
1.021 |
Z2.heterotopic |
160 |
-2.599 |
2.103 |
-0.044 |
0.992 |
knitr::kable(dbStatisticsMono(dat, names = "Z*.heterotopic", opers = opers,
flagIso = TRUE)$toTL(), digits = 3,
caption = "Statistics on the homotopic sub set")
Statistics on the homotopic sub set
Z1.heterotopic |
125 |
97.698 |
102.954 |
100.129 |
1.028 |
Z2.heterotopic |
125 |
-2.599 |
2.103 |
-0.054 |
1.021 |
Conditional simulations
- with homotopic data set
err = dat$setLocators(names = paste(c("Z1", "Z2"), sep = "."),
locatorType = ELoc_Z(), cleanSameLocator = TRUE)
err = simtub(dbin = dat, dbout = grd, model = mod, neigh = neigh, nbsimu = 1,
seed = 2597,
namconv = NamingConvention("homotopic"))
# statistics
knitr::kable(
rbind(
dbStatisticsMono(grd, names = paste0("homotopic*"), opers = opers,
flagIso = FALSE)$toTL()
), digits = 4, caption = "Statistics on simulated data"
)
Statistics on simulated data
homotopic.Z1 |
10000 |
95.8723 |
103.4425 |
100.0238 |
1.0003 |
homotopic.Z2 |
10000 |
-3.2258 |
3.6165 |
0.0544 |
0.9683 |
# histogram and base map
p1 = ggDefault() + plot.hist(grd, name = "homotopic.Z1")
p2 = ggDefault() + plot.hist(grd, name = "homotopic.Z2")
p3 = ggDefault() + plot.grid(grd, nameRaster = "homotopic.Z1", palette = "Spectral",
flagLegendRaster = TRUE, legendNameRaster = "Z1")
p4 = ggDefault() + plot.grid(grd, nameRaster = "homotopic.Z2", palette = "Spectral",
flagLegendRaster = TRUE, legendNameRaster = "Z2")
ggarrange(p1, p2, p3, p4, nrow = 2, ncol = 2)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
- with heterotopic data set
err = dat$setLocators(names = paste(c("Z1", "Z2"), "heterotopic", sep = "."),
locatorType = ELoc_Z(), cleanSameLocator = TRUE)
err = simtub(dbin = dat, dbout = grd, model = mod, neigh = neigh, nbsimu = 1,
seed = 2597,
namconv = NamingConvention("heterotopic"))
# statistics
knitr::kable(
rbind(
dbStatisticsMono(grd, names = paste0("heterotopic*"), opers = opers,
flagIso = FALSE)$toTL()
), digits = 4, caption = "Statistics on simulated data"
)
Statistics on simulated data
heterotopic.Z1.heterotopic |
10000 |
96.0081 |
103.5257 |
99.9908 |
1.0449 |
heterotopic.Z2.heterotopic |
10000 |
-3.3506 |
3.6063 |
0.0156 |
0.9861 |
# histogram and base map
p1 = ggDefault() + plot.hist(grd, name = "heterotopic.Z1.heterotopic")
p2 = ggDefault() + plot.hist(grd, name = "heterotopic.Z2.heterotopic")
p3 = ggDefault() + plot.grid(grd, nameRaster = "heterotopic.Z1.heterotopic",
palette = "Spectral",
flagLegendRaster = TRUE, legendNameRaster = "Z1")
p4 = ggDefault() + plot.grid(grd, nameRaster = "heterotopic.Z2.heterotopic",
palette = "Spectral",
flagLegendRaster = TRUE, legendNameRaster = "Z2")
ggarrange(p1, p2, p3, p4, nrow = 2, ncol = 2)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.