skneuromsi.mle._alais_burr2004 module
- class skneuromsi.mle._alais_burr2004.AlaisBurr2004(*, mode0='auditory', mode1='visual', position_range=(-20, 20), position_res=0.01, time_range=(1, 1), time_res=1, seed=None)[source]
Bases:
SKNMSIMethodABCOptimal bimodal estimator model of Alais and Burr (2004).
This model estimates multisensory integration by combining unisensory estimates with weights derived from the standard deviations of sensory modalities. It follows the Near-optimal Bimodal Integrator model described in Alais and Burr (2004) for integrating auditory and visual information.
References
Notes
The Near-optimal Bimodal Integrator for visual (V) and auditory (A) signals can be computed as:
\[\hat{S}_{VA} = w_{V} \hat{S}_{V} + w_{A} \hat{S}_{A}\]where \(\hat{S}_{V}\) and \(\hat{S}_{A}\) are unimodal auditory and visual estimates, respectively, and \(\hat{S}_{VA}\) is the multimodal estimate.
In addition, \(w_{A}\) and \(w_{V}\) are the relative weights for each modality, defined as:
\[\begin{split}w_{A} = \frac{\sigma_{V}^{2}}{\sigma_{A}^{2} + \sigma_{V}^{2}} \\ w_{V} = \frac{\sigma_{A}^{2}}{\sigma_{V}^{2} + \sigma_{A}^{2}}\end{split}\]where \(\sigma_{A}\) and \(\sigma_{V}\) are the standard deviations (or square roots of the variances) of each unimodal stimuli, respectively.
These equations show that the optimal multisensory estimate combines the unisensory estimates weighted by their normalized reciprocal variances.
- property mode0
Returns the name of the first sensory modality.
- Returns:
The name of the first sensory modality.
- Return type:
str
- property mode1
Returns the name of the second sensory modality.
- Returns:
The name of the second sensory modality.
- Return type:
str
- property time_range
Returns the range of time considered for estimation.
Not used in this implementation.
- Returns:
The range of time. E.g., (0, 100).
- Return type:
tuple of float
- property time_res
Returns the resolution of time considered for estimation.
Not used in this implementation.
- Returns:
The resolution of time. E.g., 0.01.
- Return type:
float
- property position_range
Returns the range of positions considered for estimation.
- Returns:
The range of positions. E.g., (-20, 20).
- Return type:
tuple of float
- property position_res
Returns the resolution of positions considered for estimation.
- Returns:
The resolution of positions. E.g., 0.01.
- Return type:
float
- unisensory_estimator(unisensory_sigma, unisensory_position, possible_locations)[source]
Estimates the unisensory probability density function.
- Parameters:
unisensory_sigma (float) – The standard deviation of the sensory modality.
unisensory_position (float) – The position estimate of the sensory modality.
possible_locations (numpy.ndarray) – The array of possible positions to evaluate.
- Returns:
The estimated probability density function for the given sensory modality.
- Return type:
numpy.ndarray
- weight_calculator(target_sigma, reference_sigma)[source]
Calculates the weight of a sensory modality.
- Parameters:
target_sigma (float) – The standard deviation of the target sensory modality.
reference_sigma (float) – The standard deviation of the reference sensory modality.
- Returns:
The weight of the target sensory modality.
- Return type:
float
- multisensory_estimator(unisensory_position_a, unisensory_position_b, unisensory_weight_a, unisensory_weight_b, multisensory_sigma, possible_locations)[source]
Estimates the multisensory probability density function.
- Parameters:
unisensory_position_a (float) – The position estimate of the first sensory modality.
unisensory_position_b (float) – The position estimate of the second sensory modality.
unisensory_weight_a (float) – The weight of the first sensory modality.
unisensory_weight_b (float) – The weight of the second sensory modality.
multisensory_sigma (float) – The standard deviation of the multisensory estimate.
possible_locations (numpy.ndarray) – The array of possible positions to evaluate.
- Returns:
The estimated multisensory probability density function.
- Return type:
numpy.ndarray
- set_random(rng)[source]
Sets the random number generator.
- Parameters:
rng (numpy.random.Generator) – The random number generator to use.
- run(*, auditory_position=-5, visual_position=5, auditory_sigma=3.0, visual_sigma=3.0, noise=None)[source]
Run the simulation of the Alais-Burr 2004 model.
- Parameters:
auditory_position (float) – The position estimate for the auditory modality.
visual_position (float) – The position estimate for the visual modality.
auditory_sigma (float) – The standard deviation for the auditory modality.
visual_sigma (float) – The standard deviation for the visual modality.
noise (any, optional) – Additional noise to apply, if needed (not used in this implementation).
- Returns:
A tuple containing:
- responsedict
A dictionary with keys ‘auditory’, ‘visual’, and ‘multi’ containing the auditory, visual, and multisensory estimates respectively.
- extradict
A dictionary with keys ‘auditory_weight’ and ‘visual_weight’ containing the weights for the auditory and visual modalities respectively.
- Return type:
tuple