-
-
Notifications
You must be signed in to change notification settings - Fork 142
Open
Labels
enhancementgood first issueIf you want to contribute but are not sure where to get started, this issue is for you!If you want to contribute but are not sure where to get started, this issue is for you!
Description
Bug description
Calling set.alias({...}) on a model with multiple target formulae results in assertion error.
For instance, if one wishes to estimate a different noise scale per condition, one would define multiple formulae (targets) in the model. Then trying to set an alias for a parameter fails.
Reproduction
The below two work:
- with no condition-specific sigma
import bambi as bmb
model = bmb.Model(
formula=bmb.Formula(
"value ~ T(Condition, 'WT')",
),
data=df_data_fit,
categorical=["Condition"],
family="gaussian",
priors=partial_pooling_priors,
noncentered=True
)
model.set_alias({"T(Condition, 'WT')": "Condition"})- with no aliases
import bambi as bmb
model = bmb.Model(
formula=bmb.Formula(
"value ~ T(Condition, 'WT')",
"sigma ~ Condition"
),
data=df_data_fit,
categorical=["Condition"],
family="gaussian",
priors=partial_pooling_priors,
noncentered=True
)The below fails:
- with condition-specific sigma and aliases
import bambi as bmb
model = bmb.Model(
formula=bmb.Formula(
"value ~ T(Condition, 'WT')",
"sigma ~ Condition"
),
data=df_data_fit,
categorical=["Condition"],
family="gaussian",
priors=partial_pooling_priors,
noncentered=True
)
model.set_alias({"T(Condition, 'WT')": "Condition"})Output
File /opt/homebrew/Caskroom/miniconda/base/envs/dsci/lib/python3.12/site-packages/bambi/models.py:576, in Model.set_alias(self, aliases)
574 self.response_component.term.alias = component_aliases
575 else:
--> 576 assert isinstance(component_aliases, dict)
577 assert component_name in self.distributional_components
578 component = self.distributional_components[component_name]
AssertionError:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementgood first issueIf you want to contribute but are not sure where to get started, this issue is for you!If you want to contribute but are not sure where to get started, this issue is for you!