Menu
CoddyTech

ערך צפוי

חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 16 מתוך 64.

הגרלה: 70% מהכרטיסים לא זוכים בכלום, 25% זוכים ב־5 דולרים, 5% זוכים ב־20. כמה שווה כרטיס אחד?

שלושה עמודות של פרסי ההגרלה: 0, 5 ו־20 דולרים, עם סיכויי זכייה של 0.7, 0.25 ו־0.05. העמודות מונחות על קורה כמו בנדנדה, המאוזנת על משולש בנקודה 2.25, הערך הצפוי

שקללו כל פרס לפי הסיכוי לזכות בו וחברו: הערך הצפוי, נקודת האיזון של הגרף:

prizes = np.array([0, 5, 20])
chances = np.array([0.7, 0.25, 0.05])
print((prizes * chances).sum())

זה מדפיס 2.25, את הממוצע לטווח הארוך, אף שאף כרטיס לא מעניק אותו. rng.choice עם p= מגריל כרטיסים לפי הסיכויים האלה:

rng = np.random.default_rng(1)
tickets = rng.choice(prizes, size=10000, p=chances)
print(tickets.mean())

זה מדפיס 2.298. במחיר של 3 דולר, קונה מפסיד 0.75 לכל כרטיס. גם שגיאת הממוצע של מודל על נתונים חדשים היא ערך צפוי.

challenge icon

אתגר

בינוני

גלגל ביריד מעניק את האסימונים שב־prizes, כאשר לכל אזור יש את ההסתברות שלו ב־chances. קוד הפתיחה סובב אותו 4000 פעמים ושמר את התוצאות ב־spins; התוכנית קוראת את מחיר הסיבוב.

  1. הדפיסו את הפרס הצפוי, ואז את הממוצע המדומה, שניהם עם 2 ספרות אחרי הנקודה העשרונית.
  2. הדפיסו אם שחקן מרוויח או מפסיד בכל סיבוב בטווח הארוך, ובכמה.

עבור גלגל אחר ומחיר של 1.5:

Expected prize: 1.1 tokens
Simulated average: 1.08 tokens
A player loses 0.4 tokens a spin

נסו בעצמכם

import numpy as np

price = float(input())

# הפרס בכל אזור בגלגל, באסימונים, והסיכוי לזכות בו
prizes = np.array([0, 1, 4, 10])
chances = np.array([0.5, 0.3, 0.15, 0.05])

# אין לשנות את השורות הבאות: 4000 סיבובים מדומים
rng = np.random.default_rng(9)
spins = rng.choice(prizes, size=4000, p=chances)

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה

תרגלו בעצמכם: קומפיילר Python אונליין