محاسبه ضریب همبستگی پیرسون در متلب به همراه مثال (pearson in matlab)
ضریب همبستگی پیرسون ، یکی از معیار های شباهت می باشد که به بررسی میزان شباهت بین دو آیتم یا بردار می پردازد. در ادامه به نحوه محاسبه ضریب همبستگی پیروسون در متلب می پردازیم.
فرض کنید که میخواهیم معیار پیرسون بین دو بردار زیر را محاسبه کنیم:
1 2 |
a=[4,4,0,3,0,2] b=[5,5,0,0,0,2] |
برای محاسبه ضریب همبستگی پیروسون در متلب میتوانیم از دستور corr به صورت زیر استفاده کنیم:
1 |
x=corr(a',b','type','Pearson'); |
به این ترتیب میزان شباهت دو بردار a و b بر اساس معیار پیرسون محاسبه میشود و در x قرار میگیرد.
در مباحث آماری، ضریب همبستگی پیرسون یا ضریب همبستگی حاصلضرب-گشتاور پیرسون ، میزان همبستگی خطی بین دو متغیر تصادفی را میسنجد.
مقدار این ضریب بین ۱- تا ۱ تغییر میکند که:
- «۱» به معنای همبستگی مثبت کامل،
- «۰» به معنی نبود همبستگی،
- و «۱-» به معنی همبستگی منفی کامل است.
این ضریب که کاربرد فراوانی در آمار دارد، توسط کارل پیرسون بر اساس ایدهٔ اولیهٔ فرانسیس گالتون تدوین شد.
ضریب همبستگی پیرسون بین دو متغیر تصادفی برابر با کوواریانس آنها تقسیم بر انحراف معیار آنها تعریف میشود.
برای آشنایی بیشتر با ضریب پیرسون در ویکیپدیا مراجعه کنید.
محاسبه ضریب همبستگی پیرسون در سیستم توصیه گر در متلب
یکی از کاربردهای مهم ضریب همبستگی پیرسون در سیستم های توصیه گر می باشد. در سیستم های توصیه گر فیلتر مشارکتی ، برای محاسبه میزان شباهت دو کاربر از معیار پیرسون استفاده میشود.
نکته ای که وجود دارد این است که اگر شما میخواهید از ضریب همبستگی Pearson در سیستم های توصیه گر استفاده کنید ، باید بردار ورودی به دستور corr را اصلاح کنید و آیتم های مشترک بین دو کاربر را فقط در نظر بگیرید.
بعنوان مثال با فرض اینکه دو بردار a و b ای که در بالا تعریف کردیم امتیازات دو کاربر به آیتم های موجود باشد ، اگر شما برای محاسبه معیار شباهت پیروسون در متلب دستور زیر را وارد کنید اشتباه کرده اید:
1 2 3 4 |
a=[4,4,0,3,0,2] b=[5,5,0,0,0,2] x=corr(a',b','type','Pearson'); |
با اجرای دستور فوق ، معیار شباهت مساوی 0.8010 میشود در حالی که در سیستم های توصیه گر ، باید معیار پیرسون را بین آیتم های مشترک محاسبه کرد.
نکته : در سیستم های توصیه گر ، معیار پیرسون بر روی کل ستونها نباید محاسبه شود و تنها بر روی ستون های مشترک (یعنی ستونهایی که دوکاربر رای داده اند) محاسبه شود.
پس برای محاسبه معیار شباهت پیرسون در سیستم توصیه گر با فرض دو بردار a و b فوق باید ابتدا ایتم های مشترک را پیدا کرد و سپس دستور corr را اعمال کرد.
1 2 3 4 5 6 7 |
a=[4,4,0,3,0,2]; b=[5,5,0,0,0,2]; commonItem=a& b; commonIdx=find(commonItem~=0); a=a(commonIdx); b=b(commonIdx); x=corr(a',b','type','Pearson') |
که در این حالت معیار شباهت مساوی 1 می باشد.