Табыстар:
- Жетіспейтін деректер түрлерін (MCAR/MAR/MNAR), ауытқуларды және кодтау қателерін тану және тазалау коды мен диагностика жасау үшін дұрыс деректермен AI пайдалану мүмкіндігі
- Жасанды интеллект ұсынған әрбір тазалау қадамы (жою, тағайындау, түрлендіру) талдау нәтижесіне қалай әсер ететінін және қайтымды және құжатталған жұмыс процесін құруды көру мүмкіндігі
- Тазалау шешімдері деректерді жасайтын процесс туралы білімге негізделгенін және жасанды интеллект соқыр автомат емес, бақыланатын көмекші екенін сақтау
Әрбір тәжірибелі талдаушы бір шындықты біледі: эмпирикалық жобаның көп уақытын модельдеу емес, деректерді тазалау (деректердегі қателерді, олқылықтарды және сәйкессіздіктерді түзету және оны талдауға дайындау жұмысы) құрайды. Әдеттегідей, уақыттың шамамен 70-80% деректерді түсінуге, тазалауға және түрлендіруге кетеді; нақты талдау үшін тек 20-30% қалды. Бұл бөлімде біз жасанды интеллект (AI) бұл ауыр жүкті қалай жеңілдететінін кезең-кезеңімен көреміз, бірақ қандай шешімдер әлі де сізде қалуы керек және неге.
Алдымен екі негізгі фактіні келтірейік. Біріншіден, тазалау шешімдері деректерді жасайтын процесс туралы біліміңізге негізделеді: мәннің неліктен жоқ екенін, санның неліктен тым үлкен екенін сіз ғана білесіз. AI деректерді көрмейді, контекстті білмейді; Код жазады, шешім қабылдамайды. Екіншіден, әрбір тазалау қадамы талдау нәтижесін өзгертуі мүмкін. Шеткі мәнді жою коэффициентті инверсиялауы мүмкін; Жетіспейтінді орташа мәнмен толтыру дисперсияны жасанды түрде азайтуы мүмкін. Сондықтан тазалау қайтымды және құжатталған болуы керек: ешқашан бастапқы деректерге қол тигізбеңіз, әр қадамды кодпен орындаңыз, әр қадамның әсерін жазыңыз.
Қадамдық тазалау жұмыс процесі
1. Деректерді білу. Алдымен құрылымды қараңыз: жолдар (бақылаулар) және бағандар (айнымалылар) саны, әр айнымалының түрі (сандық, категориялық, күн), жиынтық статистика, жетіспейтіндер саны. Сіз бұл «деректер профилі» кодын AI сұрай аласыз; Бірақ сіз нәтижені оқып, «неліктен бұл айнымалы мәтін ретінде келді?» сияқты сұрақтар қоясыз.
2. Жетіспейтін деректерді түсіну және жіктеу. Жетіспейтін деректер үш түрге бөлінеді. MCAR (Missing Completely At Random): жоғалу ештеңеге байланысты емес, мысалы, сенсор кездейсоқ істен шықты. MAR (Missing At Random): жоғалу басқа байқалатын айнымалыларға байланысты, мысалы, егде жастағы адамдар сұрақты жиі бос қалдырады, бірақ сіз жасыңызды білесіз. MNAR (Missing Not At Random): жетіспеушілік бақыланбайтын мәнге байланысты, мысалы, табысы жоғары адамдар өз кірістерін есептемейді. Бұл айырмашылық өте маңызды, өйткені ол шешім әдісін анықтайды және AI сіз үшін мұны шеше алмайды.
3. Жетіспеушілікпен күресу. Опциялар: тізім бойынша жою, орташа/медиандық импутация, үлгі негізіндегі көп импутация. MCAR жүйесінде жою салыстырмалы түрде қауіпсіз, бірақ үлгі өлшемін азайтады. MAR-да бірнеше тағайындау қолайлырақ. Ешбір қарапайым әдіс MNAR-да бейтараптыққа кепілдік бермейді; Жетіспеушілік механизмін модельдеу немесе кем дегенде сезімталдық талдауын жасау керек. Орташа толтыру оңай, бірақ қауіпті: ол дисперсияны азайтады, қатынастарды әлсіретеді және белгісіздікті жасырады.
4. Шектеулерді зерттеңіз. Шектеу - бұл басқалардан өте алыс орналасқан бақылау. Екі сұрақты бөліңіз: Бұл қате ме (деректер енгізуде 999 жас жазылған) немесе бұл нақты, бірақ шектен тыс мән (миллиардер кірісі) ме? Қателерді түзету; Шынайы шектен тыс мәндерді жоймаңыз, себебі олар деректерді көрсетеді. Шеткі мәнді «мазаландыратындықтан» жою сіз деректерді нәтижеге қарай бұрмалайсыз.
5. Кодтау және жүйелілік. Санаттарды стандарттаңыз («Ер», «ер», «Е» барлығы бір кодқа), күндерді бір пішімге, бірліктерді бір шкалаға келтіріңіз, қайталанатын жолдарды анықтаңыз. Бұл AI жақсы көмектесетін ең аз қауіпті кезең.
6. Құжаттау және мұздату. Әр қадамды шикі және тазартылған деректерді бөлек сақтай отырып, кодпен және түсініктеме жолымен жазыңыз. Сонымен, төреші «неліктен бұл бақылаулар алынып тасталды?» деп сұрағанда. жауабың дайын.
Абайлаңыз: Нәтижелерге қарап тазалау туралы шешім қабылдамаңыз. «Осы жолды жойғанда, коэффициент маңызды болады» деген жолды жою p-бұзушылықтың ең жасырын түрі болып табылады, оны келесі бөлімде көреміз.
Салыстыру кестесі: деректердің жоқ әдістері
Әдіс
Қашан орынды?
тәуекел
АИ рөлі
Жолды жою
MCAR, төмен жетіспеушілік көрсеткіші
Үлгі кішірейеді, MAR/MNAR-да қиғаштық
Кодты жазады; сіз шешесіз
Орташа/медиандық тағайындау
Жылдам алдын ала талдау
Дисперсияны азайтады, қатынасты жасырады
Бұл оңай, бірақ оны ұсынбайды; ескерту керек
Бірнеше тапсырма (MI)
MAR, маңызды айнымалылар
Егер дұрыс орнатылмаса, ол жаңылыстырады
Код пен пакетті ұсынады (тышқандар)
Механизмді модельдеу
MNAR
Күрделі, болжамды қажет ететін
Тек нобай; сарапшы қажет
Көшірілетін төрт шақыру
1. Деректер профилін жасау:
Сіздің рөліңіз: деректерді тазалау көмекшісі. Мен деректерді бөліспеймін, мен R кодын алғым келеді. Менде 'digit' деп аталатын data.frame бар; айнымалылар: id, жас (сандық), табыс (сандық), білім (санаттық), аймақ (категориялық), күні (күні). Тапсырма: әр айнымалы үшін типті, жетіспейтін санды және жылдамдықты, сандық үшін жиынтық статистиканы және категориялық үшін жиілік кестесін шығаратын кодты жазыңыз. Түсініктеме жолын қосыңыз.
2. Жетіспейтін деректер диагностикасы:
Жоғарыдағы «цифр» деректері үшін жетіспейтін үлгіні зерттейтін кодты жазыңыз: - әрбір айнымалының жетіспейтін жылдамдығы, - басқа айнымалылар арасындағы жетіспеушілік қатынасын көрсететін қарапайым кесте/график. Мен кодтың шығысын қарап, MCAR/MAR/MNAR айырмашылығын жасаймын; Сіз тек диагностикалық құралды шығарасыз, тағайындау әдісін ШЕШМЕҢІЗ.
3. Шамадан тыс тексеру (жою емес):
Айнымалы мәндерді ЖОЮМАЙ зерттейтін «табыс» айнымалысының кодын жазыңыз: қорап сызбасы, IQR негізіндегі шекаралар және кесте тізбесі шектен тыс бақылаулар + мәндер. Мен бұл қателіктер ме, жоқ па, соны көремін. Автоматты жоюды қосыңыз.
4. Кодтауды стандарттау:
«Білім» айнымалысында мәндер аралас жазылған: «Бастауыш мектеп», «бастауыш мектеп», «БАСТАУЫШ», «Жоғары мектеп», «жоғары мектеп», «Университет», «университет». Оларды сәйкес санаттарға қайта кодтайтын R кодын жазыңыз; Әр түрлендіруді растау үшін салыстыру кестесін анық көрсетіңіз. Сіз танымайтын мәнді "БЕЛГІЛІМСІЗ" күйіне орнатыңыз.
Әлсіз шақыру / Күшті шақыру
Әлсіз шақыру:
Деректерді тазалаңыз, бос орындарды толтырыңыз, шектен шыққан мәндерді алып тастаңыз.
Бұл талап қауіпті: ол AI-ға соқыр билік береді. Қандай түрі жоқ, қандай толтыру, қандай қайшылықты шындық - оның ешқайсысы анық емес. Нәтиже жасырын біржақты деректер жиынтығы болуы мүмкін.
Күшті шақыру:
Сіздің рөліңіз: тазалау жөніндегі көмекші, сіз шешім қабылдаушы емессіз. Қадаммен өтіп, ӘРБІР қадамның әсерін хабарлайтын кодты жазыңыз: 1) жетіспейтін үлгіні көрсетіңіз (ЖОЮМАЙ/толтырмаңыз), 2) шектен тыс үміткерлерді тізімдеңіз (ЖОЮМАЙДЫ), 3) салыстыру кестесімен санат сәйкессіздіктерін түзетіңіз. Өзгерісті көріп, растау үшін әр қадамнан кейін жолдар саны мен жиынтық статистиканы басып шығарыңыз. Автоматты тағайындау/жоюды кірістіру.
Айырмашылық анық: күшті ерік АИ-ді қайтымды және құжатталған қадамдар жасайтын бақыланатын көмекші ретінде орналастырады.
үш шағын іс
1-жағдай – Орташа тапсырма тұзағы. Бір аналитиктің 5000 адамның кірісі туралы деректері 18% жетіспейді. Ол АИ-ге «бос орындарды толтыр» деді; AI олардың барлығын орташалады. Нәтиже: табыс дисперсиясы 22%-ға төмендеді, ал білім мен табыс арақатынасының коэффициенті бұрынғыдан әлсіз болып шықты. Дұрыс жол: жетіспеушілік MAR (білімге байланысты), бірнеше тапсырмамен толтырылуы керек болды (тышқандар). Сабақ: толтыру әдісі механизмге байланысты.
2-жағдай — Шектеулерді тазалау нәтижені өзгертеді. Бір фирма деректерінде 3 өте ірі фирма (жалпы бақылаудың 0,6%) болды. Бұл AI-ның «тазалау» ұсынысымен жойылды; Масштаб коэффициентінің үнемділігі оңнан теріске айналды. Дегенмен, бұл 3 компания нақты және саланың маңызды бөлігі болды. Дұрыс әдіс жоюдың орнына толық және сенімді бағалаумен есеп беру болды. Сабақ: нақты шектен тыс көрсеткіштер шу емес, деректер.
3-жағдай — Үнсіз кодтау қатесі. Бір панельде күн айнымалысы екі түрлі пішімде келді («2020-03-01» және «01/03/2020»). AI жасаған комбинация коды оларды әртүрлі мәндермен қателескенде, 1400 бақылау сәйкес келмеді және өсу қарқыны күлкілі болды. Егер талдаушы жолдардың санын тексермесе, маңызды емес еді. Сабақ: бақылау сандары және әрбір қадамнан кейін есі дұрыстығын тексеру міндетті болып табылады.
Жалпы қателер
- Алшақтықты орташамен соқыр толтыру. Ол дисперсияны азайтады, белгісіздікті жасырады және MAR/MNAR-да қиғаштық жасайды. Алдымен механизмді жіктеңіз.
- Шектеуді жою «себебі ол алаңдатады». Шынайы шеткі мәндер деректерді білдіреді; жою нәтижені иілу болып табылады. Қатесін түзет, шынды сақта.
- Шикі деректерді түрту. Ешқашан өңделмеген деректерді өзгертпеңіз; Барлық тазалауды кодпен қайта қалпына келтіру үшін бөлек көшірмеде орындаңыз.
- Қадамдардың әсерін өлшемеу. Әрбір қадамнан кейін жолдар саны мен жиынтық статистика тексерілмесе, үнсіз қателер жинақталады.
- Нәтижесінде тазалау. «Осы жолды қосқанда нәтиже жақсырақ болады» логикасы p-hacking; Тазалауды талдау нәтижесіне дейін және оған қарамастан жоспарлау керек.
Кеңес: Тазалауға дейін және кейін бірдей негізгі статистиканы (орташа, медиана, бақылаулар саны, бірнеше корреляция) қатар қоятын «бұрын/кейін» кестесін сақтаңыз. Күтпеген секіру - жасырын қатенің ең жақсы хабаршысы.
Қысқаша айтқанда
Деректерді тазалау эмпирикалық жұмыстың ең көп уақытты қажет ететін және шешім қабылдауды қажет ететін кезеңі болып табылады. AI - бұл қуатты код генераторы, бірақ ол кадрларды шақыра алмайды: сіз жетіспейтін деректер түрін (MCAR/MAR/MNAR) жіктейсіз, шектен шыққан мән қате немесе нақты екенін анықтайсыз, әрбір қадамды қайтымды және құжатталған күйде сақтаңыз. AI соқырына «айқын» өкілеттік берудің орнына, әсері өлшенетін және расталған қадамдық жұмыс процесін орнатыңыз. Әрбір қадамнан кейін бақылаулар санын және жиынтық статистиканы тексеру үнсіз қателерге қарсы ең жақсы қарсылық болып табылады.
Қолданбалы тапсырма
Деректер жиынында жоқ және шектен тыс мәндерді қамтитын кемінде екі айнымалы мәнді таңдаңыз (өз деректеріңіз немесе үлгі жиыны). Жоғарыдағы «қадаммен, жоймаңыз/толтырмаңыз» сұрауы арқылы AI-дан диагностикалық кодты сұраңыз және оны іске қосыңыз. Жетіспеушілікті MCAR/MAR/MNAR деп жіктеп, бір сөйлеммен негіздеуіңізді жазыңыз. Қарама-қайшы үміткерлерді бір-бірлеп тексеріп, қайсысы қате, қайсысы шынайы екенін анықтаңыз. Соңында, тазалау алдында/кейін «бұрын-кейін» кестесін жасаңыз және күтпеген өзгерістер болған жағдайда хабарлаңыз.
бақылау парағы
- [ ] Мен өңделмеген деректерді бөлек көшірмеде өзгертпей тазаладым.
- [ ] Мен тапшылықты MCAR/MAR/MNAR деп жіктеп, соған сәйкес әдісті таңдадым.
- [ ] Шектеулерді бір-бірлеп тексердім, олар қате немесе нақты; Мен оны көзсіз жойған жоқпын.
- [ ] Әрбір тазалау қадамынан кейін бақылаулар санын және жиынтық статистиканы тексердім.
- [ ] Мен барлық қадамдарды кодпен және түсініктеме жолымен құжаттадым; қайтымды.
- [ ] Мен тазалауды талдау нәтижесіне емес, деректерді шығаратын процесті білуге негіздедім.