Jednotka 2 / 11

Zber údajov a pochopenie zdroja: schéma, vzorkovanie, kvalita a povedomie o úniku

zisky:

  • Schopnosť rozpoznať rôzne zdroje údajov (databázu, API, súbor, web scraping) a úskalia každého z nich a správne pochopiť schému
  • Schopnosť vykonávať opakovateľné vzorkovanie vyhodnotením, či vzorka predstavuje populáciu a výberové skreslenie
  • Schopnosť eliminovať únik údajov vo fáze zberu a dodržiavať právne/etické hranice položením otázky „Budem ich mať v čase predpovede“ v každom stĺpci?

Každá analýza je taká dobrá, aká dobrá je kvalita údajov, ktoré zbierate. Aj ten najpokročilejší model na svete prinesie nespoľahlivé výsledky, ak bude pracovať s údajmi, ktoré sú zozbierané nesprávne, vzorkované neobjektívne alebo obsahujú informácie o budúcnosti. V informatike je tento princíp zhrnutý ako „garbage in, garbage out“ (garbage in, garbage out). V tejto časti sa budeme zaoberať fázou zberu údajov: pochopenie zdroja, vzorkovanie, kladenie otázok týkajúcich sa kvality a pozor na riziko úniku údajov od prvého dňa. Umelá inteligencia je v tejto fáze silným pomocníkom; Píše SQL dotaz, sumarizuje API dokument, pripravuje dátovú zmluvu. Ale je to človek, kto rozhoduje o tom, aké údaje zhromažďujete a či vás tieto údaje reprezentujú.

Zoznámenie sa so zdrojmi údajov

Údaje pochádzajú z rôznych miest a každý zdroj má svoje vlastné úskalia. Databáza (štruktúrované údaje uložené v tabuľkách, zvyčajne dopytované pomocou SQL) je najbežnejším zdrojom; Je spoľahlivý, ale je potrebné dobre pochopiť jeho schému. API (Application Programming Interface) poskytuje živé dáta, ale nesie so sebou riziko rýchlostných obmedzení a zmien formátu. Súbory (CSV, Excel, JSON) sú flexibilné, ale náchylné na nekonzistentnosť formátu. Sťahovanie webu je mocné, ale má právne a etické limity; Nie každé miesto sa dá zoškrabať.

Upozornenie: Pre zoškrabovanie webu a automatický zber údajov dodržujte podmienky používania stránky, súbor robots.txt a KVKK/GDPR. Neoprávnené zhromažďovanie údajov zakladá právnu zodpovednosť. V kontexte informačnej bezpečnosti používajte nástroje na zber údajov iba v systémoch, na ktoré máte oprávnenie, a na účely obrany/analýzy; Neoprávnený prístup alebo škrabanie je zakázané.

Pochopenie schémy: zoznámenie sa s údajmi

Pred zhromaždením množiny údajov musíte pochopiť jej schému (názvy stĺpcov, ich typy údajov, ich významy a ich vzájomné vzťahy). AI je tu veľmi užitočná pri vytváraní „dátového slovníka“ – tabuľky vysvetľujúcej, čo jednotlivé stĺpce znamenajú. Ale vysvetlenia AI sú predpovede; Potvrďte skutočný význam každého stĺpca s tímom, ktorý vytvoril údaje. Napríklad stĺpec s názvom "stav" môže obsahovať 0/1/2; Iba pôvodný tím vie, či sú „nevybavené/schválené/zrušené“ alebo niečo iné.

Nasledujúca tabuľka sumarizuje základné typy zdrojov a upozornenia:

Zdroj

silná stránka

pasca

Ako pomáha AI

SQL databáza

Štrukturálne, spoľahlivé

Komplexné JOINy

Napíše koncept dotazu

API

živé dáta

Obmedzenie rýchlosti, zmena tvaru

Súhrny dokumentov, sťahovanie kódu

CSV/Excel

Flexibilné, rýchle

Nekonzistentnosť formátu

Čítať/analyzovať kód

zoškrabovanie webu

Široký dosah

Právny/etický limit

Analýza konceptu (v rámci orgánu)

Údaje denníka/udalosti

podrobne

obrovský objem

Filtrovací dotaz

Ilustrácia: predstavuje časť celok?

Väčšinu času pracujete so vzorkou (podmnožinou vybranou z populácie) a nie s celými údajmi. Kritická otázka znie: predstavuje táto vzorka populáciu? Výberové skreslenie je najbežnejšou pascou. Ak napríklad odoberiete vzorky používateľov iba z mobilnej aplikácie, neuvidíte používateľov webu a vaše výsledky budú zavádzajúce. Náhodné vzorkovanie (každý záznam má rovnakú šancu na výber) je vo väčšine prípadov najbezpečnejšie; ale v údajoch časových radov sa rozdelenie uskutočňuje chronologicky a nie náhodne (uvidíme to v jednotkách 7 a 10).

Únik povedomia od prvého dňa

Únik údajov je zdrojom väčšiny katastrof a zvyčajne vzniká počas fázy zberu údajov. Príklad: pri predpovedaní „bolo to zrušené“ ak k údajom pridáte stĺpec „dátum zrušenia“, model sa pozerá do budúcnosti. Počas fázy zhromažďovania položte jednu otázku pre každý stĺpec: „Budem mať tieto informácie v čase, keď robím predpoveď?“ Ak je odpoveď nie, tento stĺpec je netesný. Tejto téme sa budeme do hĺbky venovať v Unit 10; Ale uvedomenie by sa malo začať od prvého dňa.

tri mini prípady

Prípad 1 – Problém zastupovania. Jedna banka zbierala údaje len o schválených úveroch pre svoj model úverového rizika (18 500 záznamov). Odmietnutia v údajoch neboli. Model sa v skutočnom svete mýlil, pretože nikdy nevidel, ako by sa odmietnutí správali. Poučenie: vzorka by mala byť reprezentatívna pre celú populáciu, z ktorej sa rozhodujete.

Prípad 2 – Tichá zmena formy. Tím každý deň získaval údaje o cenách z rozhrania API. Jedného dňa poskytovateľ API zmenil menu z USD na EUR, ale názov domény zostal rovnaký. Údaje boli zhromažďované v nesprávnej jednotke počas 12 dní; 3 200 riadkov bolo poškodených. Lekcia: Pravidelne kontrolujte konzistenciu objemu a formátu v údajoch API.

Prípad 3 – Predčasný únik. Analytik zahrnul stĺpec „dôvod na zatvorenie účtu“ pri zhromažďovaní údajov pre odhad „minulosti“. Tento stĺpec bol vyplnený až po odchode zákazníka. Model poskytol 97% presnosť na testovacej súprave; Vo výrobe to nefungovalo, pretože tento stĺpec bol v čase predpovede prázdny. Ponaučenie: opýtajte sa každého stĺpca otázku "mám to v čase predpovede?"

Štyri kopírovateľné šablóny

1) Extrakcia dátového slovníka:

Vaša úloha: asistent vedcov údajov. Nižšie sú uvedené názvy stĺpcov a vzorové (anonymné) hodnoty tabuľky. Pre každý stĺpec uveďte jeho odhadovaný význam, typ údajov a potenciálne riziká kvality v tabuľke. Označte stĺpce, o ktorých si nie ste istí, ako „vyžaduje sa potvrdenie“; vytváranie významov.Stĺpce: [prilepte sem]

2) Vzorkovací kód (náhodný, opakovateľný):

Mám pandy df. Napíšte kód, ktorý extrahuje reprezentatívnu 5 % náhodnú vzorku z 200 000 riadkov. Použite random_state=42 (kvôli reprodukovateľnosti). Pridajte kód, aby ste skontrolovali, či je rozdelenie tried vzorky podobné populácii.

3) Otázka skenovania úniku:

Dám vám tento zoznam stĺpcov. Mojím cieľom je predpovedať „je to zrušené“ (0/1). Pri každom stĺpci vyhodnotiť, či ho v čase predikcie skutočne budem mať a označiť ako „bezpečný / podozrivý / únik“. Svoje zdôvodnenie napíšte jednou vetou. Stĺpce: [zoznam]

4) Návrh SQL pull dotazu:

V PostgreSQL mám tabuľky "objednávky" a "zákazníci". Napíšte dopyt JOIN, ktorý spojí objednávky za posledných 90 dní s mestom zákazníka a vráti celkovú sumu a počet objednávok za mesto. Vysvetlite dátumový filter a spôsob spracovania miest s NULL. Spustím dotaz a overím ho.

Slabá výzva / Silná výzva

Slabá výzva:

Vytiahnite mi dobrý vzor údajov z tejto databázy.

"Dobré" je nejednoznačné; Aký obraz, aké obdobie, aký rozmer, aký účel nie je jasné. AI vytvorí iba všeobecný, možno nesprávny dotaz.

Výkonná výzva:

Vaša úloha: SQL asistent. Mám tabuľku „transakcie“: id stĺpcov, id_zákazníka, dátum (časová pečiatka), suma (číselná), kanál (text: 'web'/'mobile'). Úloha: Napíšte opakovateľný (deterministický s ORDER BY) dotaz, ktorý vráti 10 000 reprezentatívnych riadkov z každého kanála pre rok 2024. Účel: Porovnávacia analýza kanálov. Uveďte predpoklady vášho dopytu.

Tu je tabuľka, účel, veľkosť a opakovateľnosť jasná.

Časté chyby

  • Nespochybnenie reprezentatívnosti vzorky. Ľahko dostupné údaje nie sú presné údaje; skreslenie výberu skresľuje výsledok.
  • Prispôsobenie významov stĺpcov AI. Zdrojový tím pozná význam; Nepoužívajte predpoveď AI bez jej potvrdenia.
  • Nesleduje zmenu formátu/jednotky rozhrania API. Tichá zmena zhromažďuje poškodené údaje niekoľko dní.
  • Ignorovanie úniku vo fáze zberu. Ak otázka „Mám to v čase predpovede“ nie je položená skoro, model bude mať falošný úspech.
  • Zhromažďovanie neoprávnených alebo nezákonných údajov. Porušenie robots.txt, podmienok používania a KVKK je vážnym rizikom.
Tip: Uschovajte si jednostránkovú „údajovú kartu“ pre každý nový zdroj údajov: zdroj, dátum stiahnutia, počet riadkov, známe hranice a stĺpce s rizikom úniku. Táto karta ukladá otázku „čo boli tieto údaje“ a reprodukovateľnosť o mesiace neskôr.

V súhrne

Kvalita analýzy je obmedzená kvalitou zozbieraných údajov. Dobre poznať zdroj (databázu, API, súbor, scrape) a schému; uistite sa, že vzorka je reprezentatívna pre populáciu; Odstráňte únik od prvého dňa tak, že sa v každom stĺpci spýtate: „Mám to v čase predpovede?“ Umelá inteligencia je skvelým urýchľovačom pre prácu s dopytmi a dokumentmi, ale ľudia rozhodujú o tom, aké údaje budú zhromažďovať, a o ich reprezentatívnosti. Hranice autority, zákon a dôvernosť sú vždy na prvom mieste.

Aplikačná úloha

Vyberte si zdroj údajov (z vlastnej firmy alebo hypotetický). Získajte návrh dátového slovníka od AI pomocou šablóny „extrakcia dátového slovníka“ vyššie; Potom manuálne vyhodnoťte každý stĺpec, aby ste zistili, či nedošlo k úniku. Skúste nájsť aspoň jeden podozrivý/únikový stĺpec a jednou vetou napíšte, prečo je to riskantné.

kontrolný zoznam

  • [ ] Potvrdil som zdroj údajov a schému so zdrojovým tímom?
  • [ ] Skontroloval som, či je vzorka reprezentatívna pre populáciu?
  • [ ] Položil som každému stĺpcu otázku "budem to mať v čase odhadu?"
  • [ ] Urobil som vzorkovanie opakovateľné (pevné semeno)?
  • [ ] Skontroloval som zákonné/etické (autorita, robots.txt, KVKK) limity zberu?