HillSaturation#

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

Wrapper around Hill saturation function.

Multiplies pymc_marketing.mmm.transformers.hill_function() by an extra scaling parameter beta so the curve can reach an asymptote other than 1.

Parameters:
slopetensor

Slope of the Hill curve, controlling its steepness. Default prior: Prior("HalfNormal", sigma=1.5).

kappatensor

Half-saturation point where the response equals half its asymptote. Default prior: Prior("HalfNormal", sigma=1.5).

betatensor

Asymptote that the saturated response approaches as the input grows. 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 HillSaturation

rng = np.random.default_rng(0)

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

Methods

HillSaturation.__init__([priors, prefix])

HillSaturation.apply(x, *[, dims, core_dim, idx])

Call within a model context.

HillSaturation.from_dict(data)

Reconstruct a saturation transformation from a dict.

HillSaturation.function(x, slope, kappa, beta, *)

Hill saturation function.

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

Plot curve HDI and samples.

HillSaturation.plot_curve_hdi(curve[, ...])

Plot the HDI of the curve.

HillSaturation.plot_curve_samples(curve[, ...])

Plot samples from the curve.

HillSaturation.sample_curve([parameters, ...])

Sample the curve of the saturation transformation given parameters.

HillSaturation.sample_prior([coords])

Sample the priors for the transformation.

HillSaturation.set_dims_for_all_priors(dims)

Set the dims for all priors.

HillSaturation.to_dict([_orig])

Convert the transformation to a dictionary.

HillSaturation.update_priors(priors)

Update the priors for a function after initialization.

HillSaturation.with_default_prior_dims(dims)

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

HillSaturation.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.