meridian.model.model.Meridian

מכיל את הפונקציונליות העיקרית להתאמה של מודל MMM של Meridian.

input_data אובייקט InputData שמכיל את נתוני הקלט של המודל.
model_spec אובייקט ModelSpec שמכיל את מפרט המודל.
inference_data אובייקט arviz.InferenceData ניתן לשינוי שמכיל את הנתונים שהתקבלו מהתאמת המודל.
n_geos מספר המיקומים הגיאוגרפיים בנתונים.
n_media_channels מספר ערוצי המדיה בנתונים.
n_rf_channels מספר הערוצים של היקף החשיפה והתדירות (RF) בנתונים.
n_organic_media_channels מספר ערוצי המדיה האורגניים בנתונים.
n_organic_rf_channels מספר הערוצים האורגניים של היקף החשיפה והתדירות (RF) בנתונים.
n_controls מספר משתני הבקרה בנתונים.
n_non_media_channels מספר הערוצים לטיפול שאינם קשורים למדיה בנתונים.
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.
non_media_treatments טינסור שנוצר מ-input_data.non_media_treatments.
population טינסור שנוצר מ-input_data.population.
media_tensors אוסף של טינסורים של מדיה שמקורם ב-input_data.
rf_tensors אוסף של טינסורים של מדיה של היקף חשיפה ותדירות (RF).
organic_media_tensors אוסף של טינסורים של מדיה אורגנית.
organic_rf_tensors אוסף של טינסורים של מדיה אורגנית של היקף חשיפה ותדירות (RF).
total_spend טינסור שמכיל את סך ההוצאות, כולל media_tensors.media_spend ו-rf_tensors.rf_spend.
controls_transformer ControlsTransformer לשינוי קנה המידה של טינסורים של אמצעי בקרה באמצעות נתוני אמצעי הבקרה של המודל.
non_media_transformer CenteringAndScalingTransformer כדי לשנות את קנה המידה של טינסורים של טיפולים שאינם מדיה באמצעות נתוני הטיפולים שאינם מדיה של המודל.
kpi_transformer KpiTransformer כדי לשנות את קנה המידה של טינסורים של מדדי KPI באמצעות נתוני מדדי ה-KPI של המודל.
controls_scaled טינסור אמצעי הבקרה שמנורמלי לפי אוכלוסייה ועל סמך הערך החציוני.
non_media_treatments_scaled הטנסור של הטיפול ללא מדיה, לאחר נורמליזציה לפי האוכלוסייה ועל סמך הערך החציוני.
kpi_scaled טינסור מדדי ה-KPI שמנורמלי לפי אוכלוסייה ולפי הערך החציוני.
media_effects_dist מחרוזת לציון ההתפלגות של האפקטים האקראיים של המדיה לפי מיקומים גיאוגרפיים.
unique_sigma_for_each_geo ערך בוליאני שמציין אם להשתמש בתנודות ייחודיות של נתונים שיורית לכל אזור גיאוגרפי.
prior_broadcast אובייקט PriorDistribution שמכיל הפצות ששודרו.
baseline_geo_idx האינדקס של המיקום הגיאוגרפי של קבוצת הבקרה.
holdout_id טרנספורמציית טינסור שמכילה את מזהה הקבוצה הנפרדת, אם הוא קיים.

Methods

adstock_hill_media

הצגת המקור

פונקציה שמבצעת טרנספורמציה של מדיה באמצעות הפונקציות Adstock ו-Hill בסדר הרצוי.

Args
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.

adstock_hill_rf

הצגת המקור

פונקציה שממירה את פוטנציאל החשיפה והתדירות (RF) באמצעות הפונקציות Hill ו-Adstock.

Args
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.

Args
start_date תאריך ההתחלה של התקופה שנבחרה. אם הערך הוא None, המשמעות היא שהערך המוקדם ביותר של מאפיין הזמן בנתוני הקלט.
end_date תאריך הסיום של התקופה שנבחרה. אם הערך הוא None, המשמעות היא שהערך האחרון של מאפיין הזמן בנתוני הקלט.

החזרות
רשימה של ערכים של מאפיין הזמן (כתווים בפורמט Meridian) בנתוני הקלט בתקופה שנבחרה, או לא לעשות כלום ולהעביר את הערך None אם שני הארגומנטים הם Nones, או אם start_date ו-end_date תואמים לכל טווח הזמן בנתוני הקלט.

העלאות
הודעת ValueError אם start_date או end_date לא נמצאים במאפייני הזמן של נתוני הקלט.

populate_cached_properties

הצגת המקור

הפעלה מיידית של כל הנכסים שנשמרו במטמון.

אפשר להשתמש בזה כדי ליצור תרשים חישוב של tf.function עם אובייקט Meridian הזה כחלק מ-closure שנלכד. בתוך תרשים החישוב, מוטציות של המצב הפנימי הן בעייתיות, ולכן השיטה הזו מקפיאה את המצבים של האובייקט לפני יצירת תרשים החישוב.

sample_posterior

הצגת המקור

הפעלת דגימה של שרשראות מרקוב מסוג Monte Carlo (MCMC) של התפלגויות פוסטריוריות.

מידע נוסף על הארגומנטים זמין במאמר windowed_adaptive_nuts.

Args
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 ארגומנטים אופציונליים של מילות מפתח מסוג dict שאפשר להעביר אל 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 מספר החזרות (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

הצגת המקור

יצירת דגימות מההתפלגויות הקודמות.

Args
n_draws מספר הדגימות שנשלפו מההתפלגות הקודמת.
seed משמש להגדרת ערך הבסיס לקבלת תוצאות שניתן לשחזור. מידע נוסף זמין במאמר PRNGS וזרעים.