خیلی وقت پیش، وقتی که اینترنت هنوز به اندازه امروز فراگیر نشده بود، دادهها کمتر و کم دردسرتر بودن. تحلیل دادهها فقط یک کار آکادمیک به حساب میومد و کمتر کسی بهش به عنوان یک شغل واقعی نگاه میکرد. ولی با انفجار اطلاعات و ظهور اینترنت، شرکتها و سازمانها با حجم عظیمی از دادهها روبرو شدن. همه دنبال یک راه حل بودن تا از این دادهها استفاده بهینه کنن و جواب سوالات خودشون رو سریعتر پیدا کنن.
در اینجا بود که "تحلیل دادههای اکتشافی" یا EDA ظهور کرد. این تکنیکها به تحلیل گران کمک کرد تا دادهها رو بررسی کنن، الگوها و روابط رو کشف کنن و دادههای مهم رو پیدا کنن. فکرش رو بکن! اگه یک نقشه گنج داشته باشی و ندونی از کجا شروع کنی، EDA همون ابزاری هست که راه رو به تو نشون میده.
EDA چیه؟
تحلیل اکتشافی دادهها یا EDAکه مخفف Exploratory Data Analysis هست، یه روشیه که دانشمندان داده ازش استفاده میکنن تا دادهها رو بررسی کنن و ویژگیهای اصلی اونها رو خلاصه کنن. این کار معمولاً با استفاده از روشهای بصری سازی دادهها انجام میشه.
EDA به دانشمندان داده کمک میکنه تا بفهمن چطوری باید دادهها رو دستکاری کنن تا جواب سوالاتشون رو بگیرن. این روش بهشون این امکان رو میده که الگوها رو کشف کنن، ناهنجاریها رو ببینن، فرضیهها رو آزمایش کنن یا پیش فرضها رو بررسی کنن.
تحلیل اکتشافی دادهها بیشتر برای این استفاده میشه که بفهمیم دادهها چه چیزهایی میتونن به ما نشون بدن، فراتر از مدل سازی رسمی یا آزمایش فرضیه ها. این روش به ما کمک میکنه تا متغیرهای دادهها و روابط بین اونها رو بهتر درک کنیم. همچنین میتونه تعیین کنه که آیا تکنیکهای آماری که برای تحلیل داده در نظر داریم، مناسب هستن یا نه. این روش توسط ریاضیدان آمریکایی جان توکی در دهه 1970 توسعه داده شد و هنوز هم به عنوان یک روش پرکاربرد در فرآیند کشف دادهها استفاده میشه.
چرا EDA تو علوم داده مهمه؟
هدف اصلی EDA اینه که قبل از اینکه هر فرضی بکنیم، دادهها رو بررسی کنیم. این کار میتونه به شناسایی خطاهای واضح کمک کنه، همچنین الگوهای داخل دادهها رو بهتر بشناسیم، نقاط غیرعادی یا اتفاقات ناهنجار رو ببینیم و روابط جالب بین متغیرها رو پیدا کنیم.
دانشمندان داده میتونن با استفاده از تحلیل اکتشافی مطمئن بشن که نتایجی که تولید میکنن معتبر هستن و به اهداف تجاری مورد نظر مرتبطن. EDA به ذینفعان هم کمک میکنه تا مطمئن بشن سوالات درستی میپرسن. این روش میتونه به سوالاتی درباره انحراف معیار، متغیرهای دسته بندی شده و بازههای اطمینان پاسخ بده. وقتی EDA کامل شد و نتایج مشخص شد، میتونیم از ویژگیهای اون برای تحلیلهای پیچیدهتر یا مدل سازی مثل یادگیری ماشین استفاده کنیم.
❞تحلیل اکتشافی دادهها یعنی یه نوع طرز فکر و انعطاف پذیری، اینکه حاضر باشی دنبال چیزهایی بگردی که فکر میکنی وجود ندارن، همون طور که دنبال چیزهایی میگردی که باور داری وجود دارن.❝ – جان دبلیو توکی
ابزارهای تحلیل اکتشافی داده ها
ابزارهای EDA امکانات و تکنیکهای آماری خاصی رو در اختیار ما میذارن که شامل موارد زیر میشه:
تکنیکهای خوشه بندی و کاهش ابعاد: این تکنیکها به ما کمک میکنن تا دادههای با ابعاد بالا و متغیرهای زیاد رو به صورت گرافیکی نمایش بدیم.
بصری سازی یک متغیره: این روش برای هر فیلد در دیتاست خام با استفاده از آمار توصیفی کاربرد داره.
بصری سازی دومتغیره و آمار توصیفی: این روش به ما اجازه میده تا رابطه بین هر متغیر در دیتاست و متغیر هدف رو بررسی کنیم.
بصری سازی چندمتغیره: برای نقشه کشی و درک تعاملات بین فیلدهای مختلف در دادهها استفاده میشه.
خوشه بندی K-means
خوشه بندی K-means یه روش خوشه بندیه که در یادگیری بدون نظارت استفاده میشه. تو این روش، دادهها به K گروه تقسیم میشن، یعنی تعداد خوشه ها، بر اساس فاصله هر نقطه داده از مرکز هر گروه. نقاط داده ای که به مرکز خاصی نزدیکتر باشن، تو یه دسته قرار میگیرن. خوشه بندی K-means معمولاً تو بخش بندی بازار، شناسایی الگوها و فشرده سازی تصویر کاربرد داره.
مدلهای پیش بینی
مدلهای پیش بینی مثل رگرسیون خطی از آمار و دادهها برای پیش بینی نتایج استفاده میکنن.
انواع تحلیل اکتشافی دادهها (EDA)
تحلیل اکتشافی دادهها (EDA) روشی هست که برای بررسی و تحلیل مجموعه دادهها به کار میره تا الگوها رو کشف کنیم، روابط بین متغیرها رو شناسایی کنیم و به بینشهای جدید برسیم. این روشها بسته به نوع دادهها و اهداف تحلیل متفاوت هستن. ما میتونیم EDA رو به سه دسته تقسیم کنیم: تحلیل یک متغیره، دو متغیره و چند متغیره.
1. تحلیل یک متغیره (Univariate Analysis)
تحلیل یک متغیره فقط روی یه متغیر تمرکز داره تا ساختار داخلیش رو بفهمیم. این روش بیشتر به توصیف داده و پیدا کردن الگوهای موجود در یه ویژگی میپردازه. بعضی از تکنیکهای معمول این نوع تحلیل شامل موارد زیر هستن:
هیستوگرام ها: برای نمایش توزیع یه متغیر استفاده میشن.
نمودار جعبه ای: برای شناسایی نقاط پرت و فهمیدن گستردگی و کجی دادهها مفیده.
نمودار میله ای: برای دادههای دسته بندی شده به کار میره تا فراوانی هر دسته رو نشون بده.
آمار توصیفی: محاسباتی مثل میانگین، میانه، نما، واریانس و انحراف معیار که تمایل مرکزی و پراکندگی دادهها رو توصیف میکنن.
2. تحلیل دو متغیره (Bivariate Analysis)
تحلیل دو متغیره به بررسی رابطه بین دو متغیر میپردازه. این روش کمک میکنه تا ارتباطات، همبستگیها و وابستگیهای بین جفت متغیرها رو پیدا کنیم. برخی از تکنیکهای کلیدی این نوع تحلیل شامل موارد زیر هستن:
نمودار پراکندگی: یکی از رایجترین ابزارها برای تحلیل دو متغیره است که رابطه بین دو متغیر پیوسته رو نشون میده.
ضریب همبستگی: این اندازه گیری آماری (معمولاً ضریب همبستگی پیرسون برای روابط خطی) میزان ارتباط بین دو متغیر رو کمی میکنه.
جدولهای تقاطعی: برای تحلیل رابطه بین دو متغیر دسته بندی شده استفاده میشن و توزیع فراوانی دستهها رو نشون میدن.
نمودار خطی: در دادههای سری زمانی برای مقایسه دو متغیر در طول زمان به کار میره و کمک میکنه تا روندها و الگوها رو شناسایی کنیم.
کوواریانس: اندازه گیری که نشون میده دو متغیر تا چه حد با هم تغییر میکنن. اما چون به مقیاس متغیرها حساسه، معمولاً همراه با ضریب همبستگی استفاده میشه تا ارزیابی استانداردتری از رابطه بین متغیرها به دست بیاد.
3. تحلیل چند متغیره (Multivariate Analysis)
تحلیل چند متغیره به بررسی روابط بین دو یا چند متغیر در مجموعه داده میپردازه. هدف این روش فهمیدن تعاملات بین متغیرهاست که برای بیشتر تکنیکهای مدل سازی آماری مهمه. برخی از تکنیکها شامل موارد زیر هستن:
نمودار جفتی: برای نمایش همزمان روابط بین چندین متغیر استفاده میشه تا دید جامعتری از تعاملات احتمالی به دست بیاریم.
تحلیل مولفههای اصلی (PCA): یه تکنیک کاهش ابعاد که برای کاهش ابعاد مجموعه دادههای بزرگ استفاده میشه، در حالی که تا حد ممکن واریانس دادهها حفظ بشه.
تکنیکهای تخصصی EDA
علاوه بر تحلیلهای یک متغیره و چند متغیره، تکنیکهای تخصصی EDA هم وجود دارن که برای انواع خاصی از دادهها یا نیازهای تحلیلی به کار میرن:
تحلیل فضایی: برای دادههای جغرافیایی، با استفاده از نقشهها و نمودارهای فضایی برای فهمیدن توزیع جغرافیایی متغیرها.
تحلیل متن: شامل تکنیک هایی مثل نمودارهای ابری کلمات، توزیع فراوانی و تحلیل احساسات برای بررسی دادههای متنی.
تحلیل سریهای زمانی: این نوع تحلیل برای مجموعه داده هایی که مولفه زمانی دارن به کار میره و شامل بررسی و مدل سازی الگوها، روندها و فصلی بودن دادهها در طول زمانه. تکنیک هایی مثل نمودار خطی، تحلیل خودهمبستگی، میانگین متحرک و مدلهای ARIMA معمولاً در تحلیل سریهای زمانی استفاده میشن.
اگه دوست داری مهارتهای یادگیری ماشین و علم داده ات رو به سطح بالاتری برسونی و به یه متخصص واقعی تبدیل بشی، حتماً دوره جامع "متخصص یادگیری ماشین و علم داده" 7لرن رو بررسی کن. تو این دوره همه چیزهایی که نیاز داری تا تو این زمینه حرفه ای بشی رو یاد میگیری. 😉🦾
مزایای EDA
EDA به ما کمک میکنه تا:
دادههای نامرتب رو مرتب کنیم: دادههای گم شده، اشتباهات ورودی و مشکلات دیگه رو شناسایی کنیم.
الگوها و روندها رو کشف کنیم: بفهمیم که چه چیزی توی داده هامون مهمه.
تصمیمات بهتر بگیریم: با داشتن دیدی جامعتر از داده هامون، تصمیمات دقیقتری بگیریم.
معایب EDA
هرچند EDA ابزار قدرتمندیه، اما محدودیت هایی هم داره:
نیاز به تجربه و مهارت: برای استفاده موثر از EDA باید تجربه و مهارت کافی داشته باشی.
زمان بر بودن: تحلیل دادهها به زمان و تلاش زیادی نیاز داره.
پیش بینیهای نادرست: اگر داده هاتو درست تحلیل نکنی، ممکنه به نتایج نادرستی برسی.
ابزارهای تحلیل اکتشافی داده ها
خب حالا بریم سراغ ابزارهایی که معمولاً برای EDA استفاده میشن:
پایتون (Python): پایتون یه زبان برنامه نویسی تفسیری و شی گرا با سینتکس پویاست. ساختارهای داده ای سطح بالا و داخلیش، همراه با تایپینگ و بایندینگ پویا، اونو برای توسعه سریع برنامهها خیلی جذاب کرده. پایتون هم برای ساخت اپلیکیشنها استفاده میشه و هم به عنوان یه زبان اسکریپتی یا چسبی برای اتصال اجزای مختلف. با استفاده از پایتون و EDA میتونی مقادیر گمشده تو دیتاست رو شناسایی کنی که این خیلی مهمه چون باید بدونی چطور با این مقادیر گمشده برای یادگیری ماشین برخورد کنی.
R: زبان R یه زبان برنامه نویسی متن باز و یه محیط نرم افزاری رایگان برای محاسبات آماری و گرافیکیه که توسط بنیاد محاسبات آماری R پشتیبانی میشه. زبان R بین آماردانها و دانشمندان داده خیلی محبوبه و برای توسعه مشاهدات آماری و تحلیل دادهها استفاده میشه.
انجام تحلیل اکتشافی دادهها (EDA) شامل چند مرحله هست که بهت کمک میکنه دادهها رو بهتر بشناسی، الگوهای پنهان رو کشف کنی، ناهنجاریها رو پیدا کنی، فرضیهها رو تست کنی و مطمئن بشی دادهها برای تحلیلهای بعدی آماده هستن.
مرحله 1: فهمیدن مسئله و داده ها
اولین قدم تو هر پروژه تحلیلی اینه که دقیقاً بفهمی چه مشکلی رو میخوای حل کنی و چه داده هایی در اختیارت هست. این شامل پرسیدن سوالات زیر میشه:
هدف تجاری یا سوال پژوهشی چی هست؟
متغیرهای موجود تو دادهها چی هستن و چه معنایی دارن؟
نوع دادهها چیه؟ (عددی، دسته بندی شده، متنی و غیره)
آیا اطلاعاتی در مورد کیفیت یا محدودیتهای دادهها داریم؟
مسائل یا محدودیتهای خاصی در زمینه مورد نظر وجود داره؟
با درک کامل مسئله و داده ها، میتونی استراتژی تحلیلی بهتری داشته باشی و از پیش فرضهای غلط یا نتایج نادرست جلوگیری کنی. همچنین در این مرحله میتونی با متخصصین یا ذی نفعان مشورت کنی تا مطمئن بشی همه چیز رو درک کردی.
مرحله 2: وارد کردن و بررسی داده ها
بعد از اینکه مسئله و دادهها رو خوب فهمیدی، مرحله بعدی وارد کردن دادهها به محیط تحلیلیت (مثل پایتون، R یا اکسل) هست. در این مرحله، بررسی دادهها خیلی مهمه تا یه دید اولیه از ساختار، نوع متغیرها و مشکلات احتمالی پیدا کنی.
کارهایی که میتونی تو این مرحله انجام بدی:
دادهها رو به محیط تحلیلیت وارد کن و مطمئن شو که درست و بدون خطا وارد شدن.
اندازه دادهها (تعداد ردیف و ستون ها) رو بررسی کن تا بفهمی چقدر بزرگ و پیچیده هستن.
مقادیر گمشده رو چک کن و ببین این مقادیر چطور تو متغیرها توزیع شدن.
نوع و فرمت هر متغیر رو شناسایی کن چون این اطلاعات برای مراحل بعدی خیلی مهمه.
خطاها یا ناسازگاریهای ظاهری تو دادهها مثل مقادیر نامعتبر، واحدهای نامتناسب یا نقاط پرت رو بررسی کن.
مرحله 3: مدیریت دادههای گمشده
دادههای گمشده یه مشکل رایج تو اکثر دیتاست هاست و میتونه تاثیر زیادی رو کیفیت و اعتبار تحلیلت داشته باشه. تو EDA باید دادههای گمشده رو شناسایی و به درستی مدیریت کنی.
روشهای مدیریت دادههای گمشده:
الگوها و دلایل احتمالی گم شدن دادهها رو بفهم: آیا دادهها به طور کامل تصادفی (MCAR)، به طور تصادفی (MAR) یا به طور غیرتصادفی (MNAR) گم شدن؟ فهمیدن مکانیزمهای پشت این مسئله میتونه بهت کمک کنه تا روش درست رو انتخاب کنی.
تصمیم بگیر که آیا باید مشاهدات با مقادیر گمشده رو حذف کنی یا جایگزین کنی: حذف مشاهدات با مقادیر گمشده میتونه باعث از دست رفتن دادههای ارزشمند بشه، ولی جایگزینی مقادیر گمشده هم نیاز به دقت داره.
از روشهای مناسب جایگزینی استفاده کن، مثل جایگزینی با میانگین/میانه، جایگزینی با رگرسیون یا روشهای پیچیدهتر مثل KNN یا درختهای تصمیم گیری.
مرحله 4: بررسی ویژگیهای داده
بعد از مدیریت دادههای گمشده، مرحله بعدی تو EDA بررسی ویژگیهای داده هاته. این شامل بررسی توزیع، تمایل مرکزی و پراکندگی متغیرها و شناسایی نقاط پرت یا ناهنجاری هاست. فهمیدن ویژگیهای دادهها خیلی مهمه تا تکنیکهای تحلیلی مناسب رو انتخاب کنی و مشکلات احتمالی رو شناسایی کنی.
مرحله 5: تبدیل داده ها
تبدیل دادهها یه مرحله حیاتی تو فرآیند EDA هست چون بهت کمک میکنه داده هات رو برای تحلیل و مدل سازی آماده کنی. بسته به ویژگیهای داده هات و نیازهای تحلیلی، ممکنه نیاز باشه چندین تغییر انجام بدی.
روشهای معمول تبدیل داده ها:
مقیاس بندی یا نرمال سازی متغیرهای عددی به یه بازه استاندارد (مثل مقیاس بندی min-max یا استانداردسازی)
رمزگذاری متغیرهای دسته بندی شده برای استفاده در مدلهای یادگیری ماشین (مثل رمزگذاری یک-گرمی یا برچسب گذاری)
اعمال تغییرات ریاضی به متغیرهای عددی (مثل لگاریتمی کردن، جذرگیری) برای تصحیح کجی یا عدم خطی بودن
ایجاد متغیرها یا ویژگیهای جدید بر اساس متغیرهای موجود (مثل محاسبه نسبتها یا ترکیب متغیرها)
تجمیع یا گروه بندی دادهها بر اساس متغیرها یا شرایط خاص
مرحله 6: بصری سازی روابط داده ها
بصری سازی یه ابزار قدرتمند تو فرآیند EDA هست چون بهت کمک میکنه روابط بین متغیرها رو کشف کنی و الگوها یا روندهایی رو که شاید از آمار خلاصه یا خروجیهای عددی به چشم نمیان، شناسایی کنی.
روشهای بصری سازی:
ایجاد جدولهای فراوانی، نمودارهای میله ای و نمودارهای دایره ای برای متغیرهای دسته بندی شده
تولید هیستوگرام ها، نمودارهای جعبه ای، نمودارهای ویولونی و نمودارهای چگالی برای نمایش توزیع متغیرهای عددی
بررسی همبستگی یا رابطه بین متغیرها با استفاده از نمودارهای پراکندگی، ماتریسهای همبستگی یا آزمونهای آماری مثل ضریب همبستگی پیرسون یا همبستگی رتبه ای اسپیرمن
مرحله 7: مدیریت نقاط پرت
نقاط پرت داده هایی هستن که به طور قابل توجهی از بقیه دادهها متفاوتن و میتونن نتایج تحلیلها و مدلهای یادگیری ماشین رو تحت تاثیر قرار بدن. تو این مرحله باید نقاط پرت رو شناسایی و به درستی مدیریت کنی.
روشهای شناسایی نقاط پرت:
استفاده از روش هایی مثل بازه بین چارکی (IQR)، نمرههای Z یا قوانین خاص حوزه
بررسی و تحلیل نقاط پرت برای تصمیم گیری درباره حذف یا نگهداری اون ها
مرحله 8: ارائه یافتهها و نتایج
آخرین مرحله تو فرآیند EDA اینه که یافتهها و نتایجت رو به صورت موثر ارائه بدی. این شامل خلاصه کردن تحلیل ها، برجسته کردن اکتشافات مهم و ارائه نتایج به صورت واضح و جذاب هست.
نکات برای ارائه موثر:
اهداف و محدوده تحلیل رو به وضوح بیان کن
زمینه و اطلاعات پس زمینه ای برای کمک به دیگران در فهم روشهای استفاده شده ارائه بده
از بصری سازی و تصاویر برای پشتیبانی از یافتهها و دسترسی پذیرتر کردن اونها استفاده کن
نتایج و الگوهای مهمی که طی فرآیند EDA پیدا کردی رو برجسته کن
هرگونه محدودیت یا ملاحظات مربوط به تحلیلت رو بیان کن
پیشنهادهایی برای گامهای بعدی یا زمینههای مورد نیاز برای بررسی بیشتر ارائه بده
سوالات متداول
1. EDA چیه؟
EDA مخفف Exploratory Data Analysis هست و به معنای تحلیل اکتشافی داده هاست. این فرآیند به تحلیل گرا کمک میکنه تا دادهها رو بشناسن و الگوها و روابط موجود توی اونا رو کشف کنن.
2. چرا EDA مهمه؟
EDA به تحلیل گرا کمک میکنه تا دادهها رو بهتر بفهمن و تصمیمات دقیقتری بگیرن. بدون EDA، ممکنه نتونیم به درستی از داده هامون استفاده کنیم و تصمیمات نادرستی بگیریم.
3. چه ابزارهایی برای EDA وجود داره؟
برخی از ابزارهای معروف برای EDA شامل پایتون و کتابخونه هاش (Pandas، NumPy، Matplotlib)، R و کتابخونه هاش (ggplot2، dplyr)، و ابزارهای بصری سازی داده مثل Tableau و Power BI هستن.
4. چجوری میشه EDA رو انجام داد؟
برای انجام EDA، باید داده هات رو جمع آوری کنی، اونا رو تمیز کنی و بعد با استفاده از تکنیکها و ابزارهای مختلف، اونا رو تحلیل کنی و الگوها و روابط موجود توشون رو کشف کنی.
5. مزایای EDA چیه؟
EDA به تحلیل گرا کمک میکنه تا دادههای نامرتب رو مرتب کنن، الگوها و روندها رو کشف کنن و تصمیمات بهتری بگیرن.
6. معایب EDA چیه؟
برخی از معایب EDA شامل نیاز به تجربه و مهارت، زمان بر بودن و احتمال پیش بینیهای نادرست میشه.
جمع بندی
EDA یکی از ابزارهای ضروری برای هر تحلیل گر داده هست. با استفاده از این تکنیکها و ابزارها، میتونیم داده هامون رو بهتر بفهمیم و تصمیمات دقیقتری بگیریم. هرچند EDA نیاز به تجربه و مهارت داره، اما با تمرین و استفاده مداوم از این تکنیک ها، میتونیم به تحلیل گرای بهتری تبدیل بشیم و از داده هامون بهترین استفاده رو ببریم.