نصف النهار.مدل.مدل.مریدین

شامل عملکرد اصلی برای نصب مدل مریدین MMM.

input_data یک شی InputData حاوی داده های ورودی مدل.
model_spec یک شی ModelSpec حاوی مشخصات مدل.
inference_data یک شی arviz.InferenceData قابل تغییر که حاوی داده های حاصل از برازش مدل است.
n_geos تعداد مکان‌های جغرافیایی در داده‌ها
n_media_channels تعداد کانال های رسانه در داده ها.
n_rf_channels تعداد کانال های دسترسی و فرکانس (RF) در داده ها.
all_channel_names نام همه کانال‌های رسانه (از جمله R&F، در صورت وجود) در داده‌ها، به ترتیب هماهنگ.
n_controls تعداد متغیرهای کنترلی در داده ها.
n_times تعداد دوره‌های زمانی در KPI یا داده‌های هزینه.
n_media_times تعداد دوره های زمانی در داده های رسانه ای.
is_national یک بولی که نشان می‌دهد داده‌ها ملی هستند (تک جغرافیایی) یا نه (چند جغرافیایی).
knot_info KnotInfo برگرفته از داده های ورودی و مشخصات مدل.
kpi یک تانسور ساخته شده از input_data.kpi .
revenue_per_kpi تانسوری که از input_data.revenue_per_kpi ساخته شده است. اگر input_data.revenue_per_kpi None باشد، این نیز None است.
controls یک تانسور ساخته شده از input_data.controls .
population تانسوری که از input_data.population ساخته شده است.
media_tensors مجموعه‌ای از تانسورهای رسانه‌ای که از input_data مشتق شده‌اند.
rf_tensors مجموعه ای از تانسورهای رسانه ای Reach & Frequency (RF).
total_spend تانسوری حاوی کل هزینه، از جمله media_tensors.media_spend و rf_tensors.rf_spend .
controls_transformer یک ControlsTransformer برای مقیاس‌بندی تانسورهای کنترل با استفاده از داده‌های کنترل مدل.
kpi_transformer KpiTransformer برای مقیاس‌بندی تانسورهای KPI با استفاده از داده‌های KPI مدل.
controls_scaled تانسور کنترل بر اساس جمعیت و مقدار میانه نرمال شده است.
kpi_scaled تانسور KPI با جمعیت و مقدار میانه نرمال شده است.
media_effects_dist رشته ای برای مشخص کردن توزیع جلوه های تصادفی رسانه در سراسر جغرافیا.
unique_sigma_for_each_geo یک بولی که نشان می دهد آیا باید از یک واریانس باقیمانده منحصر به فرد برای هر جغرافیایی استفاده کرد یا خیر.
prior_broadcast یک شی PriorDistribution حاوی توزیع های پخش شده.
baseline_geo_idx شاخص جغرافیای پایه.
holdout_id یک تانسور حاوی شناسه نگهدارنده، در صورت وجود.

روش ها

adstock_hill_media

مشاهده منبع

رسانه ها را با استفاده از توابع Adstock و Hill به ترتیب دلخواه تغییر می دهد.

ارگ
media تانسور ابعاد (n_geos, n_media_times, n_media_channels) حاوی مقادیر غیرمنفی اجرای رسانه. معمولاً این نمایش‌ها است، اما می‌تواند هر معیاری باشد، مانند media_spend . کلیک ها اغلب برای تبلیغات جستجوی پولی استفاده می شوند.
alpha توزیع یکنواخت برای محاسبات Adstock و Hill.
ec توزیع نیمه نرمال برای محاسبات Adstock و Hill تغییر یافته است.
slope توزیع قطعی برای محاسبات Adstock و Hill.
n_times_output تعداد دوره های زمانی برای خروجی. این آرگومان زمانی اختیاری است که تعداد دوره‌های زمانی در media برابر self.n_media_times باشد، در این صورت n_times_output پیش‌فرض self.n_times است.

برمی گرداند
تانسور با ابعاد [..., n_geos, n_times, n_media_channels] نشان دهنده رسانه Adstock و Hill-transformed است.

adstock_hill_rf

مشاهده منبع

دسترسی و فرکانس (RF) را با استفاده از توابع Hill و Adstock تبدیل می کند.

ارگ
reach تانسور ابعاد (n_geos, n_media_times, n_rf_channels) حاوی رسانه غیرمنفی برای دسترسی.
frequency تانسور ابعاد (n_geos, n_media_times, n_rf_channels) حاوی رسانه غیر منفی برای فرکانس.
alpha توزیع یکنواخت برای محاسبات Adstock و Hill.
ec توزیع نیمه نرمال برای محاسبات Adstock و Hill تغییر یافته است.
slope توزیع قطعی برای محاسبات Adstock و Hill.
n_times_output تعداد دوره های زمانی برای خروجی. این آرگومان زمانی اختیاری است که تعداد دوره‌های زمانی در reach برابر self.n_media_times باشد، در این صورت n_times_output پیش‌فرض self.n_times است.

برمی گرداند
تانسور با ابعاد [..., n_geos, n_times, n_rf_channels] نشان دهنده RF تبدیل شده توسط Hill و Adstock است.

expand_selected_time_dims

مشاهده منبع

ارزش‌های بعد زمانی را بر اساس زمان‌های انتخاب شده اعتبارسنجی و برمی‌گرداند.

اگر هر دو start_date و end_date None باشند، None را برمی‌گرداند.

ارگ
start_date تاریخ شروع دوره زمانی انتخاب شده اگر هیچ، اولین مقدار بعد زمانی را در داده های ورودی نشان می دهد.
end_date تاریخ پایان دوره زمانی انتخاب شده اگر هیچ، آخرین مقدار بعد زمانی را در داده های ورودی نشان می دهد.

برمی گرداند
فهرستی از مقادیر بعد زمانی (به عنوان رشته‌های قالب‌بندی مریدین) در داده‌های ورودی در بازه زمانی انتخاب‌شده، یا اگر هر دو آرگومان Nones هستند، کاری انجام نمی‌دهند و از None عبور می‌کنند، یا اگر start_date و end_date با کل محدوده زمانی در ورودی مطابقت دارند. داده ها

افزایش می دهد
ValueError اگر start_date یا end_date در ابعاد زمان داده ورودی نباشد.

populate_cached_properties

مشاهده منبع

مشتاقانه تمام ویژگی های کش را فعال می کند.

این برای ایجاد یک نمودار محاسباتی tf.function با این شی مریدین به عنوان بخشی از بسته شدن ضبط شده مفید است. در نمودار محاسباتی، جهش‌های حالت داخلی مشکل دارند، بنابراین این روش، حالت‌های جسم را قبل از ایجاد نمودار محاسباتی منجمد می‌کند.

sample_posterior

مشاهده منبع

نمونه‌برداری زنجیره‌ای مارکوف مونت کارلو (MCMC) از توزیع‌های پسین را اجرا می‌کند.

برای اطلاعات بیشتر درباره آرگومان‌ها، به windowed_adaptive_nuts مراجعه کنید.

ارگ
n_chains تعداد زنجیره های MCMC. با توجه به دنباله ای از اعداد صحیح، windowed_adaptive_nuts یک بار برای هر عنصر فراخوانی می شود. آرگومان n_chains هر فراخوانی windowed_adaptive_nuts برابر با عنصر صحیح مربوطه خواهد بود. با استفاده از فهرستی از اعداد صحیح، می‌توان زنجیره‌های یک فراخوانی windowed_adaptive_nuts را به چندین تماس با زنجیره‌های کمتر در هر تماس تقسیم کرد. این می تواند استفاده از حافظه را کاهش دهد. این ممکن است به افزایش تعداد مراحل سازگاری برای همگرایی نیاز داشته باشد، زیرا بهینه‌سازی در زنجیره‌های کمتری در هر تماس نمونه‌برداری انجام می‌شود.
n_adapt تعداد قرعه کشی های سازگاری در هر زنجیره.
n_burnin تعداد قرعه کشی های سوخته در هر زنجیره. قرعه‌کشی‌های Burn-in بعد از قرعه‌کشی‌های اقتباسی و قبل از قرعه‌کشی‌های نگه‌داشته‌شده رخ می‌دهند.
n_keep تعداد صحیح قرعه کشی ها در هر زنجیره برای استنباط حفظ شود.
current_state ساختار اختیاری تانسورها که در آن نمونه برداری اولیه انجام می شود. از شکل و ساختار مشابه model.experimental_pin(**pins).sample(n_chains) استفاده کنید.
init_step_size عدد صحیح اختیاری تعیین محل مقداردهی اولیه گام برای یکپارچه ساز جهشی. ساختار باید با current_state پخش شود. به عنوان مثال، اگر حالت اولیه این باشد: { 'a': tf.zeros(n_chains), 'b': tf.zeros([n_chains, n_features]), } هر یک از 1. , {'a': 1., 'b': 1.} یا {'a': tf.ones(n_chains), 'b': tf.ones([n_chains, n_features])} کار خواهد کرد. پیش‌فرض بعد چگالی ورود به سیستم به توان ¼ است.
dual_averaging_kwargs آرگومان های کلمه کلیدی اختیاری برای ارسال به tfp.mcmc.DualAveragingStepSizeAdaptation . به طور پیش‌فرض، یک target_accept_prob برابر با 0.85 تنظیم می‌شود، احتمال پذیرش در سراسر زنجیره‌ها با استفاده از میانگین هارمونیک کاهش می‌یابد، و پیش‌فرض‌های کلاس در غیر این صورت استفاده می‌شوند.
max_tree_depth حداکثر عمق درخت که به طور ضمنی توسط NUTS ساخته شده است. حداکثر تعداد گام‌های جهشی با 2**max_tree_depth محدود می‌شود، برای مثال، تعداد گره‌ها در یک درخت باینری max_tree_depth گره‌های عمیق. تنظیم پیش فرض 10 تا 1024 مرحله جهشی طول می کشد.
max_energy_diff آستانه اسکالر تفاوت انرژی در هر جهش، نمونه های واگرایی به عنوان مراحل جهشی که از این آستانه فراتر می روند، تعریف می شوند. پیش فرض 1000 است.
unrolled_leapfrog_steps تعداد جهش‌هایی که باید در هر مرحله گسترش درخت باز شوند. یک ضریب خطی مستقیم را برای حداکثر طول مسیری که توسط max_tree_depth ذکر شده است اعمال می کند. پیش فرض ها 1 است.
parallel_iterations تعداد تکرارهایی که مجاز به اجرای موازی هستند. باید یک عدد صحیح مثبت باشد. برای اطلاعات بیشتر، tf.while_loop ببینید.
seed برای تنظیم دانه برای نتایج قابل تکرار استفاده می شود. برای اطلاعات بیشتر، به PRNGS and seeds مراجعه کنید.
**pins اینها برای شرطی کردن توزیع مشترک ارائه شده استفاده می‌شوند و مستقیماً به joint_dist.experimental_pin(**pins) ارسال می‌شوند.

پرتاب می کند
MCMCOOMError اگر حافظه مدل تمام شده باشد. سعی کنید n_keep کاهش دهید یا فهرستی از اعداد صحیح را به‌عنوان n_chains به زنجیره‌های نمونه ارسال کنید (به https://developers.google.com/meridian/docs/advanced-modeling/model-debugging#gpu-oom-error مراجعه کنید).

sample_prior

مشاهده منبع

نمونه هایی را از توزیع های قبلی ترسیم می کند.

ارگ
n_draws تعداد نمونه های گرفته شده از توزیع قبلی.
seed برای تنظیم دانه برای نتایج قابل تکرار استفاده می شود. برای اطلاعات بیشتر، به PRNGS and seeds مراجعه کنید.