BaseMMM#
- class pymc_marketing.mmm.delayed_saturated_mmm.BaseMMM(date_column, channel_columns, adstock_max_lag, adstock, saturation, time_varying_intercept=False, time_varying_media=False, model_config=None, sampler_config=None, validate_data=True, control_columns=None, yearly_seasonality=None, adstock_first=True, **kwargs)[source]#
Base class for a media mix model using Delayed Adstock and Logistic Saturation (see [1]).
References
[1]Jin, Yuxue, et al. “Bayesian methods for media mix modeling with carryover and shape effects.” (2017).
Methods
BaseMMM.__init__(date_column, ...[, ...])Constructor method.
BaseMMM.build_model(X, y, **kwargs)Builds a probabilistic model using PyMC for marketing mix modeling.
Evaluate the channel contribution for a given channel data and a fitted model, ie.
Compute the channel contributions in the original scale of the target variable.
Get the contributions of each channel over time.
BaseMMM.fit(X[, y, progressbar, ...])Fit a model using the data passed as a parameter.
Transforms channel input into target contributions of each channel.
BaseMMM.get_errors([original_scale])Get model errors posterior distribution.
BaseMMM.get_params([deep])Get all the model parameters needed to instantiate a copy of the model, not including training data.
Return the target transformer pipeline used for preprocessing the target variable.
BaseMMM.graphviz(**kwargs)BaseMMM.load(fname)Creates a MMM instance from a file, instantiating the model with the saved original input parameters.
Plot the share of channel contributions in a forest plot.
Plot the target variable and the posterior predictive model components in the scaled space.
BaseMMM.plot_errors([original_scale, ax])Plot model errors by taking the difference between true values and predicted.
BaseMMM.plot_grouped_contribution_breakdown_over_time([...])Plot a time series area chart for all channel contributions.
Plot posterior distribution from the model fit.
BaseMMM.plot_prior_predictive(**plt_kwargs)This function creates a waterfall plot.
BaseMMM.predict(X_pred[, extend_idata])Uses model to predict on unseen data and return point prediction of all the samples.
BaseMMM.predict_posterior(X_pred[, ...])Generate posterior predictive samples on unseen data.
BaseMMM.predict_proba(X_pred[, ...])Alias for
predict_posterior, for consistency with scikit-learn probabilistic estimators.BaseMMM.preprocess(target, data)Preprocess the provided data according to the specified target.
Sample from the model's posterior predictive distribution.
BaseMMM.sample_prior_predictive(X_pred[, ...])Sample from the model's prior predictive distribution.
BaseMMM.save(fname)Save the model's inference data to a file.
BaseMMM.set_idata_attrs([idata])Set attributes on an InferenceData object.
BaseMMM.set_params(**params)Set all the model parameters needed to instantiate the model, not including training data.
BaseMMM.validate(target, data)Validates the input data based on the specified target type.
BaseMMM.validate_target(data)Attributes
Xdefault_model_configReturns a class default config dict for model builder if no model_config is provided on class initialization Useful for understanding structure of required model_config to allow its customization by users Examples -------- >>> @classmethod >>> def default_model_config(self): >>> Return { >>> 'a' : { >>> 'loc': 7, >>> 'scale' : 3 >>> }, >>> 'b' : { >>> 'loc': 3, >>> 'scale': 5 >>> } >>> 'obs_error': 2 >>> }
default_sampler_configReturns a class default sampler dict for model builder if no sampler_config is provided on class initialization Useful for understanding structure of required sampler_config to allow its customization by users Examples -------- >>> @classmethod >>> def default_sampler_config(self): >>> Return { >>> 'draws': 1_000, >>> 'tune': 1_000, >>> 'chains': 1, >>> 'target_accept': 0.95, >>> }
fit_resultidGenerate a unique hash value for the model.
methodsoutput_varDefines target variable for the model
posterior_predictivepreprocessing_methodsA property that provides preprocessing methods for features ("X") and the target variable ("y").
priorprior_predictivevalidation_methodsA property that provides validation methods for features ("X") and the target variable ("y").
versionymodeldate_columnchannel_columns