عرض المصدر على GitHub
|
يحتوي على توزيعات سابقة لكل مَعلمة من مَعلمات النموذج.
meridian.model.prior_distribution.PriorDistribution(
*,
knot_values: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Normal(0.0, \n 5.0, name=constants.KNOT_VALUES)),
tau_g_excl_baseline: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Normal(0.0, \n 5.0, name=constants.TAU_G_EXCL_BASELINE)),
beta_m: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.BETA_M)),
beta_rf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.BETA_RF)),
beta_om: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.BETA_OM)),
beta_orf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.BETA_ORF)),
eta_m: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(1.0,\n name=constants.ETA_M)),
eta_rf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(1.0,\n name=constants.ETA_RF)),
eta_om: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(1.0,\n name=constants.ETA_OM)),
eta_orf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(1.0,\n name=constants.ETA_ORF)),
gamma_c: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Normal(0.0, \n 5.0, name=constants.GAMMA_C)),
gamma_n: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Normal(0.0, \n 5.0, name=constants.GAMMA_N)),
xi_c: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.XI_C)),
xi_n: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.XI_N)),
alpha_m: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Uniform(0.0, \n 1.0, name=constants.ALPHA_M)),
alpha_rf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Uniform(0.0, \n 1.0, name=constants.ALPHA_RF)),
alpha_om: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Uniform(0.0, \n 1.0, name=constants.ALPHA_OM)),
alpha_orf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Uniform(0.0, \n 1.0, name=constants.ALPHA_ORF)),
ec_m: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.\n TruncatedNormal(0.8, 0.8, 0.1, 10, name=constants.EC_M)),
ec_rf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.\n TransformedDistribution(tfp.distributions.LogNormal(0.7, 0.4), tfp.\n bijectors.Shift(0.1), name=constants.EC_RF)),
ec_om: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.\n TruncatedNormal(0.8, 0.8, 0.1, 10, name=constants.EC_OM)),
ec_orf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.\n TransformedDistribution(tfp.distributions.LogNormal(0.7, 0.4), tfp.\n bijectors.Shift(0.1), name=constants.EC_ORF)),
slope_m: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Deterministic(\n 1.0, name=constants.SLOPE_M)),
slope_rf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.LogNormal(0.7,\n 0.4, name=constants.SLOPE_RF)),
slope_om: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Deterministic(\n 1.0, name=constants.SLOPE_OM)),
slope_orf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.LogNormal(0.7,\n 0.4, name=constants.SLOPE_ORF)),
sigma: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.SIGMA)),
roi_m: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.LogNormal(0.2,\n 0.9, name=constants.ROI_M)),
roi_rf: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.LogNormal(0.2,\n 0.9, name=constants.ROI_RF))
)
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 |
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 |
(σ) n_geos إذا unique_sigma_for_each_geo، وإلا 1
السمات | |
|---|---|
knot_values
|
التوزيع السابق على العقد لتأثيرات الوقت القيمة التلقائية
للتوزيع هي Normal(0.0, 5.0).
|
tau_g_excl_baseline
|
التوزيع السابق على تأثيرات المواقع الجغرافية، والذي يمثّل
متوسط مؤشر الأداء الرئيسي لكل موقع جغرافي مقارنةً بالموقع الجغرافي الأساسي يتم بث هذه المَعلمة
إلى متجه بطول 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 هذا التوزيع إذا كان
paid_media_prior_type هو 'roi' أو 'mroi'، وتستخدم roi_m بدلاً منه. التوزيع التلقائي هو HalfNormal(5.0).
|
beta_rf
|
التوزيع السابق لمَعلمة التوزيع الهرمي
لتأثيرات الوسائط على مستوى الموقع الجغرافي لقنوات الوسائط المتعلّقة بمدى الوصول ومعدّل التكرار
(beta_grf). عند ضبط media_effects_dist على 'normal'، يكون هو
المتوسط الهرمي. عند ضبط media_effects_dist على 'log_normal'،
تكون المَعلمة التدرّجية لمتوسط التوزيع Normal الأساسي الذي تم تحويله logarithmically. تتجاهل Meridian هذا التوزيع
إذا كان paid_media_prior_type هو 'roi' أو 'mroi'، وتستخدم roi_m
السابق بدلاً منه. التوزيع التلقائي هو HalfNormal(5.0).
|
beta_om
|
التوزيع السابق لمَعلمة التوزيع الهرمي
لتأثيرات الوسائط على مستوى الموقع الجغرافي لقنوات الوسائط المجانية (beta_gom). عند ضبط
media_effects_dist على 'normal'، يكون ذلك هو المتوسط الهرمي.
عند ضبط media_effects_dist على 'log_normal'، يكون المقياس التدرّجي
للمتوسط في التوزيع الأساسيNormal
الذي تم تحويله إلى لوغاريتمي. تتجاهل Meridian هذا التوزيع إذا كان use_roi_prior
True وتستخدم roi_om السابق بدلاً منه. التوزيع التلقائي هو
HalfNormal(5.0).
|
beta_orf
|
التوزيع السابق لمَعلمة التوزيع التدرّجي
لتأثيرات الوسائط على مستوى الموقع الجغرافي لقنوات الوسائط (beta_gorf) المتعلّقة بالوصول إلى الجمهور المجاني ومعدّل تكرار الظهور. عند ضبط media_effects_dist على
'normal'، يكون ذلك هو المتوسط التدرّجي. عند ضبط media_effects_dist
على 'log_normal'، تكون المَعلمة التدرّجية لمتوسط
التوزيع Normal الأساسي الذي تم تحويله إلى لوغاريتمي. تتجاهل Meridian هذا التوزيع
إذا كان use_roi_prior يساوي True وتستخدم roi_orf السابق
بدلاً منه. التوزيع التلقائي هو 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).
|
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 الذي يمثّل
المعامل في عنصر التحكّم c للموقع الجغرافي g. يتم تحديد التسلسل الهرمي على مستوى
المواقع الجغرافية. التوزيع التلقائي هو Normal(0.0, 5.0).
|
gamma_n
|
التوزيع السابق على المتوسط الهرمي لـ gamma_gn وهو
المعامل على القناة غير الإعلامية n للموقع الجغرافي g. يتم تحديد التسلسل الهرمي
على مستوى المواقع الجغرافية. التوزيع التلقائي هو Normal(0.0, 5.0).
|
xi_c
|
التوزيع السابق للانحراف المعياري الهرمي ل
gamma_gc الذي يمثّل المعامل في عنصر التحكّم c للموقع الجغرافي g. يتم تحديد التسلسل الهرمي
على مستوى المواقع الجغرافية. التوزيع التلقائي هو HalfNormal(5.0).
|
xi_n
|
التوزيع السابق على الانحراف المعياري الهرمي ل
gamma_gn الذي يمثّل المعامل على القناة غير الإعلامية n للموقع الجغرافي g.
يتم تحديد التسلسل الهرمي على مستوى المواقع الجغرافية. التوزيع التلقائي هو HalfNormal(5.0).
|
alpha_m
|
التوزيع السابق على مَعلمة geometric decay Adstock ل input
الوسائط التوزيع التلقائي هو Uniform(0.0, 1.0).
|
alpha_rf
|
التوزيع السابق لمَعلمة مستودع الإعلانات geometric decay لإدخال
مقياس RF التوزيع التلقائي هو Uniform(0.0, 1.0).
|
alpha_om
|
التوزيع السابق لمَعلمة geometric decay Adstock لإدخال
الوسائط المجانية التوزيع التلقائي هو Uniform(0.0, 1.0).
|
alpha_orf
|
التوزيع السابق لمَعلمة geometric decay Adstock لملف الإدخال لإعلانات البثّ المباشر على شبكة البحث
التوزيع التلقائي هو Uniform(0.0, 1.0).
|
ec_m
|
التوزيع السابق لمَعلمة half-saturation Hill الخاصة بمدخلات
الوسائط التوزيع التلقائي هو TruncatedNormal(0.8, 0.8, 0.1, 10).
|
ec_rf
|
التوزيع السابق لمَعلمة half-saturation Hill لدخل RF
التوزيع التلقائي هو TransformedDistribution(LogNormal(0.7,
0.4), Shift(0.1)).
|
ec_om
|
التوزيع السابق لمَعلمة half-saturation Hill ل input
الوسائط المجانية التوزيع التلقائي هو TruncatedNormal(0.8, 0.8,
0.1, 10).
|
ec_orf
|
التوزيع السابق لمَعلمة half-saturation Hill لقياس
مدخلات RF المجانية التوزيع التلقائي هو TransformedDistribution(
LogNormal(0.7, 0.4), Shift(0.1)).
|
slope_m
|
التوزيع السابق لمَعلمة slope Hill لإدخال الوسائط
التوزيع التلقائي هو Deterministic(1.0).
|
slope_rf
|
التوزيع السابق لمَعلمة slope Hill لإدخال إشارة RF
التوزيع التلقائي هو LogNormal(0.7, 0.4).
|
slope_om
|
التوزيع السابق لمَعلمة slope Hill للوسائط
المجانية التوزيع التلقائي هو Deterministic(1.0).
|
slope_orf
|
التوزيع السابق لمَعلمة slope Hill لبيانات RF
العضوية التوزيع التلقائي هو LogNormal(0.7, 0.4).
|
sigma
|
التوزيع السابق للانحراف المعياري للضوضاء القيمة التلقائية
للتوزيع هي HalfNormal(5.0).
|
roi_m
|
التوزيع السابق على عائد الاستثمار أو عائد الاستثمار المتعدّد (حسب قيمةpaid_media_prior_type) لكل قناة وسائط تتجاهل Meridian
هذا التوزيع إذا كان paid_media_prior_type يساوي 'coefficient' وتستخدم
beta_m بدلاً منه. عندما يكون paid_media_prior_type يساوي 'roi' أو 'mroi'، يتم احتساب
beta_m كوظيفة حتمية لـ roi_m وalpha_m
ec_m وslope_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، يتم تفسير عائد الاستثمار على أنّه وحدات مقياس الأداء الرئيسي المتزايدة لكل وحدة نقدية
مُنفقة. في هذه الحالة: 1) إذا كان الخيار paid_media_prior_type='roi'، سيتم تجاهل القيمة التلقائية
لroi_m وroi_rf وسيتم تحديد عائد استثمار شائع سابقًا
لجميع القنوات لتحقيق متوسط مستهدَف وانحراف معيّن
لإجمالي مساهمة الوسائط، و2)
paid_media_prior_type='mroi' غير متاح.
|
roi_rf
|
التوزيع السابق على عائد الاستثمار أو عائد الاستثمار المعدَّل (حسب قيمةpaid_media_prior_type) لكل قناة "مدى الوصول إلى الجمهور ومعدّل التكرار" تتجاهل Meridian
هذا التوزيع إذا كان paid_media_prior_type هو 'coefficient'
وتستخدِم beta_rf بدلاً منه. عندما يكون paid_media_prior_type يساوي 'roi' أو
'mroi'، يتم احتساب beta_rf كدالّة حتمية ل
roi_rf وalpha_rf وec_rf وslope_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، يتم تفسير عائد الاستثمار على أنّه وحدات قياس الأداء المتزايد
لكل وحدة نقدية تم إنفاقها. في هذه
الحالة: 1) إذا كان الخيار paid_media_prior_type='roi'، سيتم تجاهل القيمة التلقائية لكل منroi_m
وroi_rf وسيتم تحديد عائد استثمار شائع مسبقًا
لجميع القنوات لتحقيق متوسّط مستهدَف وانحراف معياري على
إجمالي مساهمة الوسائط، و2) الخيار paid_media_prior_type='mroi' ليس
متاحًا.
|
الطُرق
broadcast
broadcast(
n_geos: int,
n_media_channels: int,
n_rf_channels: int,
n_organic_media_channels: int,
n_organic_rf_channels: int,
n_controls: int,
n_non_media_channels: int,
sigma_shape: int,
n_knots: int,
is_national: bool,
paid_media_prior_type: str,
set_roi_prior: bool,
kpi: float,
total_spend: np.ndarray
) -> PriorDistribution
عرض 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
|
رقم يصف شكل مَعلمة سيغما. يمكن أن يكون
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
|
مؤشر منطقي يشير إلى ما إذا كان يجب ضبط عائد الاستثمار السابق. |
kpi
|
مجموع مؤشر الأداء الرئيسي بالكامل على مستوى المواقع الجغرافية والوقت مطلوبة إذا
set_roi_prior=True.
|
total_spend
|
الإنفاق لكلّ قناة وسائط مجمّع على مستوى المواقع الجغرافية والوقت مطلوب
إذا set_roi_prior=True.
|
| المرتجعات | |
|---|---|
بثّ PriorDistribution جديد من هذا التوزيع السابق،
وفقًا لسمة البيانات المحدّدة
|
| الارتفاعات | |
|---|---|
ValueError
|
إذا لم يتم ضبط القنوات المفضّلة المخصّصة لجميع القنوات |
has_deterministic_param
has_deterministic_param(
param: tfp.distributions.Distribution
) -> bool
__eq__
__eq__(
other
)
عرض self==value
عرض المصدر على GitHub