واحد 2 / 11

پاکسازی و آماده‌سازی داده‌ها: داده‌های گمشده، موارد دورافتاده و کدگذاری

سود:

  • توانایی تشخیص انواع داده های از دست رفته (MCAR/MAR/MNAR)، نقاط دورافتاده و خطاهای کدگذاری و استفاده از هوش مصنوعی با داده های صحیح برای تولید کد پاکسازی و تشخیص
  • امکان مشاهده اینکه چگونه هر مرحله تمیز کردن (حذف، تخصیص، تبدیل) پیشنهاد شده توسط هوش مصنوعی بر نتیجه تجزیه و تحلیل تأثیر می گذارد و یک گردش کار قابل برگشت و مستند ایجاد می کند.
  • حفظ این نکته که تصمیمات پاکسازی مبتنی بر دانش فرآیندی است که داده‌ها را تولید می‌کند، و هوش مصنوعی یک دستیار تحت نظارت است، نه یک خودکار کور.

هر تحلیلگر با تجربه یک حقیقت را می داند: بیشتر اوقات یک پروژه تجربی مدلسازی نیست، بلکه پاکسازی داده است (کار تصحیح خطاها، حذفیات و ناهماهنگی ها در داده ها و آماده کردن آن برای تجزیه و تحلیل). به عنوان یک قاعده کلی، حدود 70-80٪ از زمان ها به درک، تمیز کردن و تبدیل داده ها می پردازد. فقط 20-30٪ برای تجزیه و تحلیل واقعی باقی مانده است. در این بخش، گام به گام خواهیم دید که چگونه هوش مصنوعی (AI) این بار سنگین را کاهش می دهد، اما کدام تصمیمات باید همچنان با شما باقی بماند و چرا.

بیایید ابتدا دو واقعیت اساسی را قرار دهیم. اولاً، تصمیمات تمیز کردن بر اساس دانش شما از فرآیندی است که داده‌ها را تولید می‌کند: فقط شما می‌دانید که چرا یک مقدار گم شده است، چرا یک عدد بیش از حد بزرگ است. هوش مصنوعی داده ها را نمی بیند، زمینه را نمی شناسد. کد می نویسد، تصمیم نمی گیرد. دوم، هر مرحله تمیز کردن ممکن است نتیجه تجزیه و تحلیل را تغییر دهد. حذف یک نقطه پرت می تواند ضریب را معکوس کند. پر کردن موارد گمشده با میانگین می تواند به طور مصنوعی واریانس را کاهش دهد. بنابراین پاکسازی باید برگشت پذیر و مستند باشد: هرگز داده های خام را لمس نکنید، هر مرحله را در کد انجام دهید، تاثیر هر مرحله را ثبت کنید.

گردش کار تمیز کردن گام به گام

1. داده ها را بشناسید. ابتدا ساختار را ببینید: تعداد سطرها (مشاهدات) و ستون ها (متغیرها)، نوع هر متغیر (عددی، طبقه بندی، تاریخ)، آمار خلاصه، تعداد موارد مفقود. می توانید این کد "پروفایل داده" را از هوش مصنوعی بخواهید. اما شما خروجی را می خوانید و سوالاتی مانند "چرا این متغیر به صورت متن آمده است؟"

2. درک و طبقه بندی داده های از دست رفته. داده های از دست رفته به سه نوع تقسیم می شوند. MCAR (به طور تصادفی گم شده): گم شدن به دلیل چیزی نیست، به عنوان مثال یک سنسور به طور تصادفی از کار افتاده است. MAR (از دست رفته به طور تصادفی): غیبت به سایر متغیرهای مشاهده شده بستگی دارد، به عنوان مثال افراد مسن اغلب یک سوال را خالی می گذارند، اما شما سن را می دانید. MNAR (از دست رفته نه به صورت تصادفی): مفقود شدن به خود ارزش مشاهده نشده بستگی دارد، به عنوان مثال افراد پردرآمد درآمد خود را گزارش نمی کنند. این تمایز بسیار مهم است زیرا روش حل را تعیین می کند و هوش مصنوعی نمی تواند برای شما تصمیم بگیرد.

3. مقابله با کمبود. گزینه‌ها: حذف فهرستی، انتساب میانگین/میانگین، انتساب چندگانه مبتنی بر مدل. حذف در MCAR نسبتا امن است اما حجم نمونه را کاهش می دهد. تخصیص چندگانه در MAR مناسب تر است. هیچ روش ساده ای بی طرفی در MNAR را تضمین نمی کند. مکانیسم کمبود باید مدل سازی شود یا حداقل یک تحلیل حساسیت انجام شود. پر کردن میانگین آسان اما خطرناک است: واریانس را کاهش می دهد، روابط را ضعیف می کند و عدم اطمینان را پنهان می کند.

4. موارد پرت را بررسی کنید. پرت، مشاهده ای است که بسیار دور از سایرین قرار دارد. دو سوال را از هم جدا کنید: آیا این یک خطا است (سن 999 در ورودی داده نوشته شده است) یا یک مقدار واقعی اما پرت است (درآمد یک میلیاردر)؟ رفع اشکالات؛ مقادیر پرت واقعی را حذف نکنید زیرا آنها داده ها را نشان می دهند. حذف نقطه پرت "چون آزار دهنده است" داده ها را به سمت نتیجه منحرف می کنید.

5. کدگذاری و سازگاری. استاندارد کردن دسته ها ("مرد"، "مذکر"، "E" همه در یک کد)، تاریخ ها را در یک قالب، واحدها را در یک مقیاس قرار دهید، ردیف های تکراری را شناسایی کنید. این مرحله کم خطرترین مرحله است که هوش مصنوعی بهترین کمک را می کند.

6. سند و فریز کنید. هر مرحله را با کد و یک خط نظر ثبت کنید و داده های خام و پاک شده را جدا نگه دارید. بنابراین وقتی یک داور می پرسد "چرا این مشاهدات کنار گذاشته شد؟" شما پاسخ خود را آماده دارید

احتیاط: بر اساس نتایج تصمیم نگیرید. حذف خطی که می گوید "وقتی این خط را حذف می کنید، ضریب قابل توجه می شود" موذیانه ترین شکل هک p است که در قسمت بعدی خواهیم دید.

جدول مقایسه: روش های داده از دست رفته

روش

چه زمانی مناسب است؟

خطر

نقش هوش مصنوعی

یک ردیف را حذف کنید

MCAR، نرخ گم شدن کم

نمونه کوچکتر می شود، سوگیری در MAR/MNAR

کد را می نویسد؛ شما تصمیم بگیرید

تخصیص میانگین/میانگین

تجزیه و تحلیل اولیه سریع

واریانس را کاهش می دهد، رابطه را پنهان می کند

آسان است اما آن را توصیه نمی کند. باید هشدار دهد

تکالیف چندگانه (MI)

MAR، متغیرهای مهم

اگر به درستی نصب نشود گمراه کننده خواهد بود

کد و بسته را توصیه می کند (موش)

مدل سازی مکانیزم

MNAR

پیچیده، با فرض فشرده

فقط پیش نویس؛ کارشناس مورد نیاز است

چهار فرمان قابل کپی

1. پروفایل داده:

نقش شما: دستیار پاکسازی داده ها. من داده ها را به اشتراک نمی گذارم، من کد R را می خواهم. من یک data.frame به نام "digit" دارم. متغیرها: شناسه، سن (عددی)، درآمد (عددی)، تحصیلات (رده‌بندی)، منطقه (رده‌بندی)، تاریخ (تاریخ). وظیفه: کدی بنویسید که نوع، عدد گمشده و نرخ را برای هر متغیر، آمار خلاصه برای عددی و جدول فراوانی برای دسته‌بندی تولید می‌کند. افزودن خط نظر

2. تشخیص داده های از دست رفته:

کدی بنویسید که الگوی گمشده داده‌های «رقمی» بالا را بررسی می‌کند: - میزان گم شدن هر متغیر، - یک جدول/گراف ساده که رابطه عدم وجود را با سایر متغیرها نشان می‌دهد. من به خروجی کد نگاه می کنم و تمایز MCAR/MAR/MNAR را ایجاد می کنم. شما فقط ابزار تشخیصی را تولید می کنید، در مورد روش تخصیص تصمیم نگیرید.

3. بازرسی پرت (نه حذف):

کدی را برای متغیر «درآمد» بنویسید که موارد پرت را بدون حذف بررسی می‌کند: نمودار جعبه، کران‌های مبتنی بر IQR، و فهرست مشاهدات پرت + مقادیر جدول. ببینم اینها اشتباه هستند یا واقعی. حذف خودکار را اضافه کنید.

4. استانداردسازی کدگذاری:

در متغیر 'آموزش'، مقادیر به صورت مختلط نوشته می شوند: "دبستان"، "دبستان"، "دبستان"، "دبیرستان"، "دبیرستان"، "دانشگاه"، "univ". کد R را بنویسید که این کدها را به دسته‌های ثابت بازکد می‌کند. جدول نگاشت را به وضوح نشان دهید تا بتوانم هر تبدیل را تأیید کنم. مقداری را که نمی شناسید روی "ناشناس" تنظیم کنید.

اعلان ضعیف / اعلان قوی

اعلان ضعیف:

داده ها را پاک کنید، شکاف ها را پر کنید، موارد پرت را دور بریزید.

این تقاضا خطرناک است: به هوش مصنوعی اختیارات کور می دهد. چه نوع از دست رفته، چه نوع پر کردن، چه حقیقت متناقضی - هیچ کدام روشن نیست. نتیجه ممکن است یک مجموعه داده با سوگیری مخفیانه باشد.

اعلان قدرتمند:

نقش شما: دستیار نظافت، شما تصمیم گیرنده نیستید. قدم به قدم پیش بروید و کدی بنویسید که تأثیر هر مرحله را گزارش می‌کند: 1) الگوی گمشده را نشان می‌دهد (حذف/پر نکنید)، 2) نامزدهای پرت را فهرست کنید (حذف نکنید)، 3) تناقض‌های دسته‌بندی را با جدول نگاشت برطرف کنید. پس از هر مرحله، تعداد ردیف و آمار خلاصه را چاپ کنید تا بتوانم تغییر را ببینم و تأیید کنم. درج اختصاص/حذف خودکار.

تفاوت واضح است: اراده قوی هوش مصنوعی را به عنوان یک دستیار تحت نظارت قرار می دهد که مراحل برگشت پذیر و مستند را تولید می کند.

سه کیف کوچک

مورد 1 - تله انتساب متوسط. داده های درآمدی یک تحلیلگر برای 5000 نفر 18 درصد از دست رفته بود. او به هوش مصنوعی گفت که «شکاف‌ها را پر کند». هوش مصنوعی همه آنها را میانگین گرفت. یافته‌ها: واریانس درآمد 22 درصد کاهش یافت و ضریب رابطه تحصیل و درآمد ضعیف‌تر از آنچه بود بود. راه صحیح: کمبود MAR بود (به دلیل تحصیلات)، باید با تکالیف چندگانه (موش) پر می شد. درس: روش پر کردن به مکانیسم بستگی دارد.

مورد 2 - تمیز کردن بیرونی یافته را معکوس می کند. 3 شرکت بسیار بزرگ (0.6٪ از کل مشاهدات) در یک داده شرکت وجود داشت. اینها با پیشنهاد "تمیز کردن" هوش مصنوعی حذف شدند. ضریب صرفه جویی در مقیاس از مثبت به منفی تبدیل شد. با این حال، آن 3 شرکت واقعی و بخش مهمی از صنعت بودند. راه درست این بود که به جای پاک کردن، با تخمین کامل و قوی گزارش دهید. درس: نقاط پرت واقعی داده ها هستند، نه نویز.

مورد 3 - خطای کدگذاری بی صدا. در یک پانل، متغیر تاریخ در دو قالب مختلف ("2020-03-01" و "01/03/2020") ارائه شد. وقتی کد ترکیبی تولید شده توسط هوش مصنوعی آنها را با مقادیر مختلف اشتباه گرفت، 1400 مشاهده با هم مطابقت نداشتند و نرخ رشد مضحک شد. اگر تحلیلگر تعداد ردیف ها را بررسی نمی کرد، اهمیتی نداشت. درس: شمارش مشاهدات و بررسی سلامت عقل بعد از هر مرحله ضروری است.

اشتباهات رایج

  • کورکورانه شکاف را با میانگین پر کنید. واریانس را کاهش می دهد، عدم قطعیت را پنهان می کند و سوگیری در MAR/MNAR ایجاد می کند. ابتدا مکانیسم را طبقه بندی کنید.
  • حذف علامت پرت "چون اذیت می کند". پرت واقعی داده ها را نشان می دهد. حذف نتیجه را خم می کند. اشتباه را تصحیح کنید، آنچه را که واقعی است حفظ کنید.
  • ضربه زدن به داده های خام هرگز داده های خام را تغییر ندهید. تمام پاکسازی ها را با کد در یک کپی جداگانه انجام دهید تا بتوان به آن برگرداند.
  • عدم اندازه گیری تاثیر مراحل اگر پس از هر مرحله، تعداد ردیف و آمار خلاصه بررسی نشود، خطاهای بی‌صدا جمع می‌شوند.
  • در نتیجه تمیز کردن منطق "وقتی این خط را اضافه می کنید، نتیجه بهتر می شود" هک p است. تمیز کردن باید قبل و مستقل از نتیجه تجزیه و تحلیل برنامه ریزی شود.
نکته: یک جدول «قبل/پس از» نگه دارید که آمارهای اولیه (میانگین، میانه، تعداد مشاهدات، چند همبستگی) را قبل و بعد از پاکسازی در کنار هم قرار دهد. یک پرش غیرمنتظره بهترین منادی یک خطای پنهان است.

به طور خلاصه

پاکسازی داده ها زمان برترین و تصمیم گیری ترین مرحله کار تجربی است. هوش مصنوعی در این زمینه یک تولیدکننده کد قدرتمند است، اما نمی‌تواند عکس‌ها را فراخوانی کند: شما نوع داده گمشده (MCAR/MAR/MNAR) را طبقه‌بندی می‌کنید، تعیین می‌کنید که آیا نقطه پرت یک خطا است یا واقعی، هر مرحله را قابل برگشت و مستند نگه دارید. به‌جای دادن اختیار «واضح» به هوش مصنوعی، یک گردش کار گام به گام ایجاد کنید که تأثیر آن اندازه‌گیری و تأیید شود. بررسی تعداد مشاهدات و آمار خلاصه پس از هر مرحله بهترین پادزهر برای خطاهای خاموش است.

وظیفه کاربردی

حداقل دو متغیر را انتخاب کنید که شامل موارد گم شده و پرت در یک مجموعه داده باشد (داده های خودتان یا یک مجموعه نمونه). از طریق اعلان «گام به گام، حذف/پر نکنید» در بالا یک کد تشخیصی از هوش مصنوعی درخواست کنید و آن را اجرا کنید. کمبود را به عنوان MCAR/MAR/MNAR طبقه بندی کنید و توجیه خود را در یک جمله بنویسید. نامزدهای متناقض را یک به یک بررسی کنید و تصمیم بگیرید که کدام یک اشتباه است و کدام یک واقعی است. در نهایت، یک جدول «قبل و بعد» را قبل/بعد از تمیز کردن تهیه کنید و در صورت وجود هرگونه تغییر غیرمنتظره گزارش دهید.

چک لیست

  • [ ] من داده های خام را بدون تغییر در یک نسخه جداگانه پاک کردم.
  • [ ] من کمبود را به عنوان MCAR/MAR/MNAR طبقه بندی کردم و روش را بر این اساس انتخاب کردم.
  • [ ] من موارد پرت را یکی یکی بررسی کردم که آیا آنها اشتباه بودند یا واقعی. کورکورانه پاکش نکردم
  • [ ] من تعداد مشاهدات و آمار خلاصه را پس از هر مرحله تمیز کردن بررسی کردم.
  • [ ] من تمام مراحل را با کد و یک خط نظر مستند کردم. برگشت پذیر
  • [ ] من پاکسازی را بر اساس دانش فرآیندی است که داده ها را تولید می کند، نه بر اساس نتیجه تجزیه و تحلیل.