نحوه محاسبه مدل Logit در نرم افزار R

مدل های لوجیت معرف مدل هایی هستند که متغیر وابسته آنها دو بعدی است. در یک مدل لجیت لگاریتم برتری به عنوان برونداد مدل و بر اساس ترکیبی از متغیر های مستقل مدلیزه می شود. به عنوان مثال اگر متغیر وابسته موفق شدن یا نشدن یک تیزر تبلیغاتی با اساس ضریب نفوذ آن باشد، و بخواهیم متغیر های مستقل پیش بینی کننده آن را شناسایی کنیم؛ با یک مدل لجیت سرو کار داریم. لذا در این پژوهش ها نمی توان از رگرسیون های معمولی (که متغیر وابسته باید کمی باشد)، برای پیش بینی رخداد متغیر وابسته استفاده نمود. در این نوع از رگرسیون از نسبت برتری که نسبت موفقیت به شکست می باشد استفاده می شود. باید توجه شود که پیش شرط های انجام رگرسیون خطی مانند وجود رابطه خطی بین متغیر های مستقل و وابسته، همسانی واریانس متغیر وابسته و متغیر های مستقل، توزیع نرمال متغیر وابسته و باقیمانده ها یا خطای اندازه گیری در مدل لجیت مورد توجه نیست. مدل عمومی تابع لجیت به شرح زیر است:

 

Ln (p/ (1-p) = intercept + b1*X1 + b2*X2 + ... + bk*Xk

شکل کلی این تابع به شکل زیر خواهد بود:

 

آموزش نرم افزار R

 

هدف این نوشتار نحوه محاسبه تابع لوجیت در نرم افزار R می باشد. این نرم افزار امروزه دارای محبوبیت گسترده ای در زمینه انجام آنالیز های چند متغیره شده است و می توان بسیاری از توانمندی های آنرا با نرم افزار های مشهوری چون SAS، SPSS و S-PLUS مقایسه نمود.
شکل کلی دستور اجرای این تکنیک آماری در نرم افزار R به شکل زیر است که در ادامه در مورد هر یک از مولفه ها توضیحی خواهد آمد.

 

فرمانهای مربوط به R

 

به عنوان مثال در تحقیقی، هدف به دست آوردن توابع لجیت برای بررسی افزایش شانس قبولی در آزمونی است. به این منظور با کد صفر و یک در یک ستون افرادی که در آزمون رد یا قبول شده اند مشخص و سپس در مقابل هر یک؛ دو نمره آنها یعنی gre, gpa را ثبت و سپس نوع موسسه ای که افراد آموزش دیده اند را نیز با کدهای یک تا چهار که بیانگر درجه یک تا درجه چهار می باشند مشخص و در ستون متغیری به نام rank تعریف می شود. به منظور انجام تابع لجیت این مثال، در نرم افزار R ابتدا باید دیتای مورد تحلیل به نرم افزار معرفی شود. برای این منظور باید در کنسول نرم افزار کد زیر تایپ شود تا داده گرد آوری شده از این فایل خوانده شود.

 

mydata

 

سپس باید دیتای موجود با کنسول ورودی متصل شود. لذا دستور زیرتایپ شود:

 

attach(mydata)
names(mydata)
[1] "admit" "gre" "gpa" "rank"

در این مرحله برای مشاهده آماره های توصیفی کافی است دستور summary را نوشته و داخل پرانتز اسم متغیر را وارد کنیم مانند:

 

summary(gre)

 

سپس دستور اجرای تابع لوجیت را در نرم افزار در خط بعدی تایپ می کنیم:

 

mylogit

 

در این دستور GLM تابع اصلی انجام تابع لجیت است و متغیر نوع موسسه به دلیل طبقه ای بودن به صورت as.factor(rank) معرفی می شود.
در این مرحله آنالیز های انجام شده در فایل موقتی به اسم mylogit در نرم افزار ذخیره شده است. برای دیدن آن کافی است که دستور مقابل را تایپ کنید:

 

summary(mylogit)

 

با این دستور تمام آنالیز های مورد نیاز جهت به دست آوردن تابع لوجیت انجام می شود.

 

[Image]

 

در اولین بخش خروجی اطلاعات مربوط به عملیات محاسباتی مورد نظر آورده شده است. در قسمت بعد انحراف استاندارد آورده شده است که با کمک آن می توان نسبت به بررسی برازش یا فیت مدل قضاوت نمود. بخش بعدی ضرایب تخصیص یافته به هر متغیر مستقل آورده شده است که برای آن آماره والد در قسمت z value آورده شده است. در صورتیکه مقدار سطح معنی داری زیر 05/0 باشد می توان آن متغیر مستقل را برای پیش بینی ابعاد متغیر وابسته مورد استفاده قرار داد. به عنوان مثال با یک واحد افزایش در مقدار gre مقدار لگاریتم نسبت برتری به میزان 002/0 واحد بیشتر خواهد بود و به همین ترتیب برای سایر متغیر های مستقل. در ادامه خروجی نیز دو بخش انحراف صفر و انحراف باقیمانده گزارش شده است که در کنار شاخص AIC به منظور بررسی برازش کلی مدل لوجیت مورد استفاده قرار می گیرد.
به منظور لود نمودن مقادیر اکسپوننشیال تابع که قضاوت را ساده تر می کند دستور زیر را تایپ می کنیم.

 

exp(mylogit$coefficients)
(Intercept) gre gpa as.factor(rank)2
0.0185001 1.0022670 2.2345448 0.5089310
as.factor(rank)3 as.factor(rank)4
0.2617923 0.2119375

 

بر اساس مقادیر اکسپوننشیال می توان بیان نمود که یک واحد افزایش مقداری gpe به معنای 2/2 برابر شدن شانس قبولی در آزمون است. این مقدار از به توان بردن مقدار Estimate به عدد طبیعی است.

 

به منظور بررسی فاکتور نوع موسسه ای که فرد در آن تحصیل نموده است، می توان از دستور زیر استفاده نمود.

 

rank gre gpa newdata1 newdata1

 

و سپس دستور زیر تایپ شود:

 

newdata1$rankP <-predict(mylogit,newdata=newdata1,type="response")
newdata1

 

بعد از این دستور این خروجی ظاهر می شود:

 

[Image]

 

نتایج نشان می دهد که دانشجویی که در یک موسسه درجه اول تحصیل نموده شانس قبولی وی 52 درصد است در حالیکه دانشجویی که در یک موسسه درجه چهار تحصیل نموده از شانس 18 درصدی برخور دار است.

 

در نهایت جهت بررسی مقادیر انحراف باقیمانده ها از دستور زیر استفاده می کنیم.

 

mylogit$null.deviance - mylogit$deviance

 

این دستور مقدار کای اسکویر مدل فعلی را ظاهر می کند که مقدار 41 محاسبه شده است. به منظور بیان درجه آزادی آن نیز دستور زیر را تایپ می کنیم.

 

mylogit$df.null - mylogit$df.residual

 

که مقدار 5 را گزارش می کند. به منظور محاسبه سطح معنی داری نیز ابتدا کد زیر را تایپ می کنیم.

 

1-pchisq(mylogit$null.deviance-mylogit$deviance, mylogit$df.null-mylogit$df.residual)

 

مقدار کمتر از 001/0 مدل نشان می دهد که متغیر های وارد شده به مدل لوجیت از اعتبار بالایی برخور دار هستند زیرا که اختلاف کای اسکویر در مدل صفر با مدل اشباع شده کاملا معنی دار است که نشان از برازش کلی مدل دارد. به منظور محاسبه تابع حداکثر درستنمایی جهت گزارش نیز می توان دستور logLik(mylogit) را تایپ نمود. مقدار تابع حداکثر درستنمایی در این مرحله نمایش داده می شود. رگرسیون لجستیک بحث مفصلی است که در این آموزش بیشتر نحوه پیاده سازی آن در نرم افزار R مورد توجه بود. برای کسب اطلاعات بیشتر می توان از منبع زیر استفاده نمود.

 

Rice, J. C. (1994). Logistic regression: An introduction. Advances in social science methodology, Vol. 3: 191-245. Greenwich , CT: JAI Press. Popular introduction.


بازگشت به آموزش نرم افزار R




نظرات



افزودن نظر