در این مطلب به صورت کامل، به بررسی دستور numpy.cov که برای محاسبه کواریانس در پایتون استفاده میشه میپردازیم! همچنین حالات خاص و نکات پیشرفته مثل rowvar=False و این جور چیزا رو هم باهم بحث میکنیم!
خب سوال اولی که پیش میاد اینه که اصلاً فرمول محاسبه کواریانس چیست؟! برای جواب دادن به این تصویر، تصویر زیر رو در نظر بگیرید!
برای اینکه فهم این فرمول سادهتر و بهتر باشه، بیاید یک مثال بزنیم! مثلاً فرض کنید دو دسته عدد (یکی x و یکی y) داریم و میخوایم کواریانس بین این دوتا رو حساب کنیم!
x=[1,2,3]
y=[4,8,12]
برای محاسبه کوریانس بین x و y داریم!:
خب حالا اگر موافقید یواش یواش بریم سراغ محاسبه کواریانس در پایتون!
قطعه کد زیر رو در نظر بگیرید تا خط به خط توضیحش بدم!
import numpy as np
x=[1,2,3]
y=[4,8,12]
b=np.cov(x,y)
print(b)
تووی خط اول که پکیج numpy رو وارد برنامه کردیم با نام مستعار np ! (چرا نام مستعار؟! چون من حوصله ندارم هِی اسم طوووولانی numpy رو صدا بزنم و میخوام یک اسم کوتاهتری رو صدا بزنم! برای همین براش اسم مستعار در نظر میگیرم! دقیقاً مثل اینکه بعضیها مثلاً به “سیاوش” میگن “سیا”!)
در خط 2 و 3 که همون x و y خودمون رو تعریف کردیم!
در خط یکی مونده به آخر هم داریم از پکیج numpy (اووون np نام مستعار numpy بود دیگه!) و از تابع cov برای محاسبه کواریانس (یا همووون covariance) استفاده میکنیم! و بهش داریم میگیم که کواریانس بین دو بردار x و y رو برامون حساب کن! و نتیجه رو میریزیم توووی متغیری به اسم b !
در خط آخر هم همین b رو داریم چاپ میکنیم!
خروجی:
[[ 1. 4.]
[ 4. 16.]]
خب! شاید بپرسید مگه نباید خروجی یه عدد میشد؟! چرا یه ماتریس بهمون داد؟! جوابش اینه که پایتون دستش به کم نمیره! [این یه اصطلاحه! یعنی کارهای کوچیک انجام نمیده!] بهش گفتیم کواریانس بین x و y رو حساب کن! ولی مثل این دانشجوهای خودشیرین رفته همه کواریانسهای ممکن بین x و y رو حساب کرده! برای درک بهتر منظورم به تصویر زیر که تحلیل خروجی فوق است، دقت کنید!
راستی حالا که بحث داغه! بذارید برای علافهمندان یه چندتا تکته آماری هم بگم! [چون به بحثمون مرتبطه!]
توجه کنید که این دو نکتهای که گفتم، همیشه برقراره! نه اینکه فقط واسه همین مثال ما اینجوری باشه!!!
توجه کنید که تا حدی آموزش تموم شد! و از اینجا به بعد نکات پیشرفتهتری رو میخوایم بحث کنیم که طبیعتاً میطلبه تا حدی پایتونتون بهتر باشه! اما یادتون نره که اگر میخواید بیخیال ادامه مطلب بشید! میتونید به انتهای مطلب مراجعه کنید و چندتا آموزش پیشنهادی خیلی خوب رو ببینید!
فرض کنید ما دادههامون رو به صورت زیر تعریف کردیم!
import numpy as np
data=np.array([
[1,2,3],
[4,8,12]
])
یعنی به صورت یک آرایه! [اگر نمیدونید آرایه چیست به آموزش ساخت آرایه در پایتون مراجعه کنید!]
شاید بگید لازمه اسم دادههامووون رو بذاریم data؟! قطعاً نه! هر اسمی که حال میکنید میتونید بذارید!
حالا اگر به پایتون بگیم: جناب پایتون، دادههای ما رو به صورت تصویر زیر در نظر بگیر!
یعنی هر سطر در اووون آرایه رو به عنوان یک متغیر در نظر بگیر! اصطلاحاً به این حالت rowvar هم میگن! (در زبان انگلیسی row یعنی سطر! و variable یعنی متغیر!) [منظورش اینه که rowهای ما variableهاموووون هستن!]
خلاصه پس برای نوشتن کد محاسبه کوریانس در این حالت فقط کافی است بنویسیم!
import numpy as np
data=np.array([
[1,2,3],
[4,8,12]
])
b=np.cov(data)
print(b)
دیگه توضیح نیاز نداره! چون همه خط های کد رو بالاتر آموزش دادم! فقط در خط یکی مونده به آخر میگیم بیا کوریانس این مجموعه داده رو حساب کن! (و به صورت پیشفرض حالت rowvar که در موردش صحبت کردیم رو در نظر میگیره!)
خروجی:
[[ 1. 4.]
[ 4. 16.]]
یه بار دیگه اون آرایهای که تعریف کردیم رو دوباره نگاه کنید! شاید بخوایم به پایتون بگیم:! آقای پایتون، هر ستون رو به عنوان متغیر در نظر بگیر! یعنی:
در این صورت باید بگیم rowvar=False ! (یعنی دیگه از این خبرا نیست که rowها variableهامووون باشن! سطرها متغیرهامووون باشن! بلکه الان میخوایم ستونها متغیرهامووون باشن!)
شاید بگید این حالت که اتفاق نمیافته! ولی باید بگم: زبونتون رو گاز بگیرید! چون اتفاقاً این حالت خیلی بیشتر از حالت قبلی در تحلیل داده اتفاق میافته که ستونها متغیرهای ما باشن!
بنابراین باید قطعه کد زیر رو وارد کنیم!
import numpy as np
data=np.array([
[1,2,3],
[4,8,12]
])
b=np.cov(data,rowvar=False)
print(b)
که دیگه خط به خط کد بالا رو در خطوط بالای این مطلب توضیح دادم! اون rowvar=False رو هم که همین چند خط پیش توضیح دادم!
خروجی:
[[ 4.5 9. 13.5]
[ 9. 18. 27. ]
[13.5 27. 40.5]]
این مطلب هم تموم شد! اگر نظری، نقدی، نکتهای داشتید لطفاً برامووون در بخش نظرات بنویسید! خیلی ممنون از لطفتون.
آموزش محاسبه واریانس و انحراف معیار در پایتون + فرمول !
محاسبه میانگین هارمونیک در پایتون !
تعداد دیدگاه | 2 |
تعداد بازدید | 10.0K |
تاریخ انتشار | 04/12/2019 |
تاریخ بروزرسانی | 18/07/2020 |
نویسنده | گروه آموزشی کولاک |