meridian.model.prior_distribution.PriorDistribution

包含每個模型參數的先驗分布。

PriorDistribution 是 Meridian 的公用程式類別。PriorDistribution 所需的引數形狀取決於傳遞至 Meridian 的模擬選項和資料形狀。舉例來說,ec_m 是代表每個媒體管道半飽和度的參數。ec_m 引數的 batch_shape=[]batch_shape 必須等於媒體管道的數量。在前者情況下,每個媒體管道都會取得相同的優先順序。

如果任何先前的分布有無法廣播至模型規格指定形狀的形狀,系統會在 Meridian 建構時發生錯誤。

參數批次形狀如下:

參數 批次形狀
knot_values n_knots
tau_g_excl_baseline n_geos - 1
beta_m n_media_channels
beta_rf n_rf_channels
beta_om n_organic_media_channels
beta_orf n_organic_rf_channels
eta_m n_media_channels
eta_rf n_rf_channels
eta_om n_organic_media_channels
eta_orf n_organic_rf_channels
gamma_c n_controls
gamma_n n_non_media_channels
xi_c n_controls
xi_n n_non_media_channels
alpha_m n_media_channels
alpha_rf n_rf_channels
alpha_om n_organic_media_channels
alpha_orf n_organic_rf_channels
ec_m n_media_channels
ec_rf n_rf_channels
ec_om n_organic_media_channels
ec_orf n_organic_rf_channels
slope_m n_media_channels
slope_rf n_rf_channels
slope_om n_organic_media_channels
slope_orf n_organic_rf_channels
sigma (σ)
roi_m n_media_channels
roi_rf n_rf_channels

(σ) 如果 unique_sigma_for_each_geon_geos,否則為 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 對應的位置包含零。如果 n_geos = 1,Meridian 就會忽略這個發布。預設分發值為 Normal(0.0, 5.0)
beta_m 針對曝光媒體管道 (beta_gm) 的地理層級媒體效果,使用參數進行先前分布,以便進行階層分布。當 media_effects_dist 設為 'normal' 時,就是階層平均值。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分布的平均值的階層參數。如果 paid_media_prior_type'roi''mroi',Meridian 會忽略這項分發作業,並改為優先使用 roi_m。預設分發值為 HalfNormal(5.0)
beta_rf 針對觸及數和展示頻率媒體管道 (beta_grf) 的區域層級媒體效果,使用參數進行先前分布,以便進行階層分布。當 media_effects_dist 設為 'normal' 時,就是階層平均值。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分布的平均值的階層參數。如果 paid_media_prior_type'roi''mroi',Meridian 會忽略這項發布,改為使用先前的 roi_m。預設分發值為 HalfNormal(5.0)
beta_om 針對自然媒體管道 (beta_gom) 的地理層級媒體效果,以參數為依據的先前分布資料 (階層分布資料)。當 media_effects_dist 設為 'normal' 時,即為階層平均值。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分布的平均值的階層參數。如果 use_roi_priorTrue,Meridian 會忽略這個發布,並改用先前的 roi_om。預設分發方式為 HalfNormal(5.0)
beta_orf 針對自然觸及數和頻率媒體管道 (beta_gorf) 的地理層級媒體效果,使用參數的先前分布資料進行階層分布。當 media_effects_dist 設為 'normal' 時,即為階層平均值。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分布的平均值的階層參數。如果 use_roi_priorTrue,Meridian 會忽略這個發布,並改用先前的 roi_orf。預設分發值為 HalfNormal(5.0)
eta_m 針對曝光媒體管道 (beta_gm) 的區域層級媒體效果,使用參數的先前分配資料進行階層分配。當 media_effects_dist 設為 'normal' 時,就是階層標準差。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分佈的標準差的階層參數。預設分發方式為 HalfNormal(1.0)
eta_rf 參數的先前分布資料,用於 RF 媒體管道的地理層級媒體效果分布 (beta_grf)。當 media_effects_dist 設為 'normal' 時,就是分層標準差。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分佈的標準差的階層參數。預設分發方式為 HalfNormal(1.0)
eta_om 參數的先前分布資料,用於自然媒體管道的地理層級媒體效果階層式分布 (beta_gom)。當 media_effects_dist 設為 'normal' 時,就是階層式標準差。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分佈的標準差的階層參數。預設分發方式為 HalfNormal(1.0)
eta_orf 參數的先前分布,用於自然無線電頻道 (beta_gorf) 的地理層級媒體效果分布。當 media_effects_dist 設為 'normal' 時,即為層級標準差。當 media_effects_dist 設為 'log_normal' 時,它是底層對數轉換 Normal 分佈標準差的階層參數。預設分發方式為 HalfNormal(1.0)
gamma_c gamma_gc 的階層平均值事前分布,這是地理區域 g 控制項 c 的係數。階層是在地理區域中定義。預設分發值為 Normal(0.0, 5.0)
gamma_n gamma_gn 的階層平均值先前分布情形,這是地理區域 g 的非媒體管道 n 係數。階層是在地理區域中定義。預設分發值為 Normal(0.0, 5.0)
xi_c gamma_gc 的階層標準差先驗分布,即地理區域 g 的控制項 c 係數。階層是在地理區域中定義。預設分發值為 HalfNormal(5.0)
xi_n gamma_gn 的階層標準差先驗分布,這是地理區域 g 的非媒體管道 n 係數。階層是在地理區域中定義。預設分發值為 HalfNormal(5.0)
alpha_m 媒體輸入內容的 geometric decay Adstock 參數先前分發情形。預設分發值為 Uniform(0.0, 1.0)
alpha_rf 針對 RF 輸入內容,在 geometric decay Adstock 參數上進行先前分發。預設分發值為 Uniform(0.0, 1.0)
alpha_om 針對自然媒體輸入內容,先在 geometric decay Adstock 參數上進行分發。預設分發值為 Uniform(0.0, 1.0)
alpha_orf 針對自然 RF 輸入內容,先在 geometric decay Adstock 參數上進行分發。預設分發值為 Uniform(0.0, 1.0)
ec_m 針對媒體輸入內容,在 half-saturation Hill 參數上進行事前分布。預設分發值為 TruncatedNormal(0.8, 0.8, 0.1, 10)
ec_rf 針對 RF 輸入的 half-saturation Hill 參數,進行事前分布。預設分發值為 TransformedDistribution(LogNormal(0.7, 0.4), Shift(0.1))
ec_om 針對自然媒體輸入內容,在 half-saturation Hill 參數上進行事前分布。預設分發值為 TruncatedNormal(0.8, 0.8, 0.1, 10)
ec_orf 針對自然 RF 輸入的 half-saturation Hill 參數,進行事前分布。預設分發值為 TransformedDistribution( LogNormal(0.7, 0.4), Shift(0.1))
slope_m 針對媒體輸入內容,在 slope Hill 參數上進行事前分布。預設分發值為 Deterministic(1.0)
slope_rf 針對 RF 輸入的 slope Hill 參數,進行先驗分佈。預設分發值為 LogNormal(0.7, 0.4)
slope_om 針對自然媒體輸入內容,在 slope Hill 參數上進行事前分布。預設分發值為 Deterministic(1.0)
slope_orf 針對有機 RF 輸入的 slope Hill 參數,進行事前分布。預設分發值為 LogNormal(0.7, 0.4)
sigma 雜訊標準差的事前分布。預設分發方式為 HalfNormal(5.0)
roi_m 各媒體管道的 ROI 或 mROI 先前分配值 (視 paid_media_prior_type 的值而定)。如果 paid_media_prior_type'coefficient',Meridian 會忽略這個發布,改用 beta_m。如果 paid_media_prior_type'roi''mroi'beta_m 會以 roi_malpha_mec_mslope_m 和各媒體管道相關支出為決定性函數計算。預設分發方式為 LogNormal(0.2, 0.9) (paid_media_prior_type == "roi") 和 LogNormal(0.0, 0.5) (paid_media_prior_type == "mroi")。如果 kpi_type'non_revenue',且未提供 revenue_per_kpi,則 ROI 會解讀為每花費一個貨幣單位的 KPI 增量單位。在這種情況下:1) 如果 paid_media_prior_type='roi',系統會略過 roi_mroi_rf 的預設值,並將常見的 ROI 前值指派給所有管道,以便在總媒體貢獻度上達成目標平均值和標準差;2) 系統不支援 paid_media_prior_type='mroi'
roi_rf 每個觸及數和頻率管道的投資報酬率或 mROI 的先前分布情形 (取決於 paid_media_prior_type 的值)。如果 paid_media_prior_type'coefficient',Meridian 會忽略這個分布,改用 beta_rf。如果 paid_media_prior_type'roi''mroi'beta_rf 會以 roi_rfalpha_rfec_rfslope_rf 和與每個媒體管道相關聯的支出,計算為確定性函式。預設分發方式為 LogNormal(0.2, 0.9) (當 paid_media_prior_type == "roi" 時) 和 LogNormal(0.0, 0.5) (當 paid_media_prior_type == "mroi" 時)。如果 kpi_type'non_revenue',且未提供 revenue_per_kpi,系統會將投資報酬率解讀為每花費一單位貨幣的 KPI 增量。在這種情況下:1) 如果 paid_media_prior_type='roi',系統會忽略 roi_mroi_rf 的預設值,並將共同的 ROI 先前指派給所有管道,以便在總媒體貢獻度上達成目標平均值和標準差;2) 系統不支援 paid_media_prior_type='mroi'

方法

broadcast

查看原始碼

傳回具有廣播發布屬性的新 PriorDistribution

Args
n_geos 地理區域數量。
n_media_channels 使用的媒體管道數量。
n_rf_channels 使用的觸及數與頻率管道數量。
n_organic_media_channels 使用的自然媒體管道數量。
n_organic_rf_channels 使用自然觸及數和頻率管道的數量。
n_controls 使用的控制項數量。
n_non_media_channels 使用的非媒體管道數量。
sigma_shape 描述 sigma 參數形狀的數字。1 (如果是 sigma_for_each_geo=False) 或 n_geos (如果是 sigma_for_each_geo=True)。詳情請參閱 ModelSpec
n_knots 使用的節點數量。
is_national 布林值指標,指出是否會將先前分布資料調整為國家/地區模型。
paid_media_prior_type 指定媒體係數先前類型的字串。
set_roi_prior 布林值指標,表示是否應設定 ROI 前。
kpi 跨區域和時間的完整 KPI 總和。如果 set_roi_prior=True 為必要欄位。
total_spend 各個媒體管道的支出總和 (依地理區域和時間區間劃分)。如果是 set_roi_prior=True,則為必要屬性。

傳回
根據指定的資料維度,從先前的發布內容廣播新的 PriorDistribution

升起
ValueError 如果未為所有管道設定自訂先驗機率。

has_deterministic_param

查看原始碼

__eq__

傳回 self==value。