להלן הצעת פתרון לשאלות מהמבחן לדוגמה. תשומת הלב ש GPT ושות׳ לא מצליחים, אולי בגלל האפשרות לכמה תשובות נכונות. הקובץ מתעדכן בחלקים, לפי קצב הפתרון. מוזמנים להתעדכן.

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

שאלה 1

חוקרת בנתה רווח סמך ברמת סמך של 90% עבור התוחלת כאשר השונות ידועה והתפלגות נורמלית.

  • א. לא נכון - הנוסחה לרמת הסמך היא:

    \[\bar{x} \pm z_{\alpha/2} \cdot \frac{\sigma}{\sqrt{n}}\]

    לכן, אם נגדיל את $n$, רמת הסמך תקטן - לא תגדל.

  • ב. לא נכון - אם התוחלת מכילס אפס - זה לא נכון. התוחלת היא לא טווח אלא ערך.

  • ג. נכון - החוקרת הייתה יכול לבנות סמך גם בלי לדעת את השונות, באמצעות שימוש בהתפלגות t.

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

    הסבר: כאשר השונות ידועה, אנחנו משתמשים בהתפלגות נורמלית, שהיא מדויקת יותר. כאשר השונות לא ידועה, אנחנו משתמשים בהתפלגות t, שהיא רחבה יותר ולכן רווח הסמך יהיה רחב יותר.

    alt text

שאלה 2: בדיקת TB

בדיקה מזהה ב 0.9 הסתברות. מזהה בריאים כחולים ב 0.05. השכיחות באוכלוסיה היא 0.01.

מה ההסתברות שמישהו חולה אם אובחן כחולה?

אפשר להשתמש בקירוב מגניב שיאיר לימד בשיעור 7:

\[P(\text{sick} | \text{positive test}) \approx \frac{\text{sick}}{\text{sick} + \text{false positive}}\]

נניח לנוחות שיש אוכלוסייה גדולה של 100,000 איש.

אז מתוכם $1,000$ יהיה חולה (השכיחות באוכלוסייה).

הFP יהיו 0.05 מתוך 99,999 הבריאים, כלומר. נעגל לנוחות ל־$5,000$.

סך הכל נקבל :

\[P(\text{sick} | \text{positive test}) \approx \frac{1,000}{1,000 + 5,000} = \frac{1,000}{6,000} \approx \frac{1}{6}\]

התוצאה האמיתית מעט קטנה יותר (כי חילקנ במספר קטן יותר כשעיגלנו למטה).

התשובה המתאימה היא ב:

\[\boxed{2/13}\]

הבהרה: אם היינו רוצים לחשב במדויק היינו צריכים גם להכפיל את החולים ב־$0.9$ ו־$0, כלומר:

\[P(\text{sick} | \text{positive test}) = \frac{0.9 \times 0.01}{0.9 \times 0.01 + 0.05 \times 0.99} = \frac{0.009}{0.0585} \approx 0.1538 \approx \frac{2}{13}\]

שאלה 3

מודל רגרסיה:

\[\text{vaccine uptake} = \alpha + \beta_1 \times \text{health} + \beta_2 \times \text{gender} + \beta_3 \times \text{education}\]

הפרמטרים הם:

  • α: קבוע
  • β₁: השפעת הבריאות (health)
  • β₂: השפעת המגדר (gender)
  • β₃: השפעת ההשכלה (education)

לרופא גבר (gender=0), בריא לחלוטין (health=4), עם 18 שנות לימוד:

\[\text{vaccine uptake} = α + 4β₁ + 0×β₂ + 18β₃ = α + 4β₁ + 18β₃\]

אני לא בטוח אגב, נראה שאפשר לפרש בכמה אופנים את השאלה.

שאלה 4

מבחן $\chi^2$ על טבלת שכיחויות בגודל 3x3, נותן סטטיסטי $\chi^2 = 7.5$.

מה ה-p-value של המבחן?

  1. chi2(df=4).sf(7.5)
  2. chi2(df=1).sf(7.5)
  3. 2*chi2(df=1).sf(7.5)
  4. 2*chi2(df=4).sf(7.5)
  5. chi2(df=8).sf(7.5)
  6. 2*chi2(df=9).sf(7.5)

ה־p-value של מבחן $\chi^2$ תלוי בדרגות החופש. במקרה של טבלת שכיחויות 3x3, דרגות החופש הן:

\[(3-1) \times (3-1) = 2 \times 2 = 4\]

לכן, ה־p-value הוא:

import scipy.stats as stats
p_value = stats.chi2.sf(7.5, df=4)
print(p_value)

נבדוק האם יש תשובות נסופות נכונות:

  • תשובה 1: chi2(df=4).sf(7.5) - נכון, כי דרגות החופש הן 4.
  • תשובה 2: chi2(df=1).sf(7.5) - לא נכון, דרגות החופש לא מתאימות.
  • תשובה 3: 2*chi2(df=1).sf(7.5) - לא נכון, דרגות החופש לא מתאימות.
  • תשובה 4: 2*chi2(df=4).sf(7.5) - לא נכון, הכפלנו ב־2 שלא לצורך.
  • תשובה 5: chi2(df=8).sf(7.5) - לא נכון, דרגות החופש לא מתאימות.
  • תשובה 6: 2*chi2(df=9).sf(7.5) - לא נכון, דרגות החופש לא מתאימות.

שאלה 5

חוקרים רוצים לבדוק השערה כי תוחלת עלות חדרי המלון בצפת גבוהה מהתוחלת הארצית. נתון שהתוחלת הארצית היא 280 ש״ח ללילה. הם אספו מידע על 16 בתי מלון והריצו בפייתון מבחן t כלהלן:

scipy.stats.ttest_1samp(x=280, popmean=0,alternative='two-sided')

התקבל הפלט:

TtestResult(statistic=np.float64(1.94), pvalue=np.float64(0.071), df=np.int64(15))

מהו ה־p-value של המבחן?

תהשובה היא ו׳ - לא ניתן לדעת, החוקרים טעו בשימוש בפייתון:

scipy.stats.ttest_1samp(x=280, popmean=0, alternative='two-sided')

אין לפונקציה ttest_1samp פרמטר x - היא מקבלת מדגם, לא תוחלת. החוקרים העבירו את התוחלת הארצית במקום מדגם.

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

import scipy
sample_data = [290, 300, 310, 270, 280, 290, 295, 285, 275, 300, 310, 320, 280, 290, 295, 305] # example data
print(scipy.stats.ttest_1samp(a=sample_data, popmean=280, alternative='greater'))

הפלט אגב הוא:

TtestResult(statistic=3.909090909090909, pvalue=0.0006975605805789302, df=15)

זה אומר שה־p-value הוא בערך 0.0007, כלומר הרבה יותר קטן מ־0.05. לכן ההשערה שהעלות גבוהה מהתוחלת הארצית סבירה.

דור פסקל