آزمون تی طبقه ای در SAS و R – راهنمای کابردی


آزمون تی طبقه ای یک روش تجزیه و تحلیل است که اغلب نادیده گرفته می شود در حالیکه یک آزمون مقایسه قوی را ارائه میدهد. امروزه، با ظهور قدرت محاسباتی بیشتر و سرعت پردازش سریعتر، آزمونهای دیگری به جای آزمون تی طبقه ای مورد استفاده قرار میگیرد برای مثال «تحلیل کوواریانس» (ANCOVA) یکی از روشهای جایگزین برای آزمون t طبقه ای است، که خروجی مشابه نیز دارد.
در این نوشتار سعی داریم با تکیه بر روند انجام عملیات آزمون t طبقه ای در SAS، دقت محاسباتی و خصوصیات آزمون تی طبقه ای را بازگو کرده و نتایج حاصل را با «انکوا» (ANCOVA) یا تحلیل کوواریانس مقایسه کنیم. به این منظور بهتر است، نوشتارهای دیگر مجله فرادرس مانند تحلیل کوواریانس ANCOVA در SPSS — راهنمای کاربردی و آزمون تی (T Test) در R --- راهنمای کاربردی را مطالعه کنید. همچنین خواندن مطالب آزمون های فرض و استنباط آماری — مفاهیم و اصطلاحات و آزمون فرض میانگین جامعه در آمار — به زبان ساده نیز خالی از لطف نیست.
آزمون تی طبقه ای
آزمون تی برای مقایسه میانگین یک جامعه نرمال با مقدار ثابت یا انجام آزمون فرض آماری برای اختلاف میانگین در دو جامعه نرمال مورد استفاده قرار میگیرد. البته فرض بر این است که واریانس هر دو جامعه برابر ولی نامشخص است. هر چند اصلاحی نیز برای زمانی که واریانس دو جامعه اختلاف داشته باشند، مطرح شده و آماره آزمون تی براساس برآورد دیگری از واریانس صورت میگیرد. شرط استفاده از آزمون تی و آماره آن، مستقل بودن هر دو جامعه و تصادفی بودن نمونهها است.
اما رویکرد دیگری که برای اجرای آزمون تی وجود دارد، تهیه نمونهها براساس یک طرح نمونهگیری طبقهای است. در این صورت نمونهها مستقل از دو جامعه، طی یک «نمونهگیری طبقهای» (Stratified) جمعآوری شدهاند. در این صورت برای محاسبه میانگین و واریانس آماره آزمون تی، باید تغییراتی صورت گیرد. البته توجه داشته باشید که آماره حاصل باز هم دارای توزیع تی بوده و برای تصمیم نسبت به رد یا تایید فرض صفر به جدولهای این توزیع مراجعه میشود.
از آنجایی که طرح نمونهگیری طبقهای به کار رفته و ممکن است رابطهای بین طبقهها وجود داشته باشد، در این آزمون یک متغیر همبسته با طبقه به صورت مزاحم وجود دارد که بوسیله محاسبات صورت گرفته، سعی داریم اثر آن را از بین ببریم. به همین علت گاهی آزمون تی طبقه ای را مشابه با تحلیل و «آنالیز کوواریانس» (ANCOVA) یا Analysis of Covariance میدانند.
آماره آزمون تی طبقه ای
آماره آزمون مقایسه میانگین بین دو جامعه (مثلا گروه کنترل و گروه آزمایش) طبق طرح نمونهگیری طبقهای به صورت زیر است.
آماره آزمون t طبقه ای
در صورتی که K = 2 باشد، تعداد طبقهها ۲ در نظر گرفته میشود. البته توجه داشته باشید که در آزمون تی، همیشه تعداد گروهها یا تیمارها برابر با ۲ است. با تغییر طبقهها به مقدار K = 4 تعداد میانگین و پارامترهای دیگر آزمون تی طبقه ای برابر با ۸ خواهد بود. به این ترتیب چهار طبقه و دو گروه مورد بررسی قرار میگیرند.
این آماره آزمون به صورت مجانبی دارای توزیع t بوده و با توجه به توزیع آن برای انجام آزمون فرض آماری و همچنین ایجاد فاصله اطمینان به کار میرود. البته با افزایش تعداد نمونهها میتوان توزیع آماره را با توزیع نرمال استاندارد تقریب زد و فاصله اطمینان را محاسبه نمود.
در ادامه پارامترهای محاسباتی برای آماره Tمعرفی و شیوه محاسبه آنها یادآوری شده است.
محاسبه وزنها برای هر طبقه
محاسبه آماره t برای هر طبقه
از طرفی برآورد واریانس آمیخته نیز به شکل زیر انجام خواهد شد.
در رابطههای بالا، پارامترها به صورت زیر هستند.
- : تعداد مشاهدات در گروه آزمون یا ۱ و طبقه kام
- : تعداد مشاهدات در گروه کنترل یا گروه صفر و طبقه kام
- : میانگین مشاهدات در گروه آزمون یا ۱ و طبقه kام
- : میانگین مشاهدات در گروه آزمون کنترل یا 0 و طبقه kام
- : واریانس مشاهدات در گروه آزمون یا ۱ و طبقه kام
- : واریانس مشاهدات در گروه آزمون کنترل یا 0 و طبقه kام
- : واریانس آمیخته مشاهدات در طبقه kام
به این ترتیب و با استفاده از وزنها و میانگین و واریانس طبقهها، اثر تیمار به صورت زیر محاسبه میشود.
همچنین فاصله اطمینان برای نیز به شکل زیر خواهد بود.
$$ \large \text{ 95 percent Confidence interval for d_w : } d_w \pm Z_{0.025} \sqrt{\sum_{k = 1}^K w^2_k \widehat{\sigma}^2_k } $$
پیاده سازی آزمون تی طبقه ای در SAS
طبق فرمول و رابطههای گفته شده در قسمت قبل، در ادامه به کدنویسی و ایجاد یک ماکرو در SAS برای انجام محاسبات مربوط به آزمون تی طبقه ای میپردازیم. تابع یا ماکرو مورد نظر با نام (STRAT_T) برای استخراج آزمون t طبقه ای مطابق زیر است. فرض بر این است که متغیرهای مورد نظر، قبلاً به یک مجموعه داده واحد به نام STRATA تبدیل شدهاند.
در بخش بعدی وزنها برای آزمون تی طبقه ای مورد محاسبه قرار گرفته و میانگین برای هر یک از گروهها و طبقهها ساخته میشود.
همچنین یک جدول آنالیز واریانس-کوواریانس نیز براساس طبقه و گروهها ساخته شده و نتایج هر دو نوع تحلیل، در قسمت بعدی با هم مقایسه شدهاند.
نتایج حاصل از اجرای کد
به کمک شبیهسازی و ایجاد یک مجموعه داده، خروجی به صورت زیر در خواهد آمد. خروجی قسمت برنامه PROC REPORT به صورت زیر است.
همچنین جدول خروجی مربوط به وزنها و میانگین تیمار و طبقهها، همچنین واریانسها به صورت زیر است. از طرفی مقایسه «واریانس ساده اختلاف میانگین» (Variance of Difference) و «واریانس وزنی اختلاف میانگین» (Variance of weighted Difference) برای برآوردگر میانگین اختلاف در جدول زیر دیده میشود.
Variance of weighted Difference |
Variance of Difference |
Weighted Treatment Difference |
Treatment Difference | Weights | TreatB (N) |
TreatA (N) | STRATA |
18.553323 | 74.677123 | -4.524638 | -18.21167 | 0.24845 | 8 | 10 | 1 |
12.363871 | 49.150202 | -4.164596 | -16.55556 | 0.25155 | 9 | 9 | 2 |
13.507772 | 54.368783 | -1.976812 | -7.956667 | 0.24845 | 8 | 10 | 3 |
16.169965 | 64.2806 | -13.79526 | -13.75926 | 0.25155 | 9 | 9 | 4 |
محدودیتها و مقایسهها
آنچه در اجرای آزمون تی مهم محسوب میشود، نرمال بودن جامعه آماری است. آنچه به عنوان آماره آزمون و توزیع آن شناختیم با فرض نرمال بودن جامعه آماری تعیین شده بود. در نتیجه سنجش و آزمون نرمال بودن دادهها نیز از اهمیت زیادی برخوردار است که در مطالب دیگر فرادرس به آنها اشاره خواهیم داشت.
با استفاده از برخی دادههای شبیه سازی شده، میتوان تخمینها و خطاهای استاندارد را با توجه به تعداد مشاهدات رسم و مورد تحلیل قرار داد. به منظور تحلیل نتایج از آزمون t طبقه بندی شده در برابر روش ANCOVA، در کد قبلی از شبیهسازی و تابع RANUNI به عنوان منبع تولید چندین متغیر تصادفی استفاده شده است. در جدول زیر برآورد و خطاهای استاندارد به ترتیب با استفاده از آزمون t طبقه ای و ANCOVA در ادامه دیده میشود.
ANCOVA | Stratified t-test | N | ||
SE | ESTIMATE | SE | ESTIMATE | |
3.834 | -14.1272 | 3.891434 | -14.1272 | 40 |
6.157 | -8.8959 | 6.221243 | -8.8959 | 80 |
4.072 | -5.60174 | 4.093138 | -5.60174 | 160 |
2.386 | -3.52742 | 2.391905 | -3.52742 | 320 |
1.33 | -2.22121 | 1.332119 | -2.22121 | 640 |
0.723 | -1.39869 | 0.723148 | -1.39869 | 1280 |
0.386 | -0.88076 | 0.386529 | -0.88076 | 2560 |
0.205 | -0.55461 | 0.204532 | -0.55461 | 5120 |
0.107 | -0.34924 | 0.107491 | -0.34924 | 10240 |
0.056 | -0.21992 | 0.056222 | -0.21992 | 20480 |
0.029 | -0.13848 | 0.029307 | -0.13848 | 40960 |
از مقایسه مقادیر برآورد یا تخمینها (Estimate) میتوان فهمید که هیچ تفاوتی بین این دو رویکرد (t test stratified) و آنکوا (ANOVA) وجود ندارد. با این حال، با نگاهی به خطاهای استاندارد، تفاوت کمی وجود دارد که در آن به ازای N <10000 نیز این اختلاف از بین میرود زیرا در این حالت «قانون اعداد بزرگ» (LLN) یا «قضیه حد مرکزی» (CLT) صدق میکند.
پیاده سازی آزمون تی طبقه ای در R
کدی که در ادامه مشاهده میکنید، نحوه پیادهسازی آزمون تی طبقه ای را در زبان برنامه نویسی R، نشان میدهد. در ابتدا کتابخانه یا بستههای plyr و dplyr بارگذاری شدهاند تا بتوان از تابع ddply به منظور تفکیک دادهها به طبقهها، استفاده کرد.
سپس انجام محاسبات طبق فرمولهای گفته شده، صورت گرفته و نتیجه به عنوان خروجی ظاهر میگردد. البته وجود طبقه strata در خلال برنامه با تابع is.null مورد بررسی قرار میگیرد. اگر طبقه در مجموعه داده وجود نداشته باشد، آزمون تی معمولی با جایگزینی treatment با strata صورت خواهد گرفت. در انتها نیز با یک مثال، دادههایی به صورت تصادفی تولید شده و تابع را برای آن مجموعه فراخوانی کردهایم.
محاسباتی که در این بخش انجام شده است، دقیقا مطابق با فرمولهای ارائه شده است. فقط توجه داشته باشید که در کد گفته شده، در صورتی که مجموعه داده شامل طبقه نباشد، گروهها (Treatment) را جایگزین طبقه (Strata) کرده و همان محاسبات را دنبال میکنیم. این کار باعث کاهش اندازه کد و در عین حال عمومیت بخشیدن به آزمون تی میشود. به این ترتیب هم در حالت طبقه ای و هم بدون طبقه میتوان از کد یکسانی در R استفاده کرده و نتایج مناسب را بدست آورد.
نکته: مجموعه دادهای که به تابع test_strat داده میشود باید از نوع dataframe باشد. در غیر اینصورت برنامه با پیغام Input is not a dataframe, or does not have the correct column names کاربر را مطلع میسازد.
به مثالهای زیر توجه کنید. در اولین حالت (With strata) با در نظر گرفتن طبقهها طبق کد گفته شده، خروجی محاسبه شده است.
در بخش دوم با حذف strata از مجموعه داده با دستور select، آزمون تی مستقل صورت گرفته است. در ستون stratified نیز مقدار FALSE نشانگر بی طبقه بودن آزمون تی است. در انتها نیز با تبدیل مجموعه داده به یک ماتریس، تابع test_strat، پیغام خطا را نشان داده است.
پیشفرضهای آزمون تی طبقه ای
ما در این متن روش آزمون تی طبقه ای را بوسیله یک ماکرو کامل به زبان برنامهنویسی SAS و همچنین کدهایی به زبان R، ارائه کرده و نتایج را از تجزیه و تحلیل دریافت و یک جدول اساسی برای نمایش خروجی ایجاد کردیم. البته به یاد داشته باشید قبل از به کارگیری آزمون، باید دادههای مورد تجزیه و تحلیل را بررسی کنیم تا از نرمال بودن آنها اطمینان حاصل کنیم.
در روشهای آمار پارامتری فرض بر این است که دادهها دارای توزیع شناخته شده و معینی هستند. در بیشتر موارد در آمار کلاسیک این توزیع برای دادهها، توزیع گاوسی یا نرمال در نظر گرفته میشود. ولی اگر توزیع این دادهها گاوسی یا نرمال نباشد، پیشفرضهای مربوط به آزمونها و تحلیلهای آمار پارامتری (Parametric Methods) و کلاسیک نقض شده و باید از روشهای آماری «غیرپارامتری» یا «ناپارامتری» (Non Parametric Methods) استفاده کرد. ولی سوال در اینجا این است که چگونه از نرمال بودن دادهها مطلع شویم؟
خوشبختانه روشهای زیادی به منظور سنجش و آزمودن نرمال بودن داده (Normality Test) وجود دارد که میتوان از آنها استفاده کرد. البته از آنجایی که در این بین از آزمون آماری و مقدار احتمال (P-value) صحبت به میان میآید بهتر است در مورد هر یک از این اصطلاحات در نوشتارهای آزمون های فرض و استنباط آماری — مفاهیم و اصطلاحات و مقدار احتمال (p-Value) — معیاری ساده برای انجام آزمون فرض آماری اطلاعاتی کسب کنید تا مفاهیم و روشهای نرمالیتی و سنجش توزیع دادهها را بهتر درک کنید. البته در اینجا از معرفی این تکنیکها صرف نظر کرده و خواننده را به لینکها ارائه شده، ارجاع میدهیم.
خلاصه و جمعبندی
در این نوشتار با مفهوم آزمون تی طبقه ای آشنا شده و مزایای استفاده از آن نسبت به دیگر آزمونهای میانگین برای دو جامعه مستقل را بازگو کردیم. البته شاید بتوان آزمون تحلیل کوواریانس را به شکلی مشابه آزمون t طبقه ای در نظر گرفت ولی از آنجا که بار محاسباتی در آزمون و تجزیه و تحلیل کوواریانس بسیار بیشتر از آزمون t طبقه ای است در مواردی که دسترسی به دستگاهها یا نرمافزارهای محاسبات آماری وجود ندارد، آزمون تی طبقه ای کاربردی و در دسترس است. به همین منظور آماره آزمون و نحوه اجرای آن را در نرمافزار محاسباتی SAS و R مرور کرده و برنامه مورد نیاز برای اجرای آن را در این متن فرا گرفتیم.