saturation#
Saturation transformations for the MMM model.
Each of these transformations is a subclass of
pymc_marketing.mmm.components.saturation.SaturationTransformation
and defines a function
that takes media and return the saturated media. The parameters of the function
are the parameters of the saturation transformation.
Examples#
Create a new saturation transformation:
from pymc_marketing.mmm import SaturationTransformation
from pymc_marketing.prior import Prior
class InfiniteReturns(SaturationTransformation):
lookup_name: str = "infinite_returns"
def function(self, x, b):
return b * x
default_priors = {"b": Prior("HalfNormal", sigma=1)}
Plot the default priors for a saturation transformation:
from pymc_marketing.mmm import HillSaturation
import matplotlib.pyplot as plt
saturation = HillSaturation()
prior = saturation.sample_prior()
curve = saturation.sample_curve(prior)
saturation.plot_curve(curve)
plt.show()
Define a hierarchical saturation function with only hierarchical parameters for saturation parameter of logistic saturation.
from pymc_marketing.prior import Prior
from pymc_marketing.mmm import LogisticSaturation
hierarchical_lam = Prior(
"Gamma",
alpha=Prior("HalfNormal"),
beta=Prior("HalfNormal"),
dims="channel",
)
priors = {
"lam": hierarchical_lam,
"beta": Prior("HalfNormal", dims="channel"),
}
saturation = LogisticSaturation(priors=priors)
Functions
|
Get a saturation function from a dictionary. |
Classes
|
Wrapper around Hill saturation function. |
|
Wrapper around Hill saturation sigmoid function. |
|
Wrapper around inverse scaled logistic saturation function. |
|
Wrapper around logistic saturation function. |
|
Wrapper around Michaelis-Menten saturation function. |
|
Wrapper around Root saturation function. |
|
Subclass for all saturation transformations. |
|
Wrapper around tanh saturation function. |
|
Wrapper around tanh saturation function. |