ایجاد یک سیستم پیش بینی ساده با توجه به مقادیر داده های جمع آوری شده از گذشته
مطالبی که این بار توضیح میدم در ادامه مطالب مطرح شده طی دو پست قبلی هست.
در مطلب این صفحه
http://www.iranjoman.com/showthread.php?t=56411&page=8477&p=459469&highlight=#post459469 توضیح دادم که اگه دو مجموعه داده داشته باشیم و اون ها رو به صورت نقاطی در صفحه مختصات مشخص کنیم (نمودار پراکنش) و بتونیم معادله ی خطی رو پیدا کنیم که در مقایسه با هر خطی دیگه ای در مجموع کمترین فاصله رو از تمامی نقاط پراکنش داشته باشه، به این خط می گن خط بهترین برازش یا خط رگرسیون. خط رگرسیون ما رو قادر به پیش بینی ویژگی های تمام اون چیزهایی که در نمونه ما وجود نداره، میکنه.
ادامه توضیحات:
توی توضیحات مثال قبل دیدیم خط رگرسیون به صورت زیر رسم شد. امروز هدف ما پیدا کردن معادله این خط هست. تصویر پایین رو ببینید:
برای پیدا کردن معادله خط رگرسیون باید مقادیر مجهول a و b را بدست آوریم.
فرض میشه که:
X متغیر مستقل یا متغیر پیش بینی کننده.
Y متغیر وابسته یا متغیر پیش بینی شونده.
معمولا b رو از رابطه زیر محاسبه می کنیم:
از همین رابطه، ارتباط بین ضریب همبستگی و معادله خط رگرسیون مشخص میشه. توجه کنید که در تعیین شیب خط رگرسیون از ضریب همبستگی بین دو متغیر استفاده میشه. بعد از بدست آوردن شیب خط رگرسیون یعنی مقدار b از رابطه ی بالا، مقدار a یعنی عرض از مبدا رو به صورت زیر محاسبه می کنیم:
در عمل هر چه قدر مطلق ضریب همبستگی یعنی r به عدد 1 نزدیک تر باشه نشان دهنده همبستگی قوی تر بین متغیرها هست و در نتیجه متغیر پیش بینی کننده یعنی X، پیش بینی قوی تری برای متغیر پیش بینی شونده یعنی Y ارائه می ده.
به این ترتیب معادله خط رگرسیون رو بدست آوردیم. حالا در معادله خط رگرسیون Y=a+bX هر مقداری که برای متغیر پیش بینی کننده یعنی X، قرار بدیم به راحتی مقدار متغیر پیش بینی شونده یعنی Y حاصل میشه.
خوب الان برسیم به محاسبه داده ها به کمک نرم افزار اکسل و ایجاد سیستم پیش بینی مورد نظرمون.
روش اول استفاده از توابع اکسل
گفتم برای تعین معادله خط رگرسیون دو مجموعه از داده ها، باید شیب خط b و عرض از مبدا a رو تعیین کنیم این کار به کمک اکسل به سادگی انجام میشه.
فرض کنید داده های مربوط به X یعنی متغیر مستقل یا متغیر پیش بینی کننده و Y یعنی متغیر وابسته یا متغیر پیش بینی شونده رو به صورت زیر در محیط اکسل وارد کنیم.
خوب سوالی که مطرح می کنم این هست:
با توجه به این مقادیر اگر مقدار متغیر X برابر 40 باشد پیش بینی شما از مقدار متغیر Y چیست؟
اگه بخواهیم برای پاسخ به این سوال از رگرسیون دو متغیره خطی استفاده کنیم، باید معادله خط رگرسیون رو پیدا کنیم و همون طور که توضیح دادم برای تعیین معادله خط رگرسیون لازم هست شیب خط b و عرض از مبدا a رو تعیین کنیم.
برای تعیین شیب خط رگرسیون از تابع
SLOPE استفاده می کنیم. همون طور که قبلا توضیح دادم در یکی از سلول ها علامت = بعدش به ترتیب S بعدش L و O رو تایپ می کنیم تابع پایین سلول نمایان میشه روش دو مرتبه کلیک کنید. تصویر زیر رو ببینید
خوب قبلا گفتم کادر پایین به عنوان راهنما استفاده میشه. مشاهده می کنید این تابع دو تا آرگومان داره. ابتدا باید آدرس مقادیر مربوط به متغیر پیش بینی شونده Y رو به تابع بدیم. به سادگی با حرکت ماوس مقادیر زیر Y رو انتخاب می کنیم. بعدش برای رفتن به آرگومان بعدی از علامت ویرگول , استفاده می کنیم:
حالا باید آدرس مربوط به داده های پیش بینی کننده یعنی X رو وارد کنیم. دقیقا مثل حالت قبل عمل می کنیم. در نهایت پرانتز رو می بندیم:
تابع تکمیل شد. کافیه enter کنیم تا نتیجه رو که همون شیب خط رگرسیون هست مشاهده کنیم. می بینید که نتیجه مقدار 1.32 هست. بنابراین مقدار b شد 1.32.
حالا برسیم به تعیین عرض از مبدا خط رگرسیون یعنی مقدار a. تابع بدست آوردن عرض از مبدا در اکسل تابع
INTERCEPT هست. به شیوه ای که گفتم این تابع رو فراخوانی کنید:
مشاهده می کنید این تابع هم دو تا آرگومان داره. ابتدا باید آدرس مقادیر مربوط به متغیر پیش بینی شونده Y رو به تابع بدیم. بعدش هم علامت ویرگول , رو میذاریم. در ادامه باید آدرس مربوط به داده های پیش بینی کننده یعنی X رو وارد کنیم. دقیقا مثل حالت قبل عمل می کنیم. در نهایت پرانتز رو می بندیم:
تابع تکمیل شد. کافیه enter کنیم تا نتیجه رو که همون عرض از مبدا خط رگرسیون هست مشاهده کنیم. می بینید که نتیجه مقدار 0.4 هست. بنابراین مقدار a شد 0.4 .
حالا که هم مقدار a و هم مقدار b رو داریم کافیه این مقادیر رو در معادله Y=a+bX قرار بدیم نتیجه چی میشه؟
Y=0.4+1.32X
به این ترتیب معادله خط رگرسیون رو بدست آوردیم. حالا در معادله خط رگرسیون هر مقداری که برای متغیر پیش بینی کننده یعنی X، قرار بدیم به راحتی مقدار متغیر متغیر پیش بینی شونده یعنی Y حاصل میشه.
بر گردیم به سوال مطرح شده. سوال این بود که اگه مقدار متغیر پیش بینی کننده X برابر 40 باشه، پیش بینی ما از مقدار متغیر Y چی هست؟ کافیه به جای X در رابطه بالا مقدار 40 رو قرار بدیم:
Y=0.4+(1.32*40)=53.2
پس اگه مقدار متغیر پیش بینی کننده X برابر 40 باشه، پیش بینی ما از مقدار متغیر Y عدد 53.2 خواهد بود.
روش ساده تری هم برای انجام همین عملیات وجود داره که در روزهای آینده در موردش توضیح می دم. فکر می کنم بحث آینده در مورد پیش بینی جذاب، بشه.