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)),
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)),
gamma_c: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.Normal(0.0, \n 5.0, name=constants.GAMMA_C)),
xi_c: tfp.distributions.Distribution = dataclasses.field(default_factory=lambda : tfp.distributions.HalfNormal(5.0,\n name=constants.XI_C)),
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)),
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)),
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)),
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 হল মেরিডিয়ানের জন্য একটি ইউটিলিটি ক্লাস। PriorDistribution এর আর্গুমেন্টের প্রয়োজনীয় আকারগুলি মেরিডিয়ানে পাঠানো মডেলিং বিকল্প এবং ডেটা আকারের উপর নির্ভর করে। উদাহরণস্বরূপ, 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 এর সাথে সম্পর্কিত অবস্থানে একটি শূন্য রয়েছে। মেরিডিয়ান এই বন্টন উপেক্ষা করে যদি n_geos = 1 । ডিফল্ট বিতরণ Normal(0.0, 5.0) । |
beta_m | ইমপ্রেশন মিডিয়া চ্যানেল ( beta_gm ) এর জন্য জিও-লেভেল মিডিয়া ইফেক্টের শ্রেণীবদ্ধ বন্টনের জন্য একটি প্যারামিটারে পূর্বে বিতরণ। যখন media_effects_dist 'normal' তে সেট করা হয়, তখন এটি শ্রেণিবদ্ধ গড়। যখন media_effects_dist 'log_normal' তে সেট করা হয়, তখন এটি অন্তর্নিহিত, লগ-রূপান্তরিত, Normal বন্টনের গড় জন্য অনুক্রমিক পরামিতি। use_roi_prior True হলে এবং পরিবর্তে roi_m prior ব্যবহার করলে মেরিডিয়ান এই বিতরণ উপেক্ষা করে। ডিফল্ট বিতরণ হল HalfNormal(5.0) । |
beta_rf | নাগাল এবং ফ্রিকোয়েন্সি মিডিয়া চ্যানেলের জন্য ভূ-স্তরের মিডিয়া প্রভাবের শ্রেণিবিন্যাসের জন্য একটি প্যারামিটারে পূর্বে বিতরণ ( beta_grf )। যখন media_effects_dist 'normal' তে সেট করা হয়, তখন এটি শ্রেণিবদ্ধ গড়। যখন media_effects_dist 'log_normal' তে সেট করা হয়, তখন এটি অন্তর্নিহিত, লগ-রূপান্তরিত, Normal বন্টনের গড় জন্য অনুক্রমিক পরামিতি। use_roi_prior True হলে মেরিডিয়ান এই বিতরণ উপেক্ষা করে এবং পরিবর্তে roi_m prior ব্যবহার করে। ডিফল্ট বিতরণ হল 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 এর অনুক্রমিক গড়ের পূর্বে বিতরণ যা জিও g এর জন্য নিয়ন্ত্রণ c এর সহগ। শ্রেণীবিন্যাস geos উপর সংজ্ঞায়িত করা হয়. ডিফল্ট বিতরণ Normal(0.0, 5.0) । |
xi_c | gamma_gc এর শ্রেণীবিন্যাসের মানক বিচ্যুতির পূর্বে বন্টন যা জিও g এর জন্য নিয়ন্ত্রণ c এর সহগ। শ্রেণীবিন্যাস geos উপর সংজ্ঞায়িত করা হয়. ডিফল্ট বিতরণ হল HalfNormal(5.0) । |
alpha_m | মিডিয়া ইনপুটের জন্য geometric decay অ্যাডস্টক প্যারামিটারে পূর্বে বিতরণ। ডিফল্ট বিতরণ Uniform(0.0, 1.0) । |
alpha_rf | RF ইনপুটের জন্য geometric decay অ্যাডস্টক প্যারামিটারে পূর্বে বিতরণ। ডিফল্ট বিতরণ Uniform(0.0, 1.0) । |
ec_m | মিডিয়া ইনপুটের জন্য half-saturation হিল প্যারামিটারে পূর্বে বিতরণ। ডিফল্ট ডিস্ট্রিবিউশন হল TruncatedNormal(0.8, 0.8, 0.1, 10) |
ec_rf | RF ইনপুটের জন্য half-saturation হিল প্যারামিটারে পূর্বে বিতরণ। ডিফল্ট বন্টন হল TransformedDistribution(LogNormal(0.7, 0.4), Shift(0.1)) । |
slope_m | মিডিয়া ইনপুটের জন্য slope হিল প্যারামিটারে পূর্বে বিতরণ। ডিফল্ট ডিস্ট্রিবিউশন হল Deterministic(1.0) । |
slope_rf | RF ইনপুটের জন্য slope হিল প্যারামিটারে পূর্বে বিতরণ। ডিফল্ট বিতরণ হল LogNormal(0.7, 0.4) । |
sigma | শব্দের মানক বিচ্যুতিতে পূর্বে বিতরণ। ডিফল্ট বিতরণ হল HalfNormal(5.0) । |
roi_m | মিডিয়া ইনপুটে অনুক্রমিক ROI এর পূর্বে বিতরণ। মেরিডিয়ান এই বিতরণ উপেক্ষা করে যদি use_roi_prior False হয় এবং এর পরিবর্তে beta_m ব্যবহার করে। যখন use_roi_prior True হয় তখন beta_m roi_m , alpha_m , ec_m , slope_m , এবং প্রতিটি মিডিয়া চ্যানেলের সাথে সম্পর্কিত ব্যয়ের একটি নির্ধারক ফাংশন হিসাবে গণনা করা হয় (উদাহরণস্বরূপ, মডেলটিকে beta_m এর জায়গায় roi_m দিয়ে পুনরায় প্যারামিটারাইজ করা হয়)। ডিফল্ট বিতরণ হল LogNormal(0.2, 0.9) । |
roi_rf | RF ইনপুটে অনুক্রমিক ROI এর পূর্বে বিতরণ। মেরিডিয়ান এই বিতরণ উপেক্ষা করে যদি use_roi_prior False হয় এবং এর পরিবর্তে beta_rf ব্যবহার করে। use_roi_prior যখন True হয়, তখন beta_rf roi_rf , alpha_rf , ec_rf , slope_rf , এবং প্রতিটি মিডিয়া চ্যানেলের সাথে সম্পর্কিত খরচের একটি নির্ধারক ফাংশন হিসাবে গণনা করা হয় (উদাহরণস্বরূপ, beta_rf এর জায়গায় roi_rf দিয়ে মডেলটিকে পুনরায় প্যারামিটারাইজ করা হয়)। ডিফল্ট বিতরণ হল LogNormal(0.2, 0.9) । |
পদ্ধতি
broadcast
broadcast(
n_geos: int,
n_media_channels: int,
n_rf_channels: int,
n_controls: int,
sigma_shape: int,
n_knots: int,
is_national: bool
) -> PriorDistribution
সম্প্রচার বিতরণ বৈশিষ্ট্য সহ একটি নতুন 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
has_deterministic_param(
param: tfp.distributions.Distribution
) -> bool
__eq__
__eq__(
other
)
স্ব== মান ফেরত দিন।
GitHub-এ উৎস দেখুন