نحوه محاسبه Multinomial Logistic Regression در نرم افزار R

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

mydata

attach(mydata)
names(mydata)

به منظور دیدن اطلاعات توصیفی می توان دستور زبر را وارد کرد. مثلا برای برند این دستور را وارد می کنیم.

table(brand)

 

نتایج به صورت زیر نمایش داده خواهد شد که 207 نفر خریدار برند اول، 307 نفر برند دوم و 221 نفر برند سوم هستند. برای تمام متغیر های دیگر نیز می توان این دستور را وارد کرد.

brand
1     2     3
207  307   221

یا با دستور زیر می توان اطلاعات توصیفی متغیر های پیوسته را مشخص کرد.

summary(age)

برای نصب کتابخانه مربوط که mlogit.data است دستور زیر را وارد می کنیم.

library(mlogit)

پس از ای اجرای دستور جهت انجام تحلیل در نرم افزار R باید دستور زیر را وارد نمود.

mydata$brand<-as.factor(mydata$brand)
mldata<-mlogit.data(mydata, varying=NULL, choice="brand", shape="wide")

سپس از دستور زیر برای مشاهده سایر طبقه بندی ها استفاده می شود.

 

[Image]

جهت به دست آوردن ضرایب و سطح معنی داری روش های مختلفی وجود دارد که بهترین روش و کامل ترین آن اجرای دستور زیر است.

mlogit.modelsummary(mlogit.model)

خروجی زیر در این محل ظاهر می شود:

[Image]

به عنوان مثال این ضرایب نشان می دهد که با یک تغییر در متغیر سن، مقدار نسبت برای رخداد دو واقعه برند اول و دوم 368/0 واحد افزایش می یابد. برای رخداد واقعه برند سوم و اول این مقدار 686/0 است. به عبارت دیگر افراد مسن تر بیشتر به سمت برند های دو و سه تمایل دارند تا برند اول. به عبارت دیگر برنامه تبلیغاتی برای خرید برند دوم و سوم باید برای افراد با سنین بالا رخ دهد.
برای به دست آوردن مقادیر اکسپوننشیال از دستور زیر استفاده می شود که راحتتر در مورد تفسیر ضرایب انجام می شود و مقادیر احتمالی را نشان می دهد.

exp(coef(mlogit.model))

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

plot(p$pred.1[p$female==0]~p$age[p$female==0],type="l",col="blue",lwd=1,
ylab="Predicted Probability for Brand = 1",
xlab="Age")
lines(p$pred.1[p$female==1]~p$age[p$female==1],col="red",lwd=1)
legend(33.5,.93,c("Males","Females"),col=c("blue","red"),lwd=c(1,1))

برای فراخوان تست Hausman-McFadden test نیز از دستور زیر استفاده می کنیم تا خطای استقلال جملات مشخص شوند.


m1m2

alt.subset=c("1", "2"))

در صورت معنی داری آزمون نتایج تست قابل اتکاء نخواهد بود. که با توجه به نتایج زیر مشخص می شود که سطح معنی داری بالای05/0 بوده و فرض صفر در مورد پوشش فرضیات آزمون پذیرفته می شود.

Hausman-McFadden test
chisq = 1.7323, df = 3, p-value = 0.6298


جهت گزارش نهایی باید موارد زیر را به صورت معادلات تفکیکی اورد.

[Image]

این روش رگرسیونی به تعداد طبقات متغیر وابسته منهای یک؛ یک معادله ارائه می دهد چون ما در این تحقیق سه طبقه داشتیم، دو معادله استخراج می شود. سطح معنی داری ضرایب با استفاده از مقادیر t مشخص می شود. در این مقاله هدف نحوه پیاده سازی Multinomial Logistic Regression در نرم افزارR بود. جهت کسب اطلاعات بیشتر در مورد مفروضات این روش به کتب و مقالات Alan Agresti مراجعه شود. این روش رگرسیونی بسیار مناسب برای نمونه های بزرگ است زیرا از روش حداکثر درستنمایی استفاده می کند.


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




نظرات



افزودن نظر
برچسب ها