biogeme.draws.native_draws module¶
Provides a suite of native random number generators for use in simulation-based estimation. Includes uniform, Halton, Latin Hypercube, and normal draws, with optional antithetic and symmetric variants.
Michel Bierlaire Thu Mar 27 09:46:17 2025
- biogeme.draws.native_draws.MLHS_anti(sample_size, number_of_draws)[source]¶
Generate antithetic Modified Latin Hypercube Sampling draws.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- class biogeme.draws.native_draws.RandomNumberGeneratorTuple(generator, description)[source]¶
Bases:
NamedTuple
- Parameters:
generator (Callable[[int, int], ndarray])
description (str)
-
description:
str
¶ Alias for field number 1
- classmethod from_tuple(the_tuple)[source]¶
Create a RandomNumberGeneratorTuple from a legacy tuple.
- Parameters:
the_tuple (
tuple
[Callable
[[int
,int
],ndarray
],str
]) – A tuple of (generator function, description).- Return type:
- Returns:
A RandomNumberGeneratorTuple instance.
-
generator:
Callable
[[int
,int
],ndarray
]¶ Alias for field number 0
- biogeme.draws.native_draws.convert_random_generator_tuple(the_tuple)[source]¶
Convert a random generator specification to a RandomNumberGeneratorTuple.
- Parameters:
the_tuple (
RandomNumberGeneratorTuple
|tuple
[Callable
[[int
,int
],ndarray
],str
]) – Either an instance of RandomNumberGeneratorTuple or a legacy tuple.- Return type:
- Returns:
A properly typed RandomNumberGeneratorTuple.
- biogeme.draws.native_draws.description_of_native_draws()[source]¶
Provides a dictionary of all native draw types and their descriptions.
- Return type:
dict
[str
,str
]- Returns:
Dictionary where keys are generator names and values are human-readable descriptions.
- biogeme.draws.native_draws.halton2(sample_size, number_of_draws)[source]¶
Generate Halton draws with base 2.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.halton3(sample_size, number_of_draws)[source]¶
Generate Halton draws with base 3.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.halton5(sample_size, number_of_draws)[source]¶
Generate Halton draws with base 5.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.normal_MLHS(sample_size, number_of_draws)[source]¶
Generate normal draws from Modified Latin Hypercube Sampling.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.normal_MLHS_anti(sample_size, number_of_draws)[source]¶
Generate antithetic normal draws from Modified Latin Hypercube Sampling.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.normal_antithetic(sample_size, number_of_draws)[source]¶
Generate antithetic normal random draws.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.normal_halton2(sample_size, number_of_draws)[source]¶
Generate normal draws from Halton base 2 sequence.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.normal_halton3(sample_size, number_of_draws)[source]¶
Generate normal draws from Halton base 3 sequence.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.normal_halton5(sample_size, number_of_draws)[source]¶
Generate normal draws from Halton base 5 sequence.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.symm_MLHS(sample_size, number_of_draws)[source]¶
Generate symmetric Modified Latin Hypercube Sampling draws.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.symm_MLHS_anti(sample_size, number_of_draws)[source]¶
Generate antithetic symmetric Modified Latin Hypercube Sampling draws.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.symm_halton2(sample_size, number_of_draws)[source]¶
Generate symmetric Halton draws with base 2.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.symm_halton3(sample_size, number_of_draws)[source]¶
Generate symmetric Halton draws with base 3.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.symm_halton5(sample_size, number_of_draws)[source]¶
Generate symmetric Halton draws with base 5.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.symm_uniform(sample_size, number_of_draws)[source]¶
Generate symmetric uniform random draws.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.symm_uniform_antithetic(sample_size, number_of_draws)[source]¶
Generate antithetic symmetric uniform random draws.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).
- biogeme.draws.native_draws.uniform_antithetic(sample_size, number_of_draws)[source]¶
Generate antithetic uniform random draws.
- Parameters:
sample_size (
int
) – Number of individuals or observations.number_of_draws (
int
) – Number of draws per observation.
- Return type:
ndarray
- Returns:
A NumPy array of shape (sample_size, number_of_draws).