HillSaturationSigmoid#

class pymc_marketing.mmm.components.saturation.HillSaturationSigmoid(priors=None, prefix=None)[source]#

Wrapper around Hill saturation sigmoid function.

Calls pymc_marketing.mmm.transformers.hill_saturation_sigmoid() directly. The saturation level is exposed by the underlying function as sigma, so no extra scaling parameter is added at this layer. Note that beta here is the slope of the sigmoid, not a scaling factor.

Parameters:
sigmatensor

Upper-asymptote parameter (approximate; the true maximum is sigma * (1 - 1 / (1 + exp(beta * lam))), see hill_saturation_sigmoid()). Default prior: Prior("HalfNormal", sigma=1.5).

betatensor

Slope of the sigmoid, controlling the steepness of the transition. Default prior: Prior("HalfNormal", sigma=1.5).

lamtensor

Midpoint of the transition on the input axis. Default prior: Prior("HalfNormal", sigma=1.5).

.. plot::
context:

close-figs

import matplotlib.pyplot as plt import numpy as np from pymc_marketing.mmm import HillSaturationSigmoid

rng = np.random.default_rng(0)

adstock = HillSaturationSigmoid() prior = adstock.sample_prior(random_seed=rng) curve = adstock.sample_curve(prior) adstock.plot_curve(curve, random_seed=rng) plt.show()

Methods

HillSaturationSigmoid.__init__([priors, prefix])

HillSaturationSigmoid.apply(x, *[, dims, ...])

Call within a model context.

HillSaturationSigmoid.from_dict(data)

Reconstruct a saturation transformation from a dict.

HillSaturationSigmoid.function(x, sigma, ...)

Hill sigmoid function.

HillSaturationSigmoid.plot_curve(curve[, ...])

Plot curve HDI and samples.

HillSaturationSigmoid.plot_curve_hdi(curve)

Plot the HDI of the curve.

HillSaturationSigmoid.plot_curve_samples(curve)

Plot samples from the curve.

HillSaturationSigmoid.sample_curve([...])

Sample the curve of the saturation transformation given parameters.

HillSaturationSigmoid.sample_prior([coords])

Sample the priors for the transformation.

HillSaturationSigmoid.set_dims_for_all_priors(dims)

Set the dims for all priors.

HillSaturationSigmoid.to_dict([_orig])

Convert the transformation to a dictionary.

HillSaturationSigmoid.update_priors(priors)

Update the priors for a function after initialization.

HillSaturationSigmoid.with_default_prior_dims(dims)

Return a copy with default prior dims (dims=None) set to dims instead.

HillSaturationSigmoid.with_updated_priors(priors)

Return a copy with updated priors.

Attributes

combined_dims

Get the combined dims for all the parameters.

default_priors

function_priors

Get the priors for the function.

model_config

Mapping from variable name to prior for the model.

prefix

priors

Get the priors for the function.

variable_mapping

Mapping from parameter name to variable name in the model.