run_law | R Documentation |
This function estimates mobility flows using different distribution laws and models. As described in Lenormand et al. (2016), the function uses a two-step approach to generate mobility flows by separating the trip distribution law (gravity or intervening opportunities) from the modeling approach used to generate the flows based on this law. This function only uses the first step to generate a probability distribution based on the different laws.
run_law(
law = "Unif",
mass_origin,
mass_destination = mass_origin,
distance = NULL,
opportunity = NULL,
param = NULL,
check_names = FALSE
)
law |
A |
mass_origin |
A |
mass_destination |
A |
distance |
A squared |
opportunity |
A squared |
param |
A |
check_names |
A |
We compute the matrix proba
estimating the probability to observe a
trip from one location to another. This probability is based on the demand
(argument mass_origin
) and the attractiveness (argument
mass_destination
). Note that the population is typically used as a
surrogate for both quantities (this is why mass_destination = mass_origin
by default). It also depends on the distance between locations
(argument distance
) OR the number of opportunities between locations
(argument opportunity
) depending on the chosen law. Both the effect of the
distance and the number of opportunities can be adjusted with a parameter
(argument param
) except for the original radiation law and the uniform law.
In this package we consider eight probabilistic laws described in details in Lenormand et al. (2016). Four gravity laws (Barthelemy, 2011), three intervening opportunity laws (Schneider, 1959; Simini et al., 2012; Yang et al., 2014) and a uniform law.
Gravity law with an exponential distance decay function
(law = "GravExp"
). The arguments mass_origin
, mass_destination
(optional), distance
and param
will be used.
Normalized gravity law with an exponential distance decay function
(law = "NGravExp"
). The arguments mass_origin
, mass_destination
(optional), distance
and param
will be used.
Gravity law with a power distance decay function
(law = "GravPow"
). The arguments mass_origin
, mass_destination
(optional), distance
and param
will be used.
Normalized gravity law with a power distance decay function
(law = "NGravPow"
). The arguments mass_origin
, mass_destination
(optional), distance
and param
will be used.
Schneider's intervening opportunities law (law = "Schneider"
). The
arguments mass_origin
, mass_destination
(optional), opportunity
and
param
will be used.
Radiation law (law = "Rad"
). The arguments mass_origin
,
mass_destination
(optional) and opportunity
will be used.
Extended radiation law (law = "RadExt"
). The arguments mass_origin
,
mass_destination
(optional), opportunity
and param
will be used.
Uniform law (law = "Unif"
). The argument mass_origin
will be used to
extract the number of locations.
An object of class TDLM
. An object of class TDLM
. A list
of list
of
matrice containing for each parameter value the matrix of probabilities
(called proba
). If length(param) = 1
or law = "Rad"
or law = "Unif"
only a list of matrices will be returned.
All inputs should be based on the same number of
locations, sorted in the same order. It is recommended to use the location ID
as matrix
rownames
and matrix
colnames
and to set
check_names = TRUE
to verify that everything is consistent before running
this function (check_names = FALSE
by default). Note that the function
check_format_names()
can be used to validate all inputs
before running the main package's functions.
Maxime Lenormand (maxime.lenormand@inrae.fr)
Barthelemy M (2011). Spatial Networks. Physics Reports 499, 1-101.
Lenormand M, Bassolas A, Ramasco JJ (2016) Systematic comparison of trip distribution laws and models. Journal of Transport Geography 51, 158-169.
Schneider M (1959) Gravity models and trip distribution theory. Papers of the regional science association 5, 51-58.
Simini F, González MC, Maritan A & Barabási A (2012) A universal model for mobility and migration patterns. Nature 484, 96-100.
Yang Y, Herrera C, Eagle N & González MC (2014) Limits of Predictability in Commuting Flows in the Absence of Data for Calibration. Scientific Reports 4, 5662.
For more details illustrated with a practical example, see the vignette: https://rtdlm.github.io/TDLM/articles/TDLM.html#run-functions.
Associated functions:
run_law_model()
, run_model()
, gof()
.
data(mass)
data(distance)
mi <- as.numeric(mass[, 1])
mj <- mi
res <- run_law(
law = "GravExp", mass_origin = mi, mass_destination = mj,
distance = distance, opportunity = NULL, param = 0.01,
check_names = FALSE
)
# print(res)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.