bayes_spec.models
Submodules
bayes_spec.models.gauss_model
gauss_model.py Defines GaussModel, a Gaussian line profile model.
Copyright(C) 2024 by Trey V. Wenger; tvwenger@gmail.com This code is licensed under MIT license (see LICENSE for details)
- class bayes_spec.models.gauss_model.GaussModel(*args, **kwargs)
Bases:
BaseModelDefinition of a Gaussian line profile model.
- add_likelihood()
Add likelihood to the model. Data key must be “observation”.
- add_priors(prior_line_area: float = 100.0, prior_fwhm: float = 25.0, prior_velocity: Iterable[float] = [0.0, 25.0], prior_baseline_coeffs: Iterable[float] | None = None, ordered: bool = False)
Add priors to the model.
- Parameters:
prior_line_area (float, optional) – Prior distribution on line area (K km s-1), where line_area ~ Gamma(alpha=2.0, beta=1.0/prior_line_area) defaults to 100.0
prior_fwhm (float, optional) – Prior distribution on line FWHM (km s-1), where fwhm ~ Gamma(alpha=2.0, beta=1.0/prior_fwhm) defaults to 25.0
prior_velocity (Iterable[float], optional) – Prior distribution on line centroid velocity (km s-1), where velocity ~ Normal(mu=prior_velocity[0], sigma=prior_velocity[1]) if :param:ordered is False velocity(cloud=N) ~ prior_velocity[0] + sum(velocity(cloud<N)) + Gamma(alpha=2.0, beta=1.0/prior_velocity[1]) if :param:ordered is True defaults to [0.0, 25.0]
prior_baseline_coeffs – Width of normal prior distribution on the normalized baseline polynomial coefficients. If None, use [1.0]*(baseline_degree+1), defaults to None
ordered (bool) – If True, assume ordered velocities, defaults to False
- predict() Iterable[float]
Predict observed spectrum from model parameters.
- Returns:
Predicted spectrum
- Return type:
Iterable[float]
bayes_spec.models.gauss_noise_model
gauss_noise_model.py Defines GaussNoiseModel, a Gaussian line profile model.
Copyright(C) 2024 by Trey V. Wenger; tvwenger@gmail.com This code is licensed under MIT license (see LICENSE for details)
- class bayes_spec.models.gauss_noise_model.GaussNoiseModel(*args, **kwargs)
Bases:
GaussModelDefinition of a Gaussian line profile model, with noise as an additional free parameter.
- add_likelihood()
Add likelihood to the model. Data key must be “observation”.
- add_priors(prior_rms: float = 1.0, **kwargs)
Add priors to the model.
- Parameters:
prior_rms (float, optional) – Prior distribution on spectral rms (K), where rms ~ HalfNormal(sigma=prior_rms) defaults to 1.0
**kwargs – Additional keyword arguments passed to
GaussModel.add_priors
Module contents
- class bayes_spec.models.GaussModel(*args, **kwargs)
Bases:
BaseModelDefinition of a Gaussian line profile model.
- add_likelihood()
Add likelihood to the model. Data key must be “observation”.
- add_priors(prior_line_area: float = 100.0, prior_fwhm: float = 25.0, prior_velocity: Iterable[float] = [0.0, 25.0], prior_baseline_coeffs: Iterable[float] | None = None, ordered: bool = False)
Add priors to the model.
- Parameters:
prior_line_area (float, optional) – Prior distribution on line area (K km s-1), where line_area ~ Gamma(alpha=2.0, beta=1.0/prior_line_area) defaults to 100.0
prior_fwhm (float, optional) – Prior distribution on line FWHM (km s-1), where fwhm ~ Gamma(alpha=2.0, beta=1.0/prior_fwhm) defaults to 25.0
prior_velocity (Iterable[float], optional) – Prior distribution on line centroid velocity (km s-1), where velocity ~ Normal(mu=prior_velocity[0], sigma=prior_velocity[1]) if :param:ordered is False velocity(cloud=N) ~ prior_velocity[0] + sum(velocity(cloud<N)) + Gamma(alpha=2.0, beta=1.0/prior_velocity[1]) if :param:ordered is True defaults to [0.0, 25.0]
prior_baseline_coeffs – Width of normal prior distribution on the normalized baseline polynomial coefficients. If None, use [1.0]*(baseline_degree+1), defaults to None
ordered (bool) – If True, assume ordered velocities, defaults to False
- predict() Iterable[float]
Predict observed spectrum from model parameters.
- Returns:
Predicted spectrum
- Return type:
Iterable[float]
- class bayes_spec.models.GaussNoiseModel(*args, **kwargs)
Bases:
GaussModelDefinition of a Gaussian line profile model, with noise as an additional free parameter.
- add_likelihood()
Add likelihood to the model. Data key must be “observation”.
- add_priors(prior_rms: float = 1.0, **kwargs)
Add priors to the model.
- Parameters:
prior_rms (float, optional) – Prior distribution on spectral rms (K), where rms ~ HalfNormal(sigma=prior_rms) defaults to 1.0
**kwargs – Additional keyword arguments passed to
GaussModel.add_priors