Description Usage Arguments Details Value See Also Examples
Generate random points according to the posterior probability distribution of the number of individuals in the hierarchical model at arbitrary time instants.
1 2 3 |
n |
number of values to generate |
nMNOmat |
transition matrix with the number of individuals displaced from cell to cell detected by the Mobile Network Operator |
nReg |
non-negative integer vectors with the number of individuals detected in each cell according to the network operator and the register |
fu, |
fv named lists with the prior marginal distributions of the two-dimensional points for the Monte Carlo integration |
flambda |
named list with the prior distribution of the lambda parameter |
distNames |
character vector with the names of the prior distributions for each cell |
variation |
list of lists whose components are parameters providing a measure of variation of each prior distribution |
scale |
numeric vector with the scale to count the number of individuals. Default value is 1 |
relTol |
relative tolerance in the computation of the |
nSim |
number of two-dimensional points to generate to compute the integral. Default value
is |
nStrata |
integer vector of length 2 with the number of strata in each dimension. Default
value is |
verbose |
logical (default |
nThreads |
number (default the number of all cores, including logical cores) to use for computation |
The posterior distribution is a Poisson distribution with parameter lambda *
scale
, where the values of lambda
are generated with the function rlambda
.
The prior distributions are specified as named lists where the first component of each list must be the name of distribution ('unif', 'triang', 'degen', 'gamma') and the rest of components must be named according to the name of the parameters of the random generator of the corresponding distribution according to:
unif: xMin
, xMax
for the minimum, maximum of the sampled interval.
degen: x0
for the degenerate value of the random variable.
triang: xMin
, xMax
, xMode
for minimum, maximum and mode (see
qtriang
).
gamma: scale
and shape
with the same meaning as in rgamma
.
rNt
generates n
points according to the posterior distribution. The
function returns a data.table with these points (under the column N0
)
together with the additional variables:
The common length of nMNO
and nReg
identifies the number of territorial
cells in which the number of individuals detected by the telecommunication network and
official data. The column cellID
identifies these territorial cells.
The different values of the generated values of lambda are returned under the column
lambda
.
The inputs nMNO
and nReg
are also included in the output
data.table in columns under the same name.
rlambda
, rg
, rNt
for related functions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ## First, the inputs:
# The number of generated values
n <- 1e3
#The transition matrix of individuals detected by the MNO
nMNOmat <- rbind(c(10, 3, 4), c(5, 21, 3), c(3, 9, 18))
# Population at the initial time of each cell according to the population register
nReg <- c(90, 130, 101)
# List of priors for u
u0 <- rowSums(nMNOmat) / nReg
cv_u0 <- 0.15
fu <- lapply(u0, function(u){
umin <- max(0, u - cv_u0 * u)
umax <- min(1, u + cv_u0 * u)
output <- list('unif', xMin = umin, xMax = umax)
return(output)
})
# List of priors for v
v0 <- nReg
cv_v0 <- 0.10
fv <- lapply(v0, function(u){
umin <- max(0, u - cv_v0 * u)
umax <- u + cv_v0 * u
output <- list('unif', xMin = umin, xMax = umax)
return(output)
})
# List of priors for lambda
cv_lambda <- 0.6
alpha <- 1 / cv_lambda**2 - 1
flambda <- lapply(v0, function(v){list('gamma', shape = 1 + alpha, scale = v / alpha)})
# Names and parameters of priors for the transition probabilities
distNames <- rep('unif', 3)
variation <- rep(list(list(cv = 0.20)), 3)
# The output
Nt <- rNt(n, nMNOmat, nReg, fu, fv, flambda, distNames, variation)$N
hist(Nt, breaks = seq(1, max(Nt) + 10, by = 1), main ='', xlab = 'number of individuals')
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.