מבחן קוקראן-ארמיטאז'
דוגמה

הדוגמה הבאה מבוססת על הדוגמה שהובאה בספרו של אגרסטי שהוזכר קודם.
במחקר תצפיתי פרוספקטיבי, נלקח מדגם של כ-32000 נשים בשלבים המוקדמים של הריון. כל אישה ענתה על שאלון שתיאר את הרגלי שתיית האלכוהול שלה בשלושת החודשים הראשונים של ההריון, ועל סמך שאלונים אלה חושב ממוצע מנות האלכוהול ליום ("drinks") של כל אישה. נתונים אלה קובצו לקטגוריות שיצרו משתנה איכותי בסולם סדר. בסיום ההריון ולאחר הלידה, נרשם האם התינוק שנולד סובל ממום מולד.
הנתונים מוצגים בטבלה הבאה:
| 0 | 1 | 2 | 3 | 4 | 5 |
| --- | --- | --- | --- | --- | --- |
|  | צריכת אלכוהול יומית | צריכת אלכוהול יומית | צריכת אלכוהול יומית | צריכת אלכוהול יומית |  |

| מום בלידה | לא שתתה | פחות ממנה אחת | בין מנה אחת לשתיים | שלוש מנות או יותר | סך הכל |
| לא | 17066 | 14464 | 788 | 163 | 32481 |
| כן | 48 | 38 | 5 | 2 | 93 |
| סך הכל | 17114 | 14502 | 793 | 165 | 32574 |
נבחן 3 אפשרויות למתן ציונים למשתנה צריכת האלכוהול היומית:
ציון ליניארי: הציונים יהיו המספרים 1 עד 4. זוהי גישה נאיבית, המניחה כי ההבדלים בין כל הערכים של משתנה זה שווים, וכך ה-"שדרוג" הוא למשתנה הנמדד בסולם רווח.
אמצע הטווח: לכל ערך לש המשתנה נבחר את הממצע בין הגבול התחתון של הערך והגבול העליון שלו. הציון של "לא שתתה" יהיה לכן 0, הציון של "פחות ממנה אחת" יהיה 0.5, שהוא הממוצע של 0 ו-1. באופן דומה הציון של "בין מנה אחת לשתיים יהיה 1.5. לקטגוריה העליונה "שלוש מנות או יותר" אין גבול עליון, ולכן ניאלץ לקבוע עבורה ציון שרירותי, למשל 5. שימו לב כי כאן המרווחים בין ציוני הערכים אינם שווים
דרגה ממוצעת: נדרג את ערכי המשתנה בדומה לדירוג שנעשה במבחן ספירמן, ונקבע את הדרגה הממוצעת כציון לערך האיכותי. לדוגמה, הדרגות של התצפיות בערך "לא שתתה" הן 1 עד 17114, ולכן הדרגה הממוצעת היא הממוצע של 1 ו-17114, כלומר 8557.5. באופן דומה, הדרגות של הערך "פחות ממנה אחת" הן 17115 עד 31616, ולכן הדרגה הממוצעת של ערך זה היא הממוצע של ו-31616, כלומר 24365.5.
בתוכנת R ניתן לבצע את מבחן קוקראן-ארמיטאג' בעזרת הפונקציה prop.trend.test מחבילת stat. נגדיר תחילה את טבלת הנתונים:
> dugma=matrix(c(17066, 48, 14464, 38, 788, 5, 163, 2), nrow=2)
> dugma
      [,1]  [,2] [,3] [,4]
[1,] 17066 14464  788  163
[2,]    48    38    5    2
>
למעשה, כדי לבצע את המבחן הפונקציה צריכה לקבל את אחת השורות בטבלה: "לא קיים מום בלידה" (absent) או "קיים מום בלידה" (present). כן יש להזין לפונקציה את שורת סך הכל.
> absent=dugma[1,]
> absent
[1] 17066 14464   788   163
> present=dugma[2,]
> present
[1] 48 38  5  2
> total=apply(dugma,2,sum)
> total
[1] 17114 14502   793   165
>
הפרמטר השלישי שיש להזין לפונקציה הוא ציוני השורות:
> # scores
> # 1) linear scores
> linear_scores=1:4
> linear_scores
[1] 1 2 3 4
> # midrange scores
> midrange_scores=c(0, 0.5, 1.5, 5)
> midrange_scores
[1] 0.0 0.5 1.5 5.0
>
> # midrank scores
> nj=apply(dugma,2,sum)
> vstart=c(1, cumsum(nj)[1:3]+1)
> vend=cumsum(nj)
> midrank_scores=(vstart+vend)/2
> midrank_scores
[1]  8557.5 24365.5 32013.0 32492.0
>
כעת נוכל לבצע את המבחן. עבור הציונים הליניאריים נבצע אותו פעמיים: פעם אחת עבור השורה/משתנה absent, ופעם עבור השורה. משתנה present:
> prop.trend.test(absent, total, linear_scores)

	Chi-squared Test for Trend in Proportions

data:  absent out of total ,
 using scores: 1 2 3 4
X-squared = 1.4516, df = 1, p-value = 0.2283

> prop.trend.test(present, total, linear_scores)

	Chi-squared Test for Trend in Proportions

data:  present out of total ,
 using scores: 1 2 3 4
X-squared = 1.4516, df = 1, p-value = 0.2283

>
כצפוי מתקבלת אותה התוצאה. שימו לב שהפונקציה מסתמכת על התפלגות חי בריבוע לחישוב ערך ה-p. זאת מכיוון שאם ל- T יש בקירוב התפלגות נורמלית סטנדרטית, הרי של- T^{2} יש בקירוב התפלגות חי בריבוע עם דרגת חופש אחת.
נבצע את המבחן גם עבור ציוני אמצע הטווח וציוני הדרגה הממוצעת:
> prop.trend.test(present, total, midrange_scores)

	Chi-squared Test for Trend in Proportions

data:  present out of total ,
 using scores: 0 0.5 1.5 5
X-squared = 5.1389, df = 1, p-value = 0.0234

> prop.trend.test(present, total, midrank_scores)

	Chi-squared Test for Trend in Proportions

data:  present out of total ,
 using scores: 8557.5 24365.5 32013 32492
X-squared = 0.35077, df = 1, p-value = 0.5537

>
דוגמה זו ממחישה את הרגישות של המבחן לבחירת ציוני הדרגות. הציונים הליניאריים של שתי הקטגוריות העליונות בסולם (בין מנה אחת לשתיים ושלוש או יותר) קרובים יחסית, וגם ציוני הדרגה הממוצעת. הם מבטאים הנחה מוסתרת כי אין הבדל משמעותי בין צריכה של עד 2 מנות וצריכה גבוהה יותר. ייתכן מאוד כי הנחה זו אינה סבירה, כיוון ששלוש מנות או יותר יכולות להיות 3 מנות, 54 מנות, ואף יותר מכך.
בהנחה כי בחרנו מראש רמת מובהקות  \alpha =0.05 (ובהתעלמות מבעיית ההשוואות המרובות), נדחה את ההשערה כי לא קיימת מגמת עליה בשיעור המומים המולדים בתינוקות ביחס לאמצע הטווח של קטגוריות צריכת האלכוהול, אך לא נוכל לדחות את ההשערות האחרות.
בשפת R קיימת חבילה (Package) בשם CATT שיש בה את הפקודה (פונקציה) CATT שמבצעת את מבחן מבחן קוקראן-ארמיטאז'.