Деректерді қалай тазартамыз

Деректер сапасына біздің көзқарасымыз, толық.

Нақты сенсорлардан келетін ауа сапасы деректері — бұл хаос. Аспаптар бұзылады. Көрсеткіштер себепсіз секіреді. Сенсор қатып қалып, сағаттап бір санды жібереді. Мемлекеттік станция ескертусіз өлшем бірліктерін ауыстырады.

Бұл деректерді сол күйінде жарияласаңыз, адамдар қате қорытынды жасайды. Нашар бөліктерін тыныш жойсаңыз, адамдар не істегеніңізді тексере алмайды. Екі нұсқа да бізге қолайсыз.

Біздің көзқарасымыз — мұқият және ашық болу: мүмкін болғанның бәрін тексеру, әр мәселені ашық белгілеу және адамдарға не істегенімізді және неліктен екенін көрсету. Міне, қалай.

Архитектура

Үш деңгей, бір қағида

Түпнұсқа деректер қасиетті. Біз оларды ешқашан өзгертпейміз. Оның орнына, біз олардың үстіне таза деректер құрамыз — және екеуінің арасындағы байланысты сақтаймыз, кез келген адам кез келген жарияланған мәнді бастапқы көзіне дейін бақылай алсын.

0-деңгей

Шикі сақтау

Әр API-ден алынған нақты жауаптар, сол күйінде сақталған. Әр көзге бір кесте. Ештеңе өзгертілмеген, ештеңе жоғалмаған. Бұл біздің негіз.

1-деңгей

Таза және гармонизацияланған

Барлық көздер ортақ бірліктерге келтірілген, барлық өлшемдер бірыңғай форматта. Әр жол сапа белгілерін және бастапқы деректерге сілтемені алып жүреді. Тазарту мен валидация осында жүреді.

2-деңгей

Жарияланған ашық деректер

Тек барлық сапа тексерулерінен өткен өлшемдер. Сіз жүктейтін нәрсе осы — Parquet файлдары, CSV станция тізімдері, картография үшін GeoJSON. Таза, сенімді, пайдалануға дайын.

Сапа бақылауы

Тексерудің төрт деңгейі

Әр деңгей мәселелердің әр түрін ұстайды. Өлшем жарияланған деректер жиынтығына жетпес бұрын төртеуінен де өтуі керек.

1

Кіреберісте

Деректер жүйеге кірмес бұрын, дерекқордың өзі базалық ережелерді қолданады — міндетті өрістер бос бола алмайды, көшірмелер қабылданбайды, координаттар жарамды болуы керек, тек белгілі параметр кодтары қабылданады. Бұзылған немесе толық емес API жауаптары мұнда ұсталады.

2

Тазарту кезінде

Шикі деректерді гармонизацияланған форматқа түрлендіру кезінде әр өлшем жеке тексеріледі: бұл мән физикалық тұрғыдан мүмкін бе? PM2.5 PM10-нан жоғары ма (бұл әдетте сенсор мәселесін білдіреді)? Концентрация теріс пе? Әр мәселе нақты белгі алады.

3

Терең статистикалық талдау (PM2.5)

PM2.5 — біздің ең маңызды параметріміз және сенсор мәселелеріне ең бейім. Біз арнайы көп кезеңді тазарту процесін жүргіземіз:

  • Қатаң шектеу — 1 000 мкг/м3-тен жоғары мәндер жарамсыз деп белгіленеді
  • Күдікті станциялар — уақыттың 80%-дан астамында бір мән беретін немесе сенімсіз жоғары базалық деңгейлері бар сенсорлар
  • Статистикалық ауытқулар — әр станцияның жергілікті жағдайларына бейімделетін робастты Z-ұпайларын қолдану
  • Секірулер — қоршаған көрсеткіштерге сәйкес келмейтін оқшауланған бір нүктелі секірістер
  • Қатып қалған сенсорлар — бірдей мән қатарынан 6 және одан көп сағат қайталанады
4

Соңғы валидация

Жарияланбас бұрын біз бүкіл деректер жиынтығы бойынша екі тәуелсіз валидация жүйесін іске қосамыз. Олардың кез келгені мәселе тапса — тіпті бір сәтсіз тексеру болса да — мәселе шешілгенше жариялау блокталады.

Егжей-тегжейлі

Валидация тексерулері

Бұл әр жариялау алдында іске қосылатын нақты тексерулер. Қателер экспортты толығымен блоктайды. Ескертулер тіркеліп, тексеріледі.

Тексеру Маңыздылық Нені ұстайды
out_of_range error Физикалық шектерден тыс мәндер
negative_values error Теріс концентрациялар
invalid_floats error NaN, Infinity мәндері
orphan_measurements error Тіркелген станциясы жоқ өлшемдер
duplicate_measurements error Болмауы тиіс көшірмелер
pm25_exceeds_pm10 warning AirKaz сенсорларының белгілі мәселесі
stuck_sensors warning Қатып қалған сенсор көрсеткіштері
spikes warning Кенеттен мән секірулері
stale_stations warning Белсенді станциялар 48+ сағат деректер бермейді

Біз мұндай деңгейдегі егжей-тегжейлілік бәріне арналмағанын білеміз. Көпшілік адамдар деректерді жүктеп, таза екеніне сенгісі келеді. Біз солай болады деп сенеміз.

Бірақ капот астына қарағысы келетіндер үшін — зерттеушілер, инженерлер, нашар деректерден күйгендердің бәрі үшін — біз бәрінің көрінуін қалаймыз. Әдістеме, белгілер, шикі түпнұсқалар. Біз дәл осындай жоба болғымыз келеді.