آموزش علم داده
فضای نمونه
به مجموعه تمام نتایج ممکن از یک آزمایش تصادفی، فضای نمونه گفته میشود. فضای نمونه را با حرف X نشان میدهیم. برای مثال در آزمایش پرتاب یک تاس شش وجهی، فضای نمونه به صورت زیر خواهد بود.
در اینجا به هر یک از اعضای فضای نمونه، یک متغیر تصادفی میگوییم. برای مثال یک متغییر تصادفی است. در اینجا احتمال رخداد هر یک از متغییرهای تصادفی را با
، نمایش میدهیم. برای مثال
، احتمال رخداد متغییر تصادفی ۵ میباشد که برابر
، خواهد بود. در اینجا از آنجایی که احتمال رخداد هر یک از متغییرهای تصادفی با یکدیگر برابر و برابر
، است، این توزیع را یک توزیع یکنواخت مینامیم. توزیع یکنواخت، توزیعی است که احتمال وقوع تمام اعضای آن با یکدیگر برابر است.
سوال) اگر ، یک رشتهی بیتی تولید شده توسط یک فرستنده باشد، احتمال تولید بیت ۱ توسط این فرستنده چقدر است؟ احتمال تولید بیت ۰ توسط این فرستنده چقدر است؟
امید ریاضی (Expected Value)
اگر ، یک تابع بر حسب
باشد، آنگاه امید ریاضی تابع
به صورت زیر تعریف میشود.
در اینجا به ، گشتاور مرتبه اول گفته میشود. در اینجا اگر
باشد، آنگاه امید ریاضی تابع
به صورت زیر خواهد بود.
در اینجا به ، گشتاور مرتبه دوم گفته میشود.
میانگین (Mean)
میانگین معیاری عددی برای نشان دادن مرکز یک مجموعه از دادهها میباشد. در واقع میانگین، مکانی از توزیع را نشان میدهد که دادهها، در اطراف آن توزیع شدهاند. اگر ،
عدد حسابی باشند میانگین آنها با استفاده از رابطه زیر محاسبه میشود.
انحراف از معیار (Standard Deviation)
انحراف از معیار، مقداری عددی برای نشان دادن دوری هر عضو یک مجموعه داده از مقدار میانگین است. هر چقدر مقدار انحراف از معیار کوچکتر باشد، دادهها به میانگین نزدیکتر هستند و میزان پراکندگی یک مجموعه داده کمتر است. انحراف از معیار را میتوان از محاسبه مجذور واریانس به صورت زیر بدست آورد.
واریانس (Variance)
واریانس، مقیاسی است که نشان میدهد دادهها چگونه حول میانگین پخش شدهاند. واریانس کمتر به معنی این است که اگر نمونهای از توزیع انتخاب شود، مقدار آن به میانگین نزدیکتر است. از طرف دیگر واریانس را میتوان متوسط مربع اختلاف هر نمونه از توزیع، از میانگین دانست. واریانس به صورت زیر محاسبه میشود.
که در واقع همان گشتاور مرکزی مرتبه دوم میباشد. از طرفی داریم
احتمال توامان (Joint Probability)
اگر و
به ترتیب رشتههای بیتی تولید شده توسط دو فرستنده A و B باشند، احتمال ارسال یک بیت مشخص در یک زمان واحد توسط این دو فرستنده را احتمال توامان میگوییم و به صورت زیر محاسبه میگردد.
احتمال شرطی (Conditional Probability)
اگر و
به ترتیب رشتههای بیتی تولید شده توسط دو فرستنده A و B باشند، احتمال ارسال یک بیت مشخص توسط فرستنده A یا B به شرط ارسال یک بیت مشخص توسط فرستنده B یا A را احتمال شرطی میگوییم و به صورت زیر محاسبه میگردد.
محتوای اطلاعاتی (Information Content)
میزان محتوای اطلاعاتی یک متغیر تصادفی با احتمال رخداد آن متغیر تصادفی رابطهی عکس دارد. در واقع هر چقدر فراوانی یک متغیر بیشتر باشد، احتمال رخداد آن متغیر تصادفی بیشتر است و در نتیجه محتوای اطلاعاتی آن کمتر است و هر چقدر فراوانی یک متغیر کمتر باشد، احتمال رخداد آن متغیر تصادفی کمتر است و در نتیجه محتوای اطلاعاتی آن متغیر تصادفی بیشتر است.
از آنجایی که احتمال رخداد هر حادثهای مقداری بین ۰ و ۱ دارد، در صورتی که احتمال رخداد متغیر تصادفی صفر شود (یعنی
شود) مقدار محتوای اطلاعاتی تعریف نشده میشود بنابراین رابطه محتوای اطلاعاتی رو به صورت زیر اصلاح میکنیم.
در اینجا در صورتی که احتمال رخداد متغیر تصادفی صفر شود (یعنی
شود) محتوای اطلاعاتی بینهایت میشود و در صورتی که احتمال رخداد متغیر تصادفی
یک شود (یعنی
شود) محتوای اطلاعاتی ۰ میشود.
محتوای اطلاعاتی شانون (Shannon Information Content)
شانون میزان محتوای اطلاعاتی یک متغیر تصادفی مانند را به صورت زیر تعریف میکند. که به آن آنتروپی متغیر تصادفی
نیز گفته میشود.
آنتروپی توامان (Joint Entropy)
آنتروپی شرطی (Condition Entropy)
اطلاعات متقابل (Mutual Information)
اطلاعات متقابل بین دو متغیر تصادفی و
، معیاری برای نشان دادن میزان وابستگی متقابل دو متغیر
و
است و در واقع میزان اطلاعات بدست آمده در مورد متغیر
(متغیر
) را از روی متغیر تصادفی
( متغیر
) نشان میدهد. مفهوم اطلاعات متقابل با آنتروپی یک متغیر تصادفی که در واقع میزان اطلاعات موجود در آن متغیر تصادفی را نشان میدهد مرتبط است و به صورت زیر محاسبه میشود.
رگرسیون خطی (Liner Regression)
یک روش خطی برای مدل کردن رابطه بین متغیر وابسته (متغیر هدف) و یک یا چند متغیر مستقل است. در رگرسیون خطی، هدف، بدست آوردن خطی است که بیانگر رفتار و ارتباط بین دادهها میباشد. خطی که مجموع خطای مربعات را به حداقل میرساند. منظور از خطا، تفاوت بین مقدار واقعی y و مقدار پیش ببین شده برای y میباشد که به صورت زیر بیان میشود.
همانطور که در رابطه بالا مشخص است، مقدار پیشبینی شده همان مقدار بدست آمده از معادله خطی (a+bx) میباشد. این خط با معادله خطی زیر بیان میشود و میتوانیم آن را به راحتی با استفاده از کتابخانه Numpy پایتون که به منظور محاسبات علمی مورد استفاده قرار میگیرد، بدست آوریم.
در معادله بالا، b، a، y و x به ترتیب متغیر وابسته، عرض از مبدا (مقدار y وقتی x برابر صفر است)، شیب خط و متغیر مستقل میباشد. در اینجا در صورتی که متغیر مستقل یکی باشد رگرسیون را ساده و در صورتی که متغیر مستقل چند تا باشد، رگرسیون را مرکب مینامیم.
مفهوم متغیر مستقل و متغیر وابسته
به عنوان یک مثال، در رابطه بین قدرت موتور یک خودرو و مسافت طی شده با یک لیتر سوخت، قدرت موتور به عنوان یک متغیر مستقل و مقدار مسافت طی شده به عنوان متغیر وابسته در نظر گرفته میشود. در این رابطه با افزایش قدرت موتور مصرف خودرو بیشتر شده و با یک لیتر سوخت، ماشین مسافت کمتری را طی میکند. در نتیجه ارتباط بین قدرت موتور و مقدار مسافت طی شده با یک لیتر سوخت، یک ارتباط معکوس بین دو متغیر مستقل و وابسته است و با افزایش یکی، دیگری کاهش مییابد.
اساس کار در رگرسیون خطی، کمینهسازی مجموع مربعات خطا است. در نتیجه معادله خطی که کمترین میزان مربعات خطا را داشته باشد، بهترین گزینه برای نمایش مدل ارتباطی بین متغیر مستقل و متغیر وابسته است.
مدل خطی
منظور از مدل خطی، رابطه خطی بین متغیر مستقل و متغیر وابسته است.
خطای میانگین مربع (Mean Square Error)
با استفاده از خطای میانگین مربع، کیفیت مدل رگرسیون را اندازهگیری میکنیم تا دقت پیشبینی صورت گرفته را مشخص نماییم. با توجه به اینکه دقت پیشبنی هیچ وقت صد در صد نمیباشد مقدار خطای میانگین مربع هیچ وقت صفر نمیشود. پس سعی میکنیم تا حد ممکن خطای میانگین مربع به صفر نزدیک باشد.
پیادهسازی رگرسیون خطی در پایتون
برنامه نوشته شده میزان ارتباط معدل کسب شده در دانشگاه (GPA) را به نمره اخذ شده در آزمون SAT، بررسی میکند. دیتاست مورد استفاده در این برنامه را میتوان از اینجا دانلود نمود. در آزمون SAT، میزان آمادگی دانش آموزان دبیرستانی برای ورود به دانشگاه ارزیابی میشود. در این برنامه، معدل کسب شده در دانشگاه (GPA) و نمره اخذ شده در آزمون SAT، به ترتیب متغیر وابسته و متغیر مستقل میباشند که آنها را با y و x1 نمایش دادهایم. در اینجا معادله خط رگرسیون که آن را با نماد yhat نشان دادهایم با استفاده از رابطه زیر محاسبه میگردد.
که در این رابطه a و b به ترتیب عرض از مبدا و شیب خط میباشند که مقادیر آنها را در برنامه با توجه به خطهای ۱۴ و ۱۵ محاسبه کردهایم. از آنجا که رابطه بالا در کامپیوتر به صورت ضرب دو ماتریس و به صورت نمایش داده شده زیر محاسبه میشود
برای اینکه مقادیر ضریب a را محاسبه نماییم، با استفاده از دستور خط ۱۱ یک ستون به نام const با مقادیر ثابت ۱ اضافه میکنیم.
# pip install numpy # pip install pandas # pip install matplotlib # pip install statsmodels import pandas as pd import matplotlib.pyplot as plt import statsmodels.api as sm data = pd.read_csv("Simple_Linear_Regression.csv") y = data["GPA"] x1 = data["SAT"] x = sm.add_constant(x1) #11 model = sm.OLS(y, x).fit() # print(model.summary()) a = model.params["const"] #14 b = model.params["SAT"] #15 plt.scatter(x1, y) plt.xlabel("SAT", fontsize=18) plt.ylabel("GPA", fontsize=18) yhat = a + b * x1 fig = plt.plot(x1, yhat, lw=1, c="red") plt.show()
با اجرای برنامه بالا نمودار زیر نمایش داده میشود. همانطور که در نمودار مشخص است هر چقدر به سمت راست میرویم و نمره اخذ شده در آزمون SAT بالاتر میرود، معدل کسب شده در دانشگاه (GPA) هم افزایش مییابد (نقاط در ناحیه بالاتر محور yها قرار میگیرند)، پس احتمالا افرادی که نمرهی بالاتری را در آزمون SAT اخذ میکنند در آینده از دانشگاه با معدل (GPA) بالاتری فارغالتحصیل خواهند شد. در نمودار یک سری نقاط هم وجود دارند که از این قانون پیروی نمیکنند که به این نقاط که تعداد آنها در مقایسه با کل نقاط بسیار کم است نویز دیتاست گفته میشود. نکتهی دیگری که باید در اینجا به آن اشاره نمود این است که با افزایش تعداد رکوردهای دیتاست (افزایش تعداد نقاط) پیشبینی ما دقیقتر میشود.
فایل برنامه نوشته شده را میتوانید از اینجا دانلود نمایید.
ضریب همبستگی پیرسون (Pearson Correlation Coefficient)
همبستگی، میزان وابستگی و ارتباط بین دو متغیر را اندازهگیری میکند. برای اندازهگیری قدرت و جهت رابطه خطی بین دو متغیر از ضریب همبستگی پیرسون استفاده میکنیم. ضریب همبستگی پیرسون با استفاده از رابطه زیر محاسبه میشود.