formula
Formula helpers and DSL.
This module provides a small Pythonic DSL for composing brms formulas. The public
functions (bf, lf, nlf, acformula, set_rescor, set_mecor, set_nl)
build a FormulaConstruct that can be passed to brmspy.brms.brm() or combined
using the + operator.
Notes
- The returned objects are lightweight formula specifications; the actual R brms formula object is built in the worker when fitting / generating Stan code.
- This module is part of the public API documented under docs/api/brms_functions/formula.md.
Classes¶
Functions¶
bf(*formulas, **formula_args)
¶
Build a brms model formula.
This is the primary entrypoint for specifying the mean model and can be
combined with other formula parts (e.g. lf, nlf, acformula) using +.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*formulas
|
str
|
One or more brms formula strings (e.g. |
()
|
**formula_args
|
Keyword arguments forwarded to R |
{}
|
Returns:
| Type | Description |
|---|---|
FormulaConstruct
|
A composable formula specification. |
See Also
brms::brmsformula : R documentation
Examples:
Basic formula:
QR decomposition (often helps with collinearity):
Multivariate formula + residual correlation:
lf(*formulas, flist=None, dpar=None, resp=None, center=None, cmc=None, sparse=None, decomp=None)
¶
Add linear formulas for distributional / non-linear parameters.
This wraps R brms::lf() and is typically used to model distributional
parameters such as sigma (heteroskedasticity) or to specify predictors
for non-linear parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*formulas
|
str | FormulaConstruct | FormulaPart | ProxyListSexpVector
|
One or more formulas such as |
()
|
flist
|
Optional list of formulas (advanced; mirrors brms). |
None
|
|
dpar
|
str or None
|
Distributional parameter name (e.g. |
None
|
resp
|
str or None
|
Response name for multivariate models. |
None
|
center
|
bool | None
|
Forwarded to R |
None
|
cmc
|
bool | None
|
Forwarded to R |
None
|
sparse
|
bool | None
|
Forwarded to R |
None
|
decomp
|
bool | None
|
Forwarded to R |
None
|
Returns:
| Type | Description |
|---|---|
FormulaConstruct
|
A composable formula specification that can be combined using |
See Also
brms::lf : R documentation
Examples:
Model mean + sigma:
nlf(*formulas, flist=None, dpar=None, resp=None, loop=None)
¶
Add non-linear formulas.
Wraps R brms::nlf(). This is used together with set_nl() and parameter
definitions in lf() to specify non-linear models.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*formulas
|
str | FormulaConstruct | FormulaPart | ProxyListSexpVector
|
One or more non-linear formulas (e.g. |
()
|
flist
|
Optional list of formulas (advanced; mirrors brms). |
None
|
|
dpar
|
str or None
|
Distributional parameter name (optional). |
None
|
resp
|
str or None
|
Response name for multivariate models. |
None
|
loop
|
bool or None
|
Forwarded to R |
None
|
Returns:
| Type | Description |
|---|---|
FormulaConstruct
|
A composable formula specification. |
See Also
brms::nlf : R documentation
Examples:
acformula(autocor, resp=None)
¶
Add an autocorrelation structure.
Wraps R brms::acformula().
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
autocor
|
str
|
One-sided autocorrelation formula (e.g. |
required |
resp
|
str or None
|
Response name for multivariate models. |
None
|
Returns:
| Type | Description |
|---|---|
FormulaConstruct
|
A composable formula specification. |
See Also
brms::acformula : R documentation
Examples:
set_rescor(rescor=True)
¶
Control residual correlations in multivariate models.
Wraps R brms::set_rescor().
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rescor
|
bool
|
Whether to model residual correlations. |
True
|
Returns:
| Type | Description |
|---|---|
FormulaConstruct
|
A composable formula specification. |
See Also
brms::set_rescor : R documentation
Examples:
set_mecor(mecor=True)
¶
Control correlations between latent me() terms.
Wraps R brms::set_mecor().
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
mecor
|
bool
|
Whether to model correlations between latent variables introduced by |
True
|
Returns:
| Type | Description |
|---|---|
FormulaConstruct
|
A composable formula specification. |
See Also
brms::set_mecor : R documentation
Examples:
set_nl(dpar=None, resp=None)
¶
Mark a model (or part of it) as non-linear.
Wraps R brms::set_nl().
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dpar
|
str or None
|
Distributional parameter name (if only part of the model is non-linear). |
None
|
resp
|
str or None
|
Response name for multivariate models. |
None
|
Returns:
| Type | Description |
|---|---|
FormulaConstruct
|
A composable formula specification. |
See Also
brms::set_nl : R documentation
Examples: