meridian.model.prior_distribution.PriorDistribution

Содержит предыдущие распределения для каждого параметра модели.

PriorDistribution — это служебный класс для Meridian. Требуемые формы аргументов PriorDistribution зависят от параметров моделирования и форм данных, передаваемых в Meridian. Например, ec_m — это параметр, который представляет полунасыщение для каждого медиаканала. Аргумент ec_m должен иметь либо batch_shape=[] , либо batch_shape , равную количеству медиаканалов. В первом случае каждый медиаканал получает один и тот же априор.

При построении меридиана возникает ошибка, если какое-либо предшествующее распределение имеет форму, которую невозможно транслировать в форму, заданную спецификацией модели.

Формы пакетов параметров следующие:

Параметр Форма партии
knot_values n_knots
tau_g_excl_baseline n_geos - 1
beta_m n_media_channels
beta_rf n_rf_channels
eta_m n_media_channels
eta_rf n_rf_channels
gamma_c n_controls
xi_c n_controls
alpha_m n_media_channels
alpha_rf n_rf_channels
ec_m n_media_channels
ec_rf n_rf_channels
slope_m n_media_channels
slope_rf n_rf_channels
sigma (о)
roi_m n_media_channels
roi_rf n_rf_channels

(σ) n_geos , если unique_sigma_for_each_geo , в противном случае это 1

knot_values Априорное распределение по узлам для временных эффектов. Распределение по умолчанию — Normal(0.0, 5.0) .
tau_g_excl_baseline Априорное распределение по географическим эффектам, которое представляет собой средний KPI каждого географического региона относительно базового географического региона. Этот параметр передается в вектор длиной n_geos - 1 , сохраняя геопорядок и исключая baseline_geo . После выборки Meridian.inference_data включает модифицированную версию этого параметра под названием tau_g , которая имеет длину n_geos и содержит ноль в позиции, соответствующей baseline_geo . Meridian игнорирует это распределение, если n_geos = 1 . Распределение по умолчанию — Normal(0.0, 5.0) .
beta_m Предварительное распределение по параметру иерархического распределения медиаэффектов на географическом уровне для каналов мультимедиа показов ( beta_gm ). Когда media_effects_dist установлено значение 'normal' , это среднее иерархическое значение. Когда для media_effects_dist установлено значение 'log_normal' , это иерархический параметр для среднего значения базового Normal распределения с логарифмическим преобразованием. Meridian игнорирует это распределение, если use_roi_prior имеет True , и вместо этого использует roi_m Prior. Распространение по умолчанию — HalfNormal(5.0) .
beta_rf Априорное распределение по параметру иерархического распределения медиаэффектов на географическом уровне для охвата и частоты медиаканалов ( beta_grf ). Когда media_effects_dist установлено значение 'normal' , это среднее иерархическое значение. Когда для media_effects_dist установлено значение 'log_normal' , это иерархический параметр для среднего значения базового Normal распределения с логарифмическим преобразованием. Meridian игнорирует это распределение, если use_roi_prior имеет True , и вместо этого использует априорное значение roi_m . Распространение по умолчанию — HalfNormal(5.0) .
eta_m Предварительное распределение по параметру иерархического распределения медиаэффектов на географическом уровне для каналов мультимедиа показов ( beta_gm ). Если для media_effects_dist установлено значение 'normal' , это иерархическое стандартное отклонение. Когда для media_effects_dist установлено значение 'log_normal' это иерархический параметр для стандартного отклонения основного Normal распределения с логарифмическим преобразованием. Распределение по умолчанию — HalfNormal(1.0) .
eta_rf Априорное распределение по параметру иерархического распределения медиаэффектов на географическом уровне для медиаканалов РФ ( beta_grf ). Если для media_effects_dist установлено значение 'normal' , это иерархическое стандартное отклонение. Если для media_effects_dist установлено значение 'log_normal' это иерархический параметр для стандартного отклонения базового Normal распределения с логарифмическим преобразованием. Распределение по умолчанию — HalfNormal(1.0) .
gamma_c Априорное распределение по иерархическому среднему значению gamma_gc , которое является коэффициентом контроля c для geo g . Иерархия определяется по географическому признаку. Распределение по умолчанию — Normal(0.0, 5.0) .
xi_c Априорное распределение иерархического стандартного отклонения gamma_gc , которое является коэффициентом контроля c для geo g . Иерархия определяется по географическому признаку. Распространение по умолчанию — HalfNormal(5.0) .
alpha_m Априорное распределение по geometric decay параметра Adstock для входных медиа. Распределение по умолчанию — Uniform(0.0, 1.0) .
alpha_rf Априорное распределение по параметру Адстока geometric decay для радиочастотного входа. Распределение по умолчанию — Uniform(0.0, 1.0) .
ec_m Априорное распределение по параметру Хилла half-saturation для входного медиа. Распределение по умолчанию — TruncatedNormal(0.8, 0.8, 0.1, 10) .
ec_rf Априорное распределение по параметру Хилла half-saturation для ВЧ-входа. Распределение по умолчанию — TransformedDistribution(LogNormal(0.7, 0.4), Shift(0.1)) .
slope_m Априорное распределение по параметру slope Хилла для входных медиа. Распределение по умолчанию — Deterministic(1.0) .
slope_rf Априорное распределение по slope параметра Хилла для ВЧ-входа. Распределение по умолчанию — LogNormal(0.7, 0.4) .
sigma Априорное распределение по стандартному отклонению шума. Распространение по умолчанию — HalfNormal(5.0) .
roi_m Предварительное распределение по иерархической рентабельности инвестиций в средства массовой информации. Meridian игнорирует это распределение, если use_roi_prior имеет значение False , и вместо этого использует beta_m . Если use_roi_prior имеет значение True , beta_m рассчитывается как детерминированная функция roi_m , alpha_m , ec_m , slope_m и расходов, связанных с каждым медиа-каналом (например, модель перепараметризуется с помощью roi_m вместо beta_m ). Распределение по умолчанию — LogNormal(0.2, 0.9) .
roi_rf Априорное распределение по иерархической рентабельности инвестиций в RF-входе. Meridian игнорирует это распределение, если use_roi_prior имеет значение False , и вместо этого использует beta_rf . Когда use_roi_prior имеет значение True , beta_rf рассчитывается как детерминированная функция roi_rf , alpha_rf , ec_rf , slope_rf и расходов, связанных с каждым медиа-каналом (например, модель перепараметризуется с помощью roi_rf вместо beta_rf ). Распределение по умолчанию — LogNormal(0.2, 0.9) .

Методы

broadcast

Посмотреть источник

Возвращает новый PriorDistribution с атрибутами широковещательного распространения.

Аргументы
n_geos Количество гео.
n_media_channels Количество используемых медиаканалов.
n_rf_channels Количество используемых каналов охвата и частоты.
n_controls Количество используемых элементов управления.
sigma_shape Число, описывающее форму параметра сигма. Это либо 1 (если sigma_for_each_geo=False ), либо n_geos (если sigma_for_each_geo=True ). Для получения дополнительной информации см. ModelSpec .
n_knots Количество используемых узлов.
is_national Логический индикатор того, будет ли предварительное распределение адаптировано для национальной модели.

Возврат
Новая трансляция PriorDistribution из этого предыдущего распределения в соответствии с заданной размерностью данных.

Поднимает
ValueError Если пользовательские априоры не установлены для всех каналов.

has_deterministic_param

Посмотреть источник

__eq__

Вернуть значение self==.