মেরিডিয়ান এমএমএম মডেল ফিট করার জন্য প্রধান কার্যকারিতা রয়েছে।
meridian.model.model.Meridian(
input_data: meridian.data.input_data.InputData,
model_spec: (meridian.model.spec.ModelSpec | None) = None
)
গুণাবলী |
|---|
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 | কেপিআই বা ব্যয় ডেটাতে সময়কালের সংখ্যা। |
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 | রিচ অ্যান্ড ফ্রিকোয়েন্সি (RF) মিডিয়া টেনসরের একটি সংগ্রহ। |
total_spend | media_tensors.media_spend এবং rf_tensors.rf_spend সহ মোট ব্যয় সম্বলিত একটি টেনসর। |
controls_transformer | একটি ControlsTransformer মডেলের কন্ট্রোল ডেটা ব্যবহার করে টেনসর নিয়ন্ত্রণ করে। |
kpi_transformer | মডেলের KPI ডেটা ব্যবহার করে KPI টেনসর স্কেল করার জন্য একটি KpiTransformer । |
controls_scaled | নিয়ন্ত্রণ টেনসর জনসংখ্যা এবং মধ্যম মান দ্বারা স্বাভাবিক করা হয়. |
kpi_scaled | KPI টেনসর জনসংখ্যা এবং মধ্যম মান দ্বারা স্বাভাবিক করা হয়। |
media_effects_dist | জিওস জুড়ে মিডিয়া এলোমেলো প্রভাবের বিতরণ নির্দিষ্ট করার জন্য একটি স্ট্রিং। |
unique_sigma_for_each_geo | একটি বুলিয়ান নির্দেশ করে যে প্রতিটি জিওর জন্য একটি অনন্য অবশিষ্ট প্রকরণ ব্যবহার করতে হবে কিনা। |
prior_broadcast | সম্প্রচারিত ডিস্ট্রিবিউশন ধারণকারী একটি PriorDistribution অবজেক্ট। |
baseline_geo_idx | বেসলাইন জিওর সূচক। |
holdout_id | হোল্ডআউট আইডি ধারণকারী একটি টেনসর, যদি উপস্থিত থাকে। |
পদ্ধতি
উৎস দেখুন
adstock_hill_media(
media: tf.Tensor,
alpha: tf.Tensor,
ec: tf.Tensor,
slope: tf.Tensor,
n_times_output: (int | None) = None
) -> tf.Tensor
পছন্দসই ক্রমে অ্যাডস্টক এবং হিল ফাংশন ব্যবহার করে মিডিয়াকে রূপান্তরিত করে।
| আর্গস |
|---|
media | মাত্রার টেনসর (n_geos, n_media_times, n_media_channels) যাতে অ-নেতিবাচক মিডিয়া এক্সিকিউশন মান রয়েছে। সাধারণত এটি ইম্প্রেশন, তবে এটি যে কোনো মেট্রিক হতে পারে, যেমন media_spend । ক্লিকগুলি প্রায়ই অর্থপ্রদানের অনুসন্ধান বিজ্ঞাপনগুলির জন্য ব্যবহৃত হয়। |
alpha | অ্যাডস্টক এবং হিল গণনার জন্য অভিন্ন বন্টন। |
ec | অ্যাডস্টক এবং হিল গণনার জন্য অর্ধ-স্বাভাবিক বন্টন স্থানান্তরিত হয়েছে। |
slope | অ্যাডস্টক এবং হিল গণনার জন্য নির্ধারক বন্টন। |
n_times_output | আউটপুট করার সময়কালের সংখ্যা। এই যুক্তিটি ঐচ্ছিক যখন media সময়কালের সংখ্যা self.n_media_times সমান হয়, যে ক্ষেত্রে n_times_output ডিফল্ট self.n_times । |
| রিটার্নস |
|---|
মাত্রা সহ টেনসর [..., n_geos, n_times, n_media_channels] যেটি অ্যাডস্টক এবং হিল-ট্রান্সফর্মড মিডিয়ার প্রতিনিধিত্ব করে। |
adstock_hill_rf
উৎস দেখুন
adstock_hill_rf(
reach: tf.Tensor,
frequency: tf.Tensor,
alpha: tf.Tensor,
ec: tf.Tensor,
slope: tf.Tensor,
n_times_output: (int | None) = None
) -> tf.Tensor
হিল এবং অ্যাডস্টক ফাংশন ব্যবহার করে পৌঁছানোর এবং ফ্রিকোয়েন্সি (আরএফ) রূপান্তরিত করে।
| আর্গস |
|---|
reach | মাত্রার টেনসর (n_geos, n_media_times, n_rf_channels) যাতে নাগালের জন্য অ-নেতিবাচক মিডিয়া রয়েছে। |
frequency | মাত্রার টেনসর (n_geos, n_media_times, n_rf_channels) যাতে ফ্রিকোয়েন্সির জন্য অ-নেতিবাচক মিডিয়া থাকে। |
alpha | অ্যাডস্টক এবং হিল গণনার জন্য অভিন্ন বন্টন। |
ec | অ্যাডস্টক এবং হিল গণনার জন্য অর্ধ-স্বাভাবিক বন্টন স্থানান্তরিত হয়েছে। |
slope | অ্যাডস্টক এবং হিল গণনার জন্য নির্ধারক বন্টন। |
n_times_output | আউটপুট করার সময়কালের সংখ্যা। এই যুক্তি ঐচ্ছিক যখন reach সময়কালের সংখ্যা self.n_media_times সমান হয়, যে ক্ষেত্রে n_times_output ডিফল্ট self.n_times । |
| রিটার্নস |
|---|
মাত্রা সহ টেনসর [..., n_geos, n_times, n_rf_channels] হিল এবং অ্যাডস্টক-রূপান্তরিত RF প্রতিনিধিত্ব করে। |
expand_selected_time_dims
উৎস দেখুন
expand_selected_time_dims(
start_date: (tc.Date | None) = None, end_date: (tc.Date | None) = None
) -> (list[str] | None)
নির্বাচিত সময়ের উপর ভিত্তি করে সময়ের মাত্রা মান যাচাই করে এবং প্রদান করে।
start_date এবং end_date উভয়ই যদি কোনটিই না হয় তবে কোনটিই প্রদান করে না।
| আর্গস |
|---|
start_date | নির্বাচিত সময়কালের শুরুর তারিখ। যদি কোনটি না হয়, ইনপুট ডেটাতে প্রথম দিকের সময় মাত্রার মান বোঝায়। |
end_date | নির্বাচিত সময়কালের শেষ তারিখ। যদি কিছু না হয়, ইনপুট ডেটাতে সাম্প্রতিক সময়ের মাত্রা মান বোঝায়। |
| রিটার্নস |
|---|
নির্বাচিত সময়ের মধ্যে ইনপুট ডেটাতে সময় মাত্রা মানগুলির একটি তালিকা (মেরিডিয়ান-ফরম্যাট করা স্ট্রিং হিসাবে), অথবা উভয় আর্গুমেন্টই যদি None হয়, অথবা যদি start_date এবং end_date ইনপুটে সম্পূর্ণ সময় সীমার সাথে মিলে যায় তবে কিছুই করবেন না এবং None এর মধ্য দিয়ে যান তথ্য |
| বাড়ায় |
|---|
মান ত্রুটি যদি start_date বা end_date ইনপুট ডেটা সময় মাত্রায় না থাকে। |
populate_cached_properties
উৎস দেখুন
populate_cached_properties()
সাগ্রহে সব ক্যাশে বৈশিষ্ট্য সক্রিয়.
এটি একটি ক্যাপচার করা বন্ধের অংশ হিসাবে এই মেরিডিয়ান বস্তুর সাথে একটি tf.function গণনা গ্রাফ তৈরি করার জন্য দরকারী। গণনা গ্রাফের মধ্যে, অভ্যন্তরীণ অবস্থার মিউটেশনগুলি সমস্যাযুক্ত, এবং তাই এই পদ্ধতিটি গণনা গ্রাফ তৈরি হওয়ার আগে বস্তুর অবস্থাগুলিকে হিমায়িত করে।
sample_posterior
উৎস দেখুন
sample_posterior(
n_chains: (Sequence[int] | int),
n_adapt: int,
n_burnin: int,
n_keep: int,
current_state: (Mapping[str, tf.Tensor] | None) = None,
init_step_size: (int | None) = None,
dual_averaging_kwargs: (Mapping[str, int] | None) = None,
max_tree_depth: int = 10,
max_energy_diff: float = 500.0,
unrolled_leapfrog_steps: int = 1,
parallel_iterations: int = 10,
seed: (Sequence[int] | None) = None,
**pins
)
মার্কভ চেইন মন্টে কার্লো (MCMC) পোস্টেরিয়র ডিস্ট্রিবিউশনের নমুনা চালায়।
আর্গুমেন্ট সম্পর্কে আরও তথ্যের জন্য, windowed_adaptive_nuts দেখুন।
| আর্গস |
|---|
n_chains | MCMC চেইনের সংখ্যা। পূর্ণসংখ্যার একটি ক্রম দেওয়া, windowed_adaptive_nuts প্রতিটি উপাদানের জন্য একবার কল করা হবে। প্রতিটি windowed_adaptive_nuts কলের n_chains আর্গুমেন্ট সংশ্লিষ্ট পূর্ণসংখ্যা উপাদানের সমান হবে। পূর্ণসংখ্যার একটি তালিকা ব্যবহার করে, কেউ একটি windowed_adaptive_nuts কলের চেইনকে প্রতি কলে কম চেইন সহ একাধিক কলে বিভক্ত করতে পারে। এটি মেমরি ব্যবহার কমাতে পারে। এর জন্য অভিন্নতার জন্য অভিযোজন পদক্ষেপের একটি বর্ধিত সংখ্যক প্রয়োজন হতে পারে, কারণ প্রতি নমুনা কল প্রতি কম চেইন জুড়ে অপ্টিমাইজেশান ঘটছে। |
n_adapt | প্রতি চেইন অভিযোজন ড্র সংখ্যা. |
n_burnin | প্রতি চেইন বার্ন-ইন ড্রয়ের সংখ্যা। বার্ন-ইন ড্র হয় অভিযোজন ড্রয়ের পরে এবং রাখা ড্রয়ের আগে। |
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 এ পাস করার জন্য ঐচ্ছিক ডিক্ট কীওয়ার্ড আর্গুমেন্ট। ডিফল্টরূপে, 0.85 এর একটি target_accept_prob সেট করা হয়, হারমোনিক গড় ব্যবহার করে চেইন জুড়ে গ্রহণযোগ্যতার সম্ভাবনা হ্রাস করা হয়, এবং ক্লাস ডিফল্টগুলি অন্যথায় ব্যবহার করা হয়। |
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 এবং বীজ দেখুন। |
**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
উৎস দেখুন
sample_prior(
n_draws: int, seed: (int | None) = None
)
পূর্বের বিতরণ থেকে নমুনা আঁকে।
| আর্গস |
|---|
n_draws | পূর্বের বিতরণ থেকে আঁকা নমুনার সংখ্যা। |
seed | পুনরুৎপাদনযোগ্য ফলাফলের জন্য বীজ সেট করতে ব্যবহৃত হয়। আরও তথ্যের জন্য, PRNGS এবং বীজ দেখুন। |