top of page
Post: Blog2_Post

"Faruk" Eczanesi, ya "Faruk" Kıraathanesi

"Bilmirəm" sözü, ən yaxşı və səhih məlumatlardan biridir. Bir şeyi bildiyimizdən əmin ola bilmərik, lakin bilmədiyimizdən əmin ola bilərik. Elə buna görə də antik yunan filosofu Sokrat "bir şey bilirəm ki, heç nə bilmirəm" deyirdi.

Həqiqət özü nisbi anlayışdır və zamanla dəyişməyə güncəllənməyə məhkumdur. Getdikcə bu dəyişimin sürəti artır. Fenomenlər dəyişir, elmi nəzəriyyələr dəyişir, hətta universal həqiqətlər özləri belə dəyişir. Bir zamanlar "atom" bölünməz hissəcik idi, indi "atom"un içindəki zərrəciklərin belə bölünən olduğu məlum olur.

Hər şeyin bu qədər sürətli dəyişdiyi zamanda, dəyişməyən tək şey dəyişkənliyin özüdür. Həqiqət bir yerdə durmur, biz isə onu necəsə ətəyindən tutub istinad etməliyik. Bu da bizim üçün #DataKeyfiyyəti ilə bağlı yeni bir öhdəlik formalaşdırır: əmin olmadığımız şeyləri fərz etməmək, fərz ediriksə, bunu şəffaf şəkildə bildirmək.


ree

#DataQuality üzrə ən asan yoxlana bilən #dimension #completeness yəni #tamlıq ölçüsüdür. Məlumat varsa, doludur, yoxdursa, boşdur. Boş xanaların ümumi dataya faiz nisbəti avtomatik hesablama ilə göstərici bizə verə bilir.

Ən çətin aşkarlanan problem isə #accuracy yəni #səhihlik problemidir. #Data var, amma doğrudurmu? Bilmirik. Nəyə nisbətdə doğruluq yoxlanmalıdır? Bəzən onu da bilmirik. İstinad etdiyimiz mənbə özü doğrudurmu? Ondan da əmin ola bilmərik.

Buna görə #səhv məlumat, məlumatsızlıqdan daha böyük problemdir.

Konfutsi təlimində deyildiyi kimi:

Bildiyini biləndən öyrənin, Bilmədiyini bilənə öyrədin, Bilmədiyini bilməyəndən qaçın.

Bəzi Data mənbələri məhz sonuncuya uyğun gəlir. Amma onları müəyyən etmək çətindir. Onlar riskin #UnknownUnknown yəni #BilmədiyimizBilinməzlər kateqoriyasına aiddir və müdafiə mexanizmi hazırlamaq, demək olar ki, mümkün deyil.


"Accuracy": Düz nəyə deyilir?

Riyaziyyat fənnindən #Pi sabiti ilə hamımız tanışıq. Bu sabit sonsuz təkrarlanmayan ardıcıllıqda rəqəmlərdən ibarət irrasional bir ədəddir. Elmin və texnologiyanın müxtəlif sahələrində müxtəlif dəqiqlik yəni "accuracy" əsasında hesablanır və bu dəqiqlik səviyyəsi hesablamanın xətasını hesablayır. Bu xətaya qarşı olan tolerantlıq səviyyəsinə əsasən də pi ədədini hansı dəqiqliklə nəzərə almalı olduğumuzu müəyyən edirik.

Səhihlik (yaxud dəqiqlik) mümkün maksimum səviyyədə olmalıdırmı? Təbii ki, xeyr. Çünki bu ya mümkün deyil, ən yaxşı halda isə çox resurs və vaxt tələb edir. Uzun vaxt ehtiyac duyduğumuz datanın aktuallğını itirə bilər ki, bu da digər bir data keyfiyyəti meyarı olan #timeliness meyarını pozur. Bu səbəbdən "lazımi qədər" dəqiqlik kifayətdir. Məsələn GPS texnologiyasında pi vergüldən sonra 6-8 rəqəm arası nəzərə alınır ki, bu da təqribi 1 metr xəta payı deməkdir. Səyahət zamanı axtardığımız yerdən 1 metr uzaq olmaq 1 addımlığında olmaq deməkdir ki, bu da artıq kifayət qədər yaxın məsafədir və praktikdir. Demək ki, daha artıq dəqiqlik əlavə dəyər yaratmır.


Bildiyin qədər danışmaq

Təsəvvür edin ki, 2 ədədin cəmini hesablayırsınız:

2.36 + 4.891

Bu ədədin cəmini 2 onluq, ya 3 onluq dəqiqliklə vermək lazımdır? Bu sualın cavabını məhz "accuracy" əsasında veririk. İlk olaraq fikir verməliyik ki, biz həqiqəti ən dəqiq hara qədər bilirik? Əlimizdə 2 ədəd var: biri 3 s.f. ("significant figure") dəqiqliklə digəri isə 4 s.f. dəqiqliklə. Əgər bir ədədin 4 rəqəmindən əminiksə, deməli, onun 3 və daha az rəqəmindən də əminik. Amma sadəcə 3 rəqəmini bildiyimiz ədədin 4-cü rəqəmi bizim üçün sualdır. Tək bildiyimiz odur ki, 2.36 deyə bildiyimiz ədəd .001 dəqiqliklə göstərildikdə 2.355 və 2.365 aralığında bir ədəddir. Yəni xəta marjası 0.005-dir. Yəni bu ədəd 2.36-ya bərabərdir demək səhv olar. Əgər ədəd bizə 2.360 şəklində verilsə idi, onda bunu deyə bilərdik.

Bu səbəbdən cəmi mümkün maksimum və minimum variantlarla hesablayıb bunun ədədi ortasını taparaq mümkün ən aşağı xəta payı ilə cəmi təxmin edəcəyik.

2.355 + 4.891 = 7.246 - minimum cəm

2.365 + 4.891 = 7.256 - maksimum cəm

(7.246 + 7.256) / 2 = 7.251 ~ 7.25 - ədədi orta cəm (+-0.04 xəta marjası ilə)

Bu iki ədədin cəmini də ən dəqiq bildiyimiz yerə kimi yəni 3 əhəmiyyətli rəqəmlə göstərməliyik (7, 2, 5).

Bölmə zamanı da eyni qayda keçərli olur.

2.355 / 4.891 = 0.48149

2.365 / 4.891 = 0.48354

(0.48149 + 0.48354) = 0.482515 - minimum və maksimuma eyni məsafədə yerləşən ədədi tapırıq;

0.482515 ~ 0.483 - və onu 3 əhəmiyyətli rəqəm səviyyəsinə qədər yuvarlaqlaşdırırıq. Çünki bura əmin olduğumuz dəqiqlik sərhəddidir. Bu ədəd də müəyyən bir xəta payı ilə verilir. Lakin xəta payını bildirərək, daha az detallı məlumat vermək, yanlış detallar verməkdən daha doğrudur.

Bu cür yanaşma həm elmi araşdırmalarda, həm gündəlik hesablamalarda nəticənin şəffaf təqdimatı üçün çox önəmlidir. Əgər biz vergüldən sonra daha çox ədəd saxlasaq, bu oxuyucuda yanlış əminlik və dəqiqlik hissi yaradar. Biz isə bunu istəmirik (əgər istəyiriksə, etik dəyərlərimizi sorğulamağın vaxtıdır.)


Humanum est errare. Xətasız qul olmaz.

Riyaziyyatda olduğu qədər gündəlik həyatda da bildiyimiz qədər danışmaq və təhrifli məlumat yayılmasının qarşısını almaq üçün bilmədiyimiz, əmin olmadığımız mənbələrdən uzaq durmalıyıq.

Bunu necə edə bilərik?

1) Əmin olmadığımız məlumatı paylaşmamaq və heç yerə daxil etməmək;

2) Öyrəndiklərimizi fərqli mənbələrdə obyektiv şəkildə yoxlamaq;

3) Bölüşdüyümüz məlumatın mənbələrini də paylaşaraq başqalarının da yoxlamasına icazə vermək. (data üçün metadata və dokumentasiya əlavə etmək)


Big data. Kəmiyyət artdıqca azalan keyfiyyət.

Gündəlik kiçik məlumatlara bu bacarığı tətbiq etmək nisbətən asandır. Günümüzdə şirkətlər böyük Data Gölləri, iri həcmli real-time data axınları ilə məşğuldurlar. Üstəlik Süni Zəkanın inkişafı ilə bu həcm artır və saxta məlumat problemi də daha önəmli olmağa başlayır.

Bu qədər böyük data axınını və prosesi manual idarə etmək səmərəsizdir. Onun əvəzinə bunu avtomatlaşmış alətlərlə edirlər. Datanın keyfiyyəti, məlumatın doğruluğu və dəyişikliklərin idarə olunması bu gün həm də MLOps və DevOps pipeline-larının önəmli parçasıdır. Modellər və təhlil üçün istifadə olunan datanın doğru idarə olunması üçün adətən aşağıdakı alətlərdən istifadə olunur:

1) Data Validation - adətən "data entry" səviyyəsində nəzərdə tutulan inputlardan fərqli inputlar daxil edilməsinin qarşısını alır. Məsələn, müraciət formalarında ad gününü birbaşa təqvimdən daxil etmənizin təmin edilməsi məhz buna nümunədir və data komandasını fərqli stillərdə yazılmış "date" sütunlarından qoruyur. Həm "accuracy", həm də "validity" meyarı üzrə data keyfiyyətini artırır.

2) Data Profiling - mənbədən əldə olunan data avtomatlaşmış keyfiyyət meyarları üzərindən yoxlanır və statistik məlumatlarla boş xanaların, sütunun ümumi formatına uyğun gəlməyən xanaların və s. sayı göstərilir. Tableau, Power BI kimi alətlərdə ETL zamanı bunun kiçik nümunəsini görmək mümkündür. Eyni zamanda Fiddler və Great Expectations kimi alətlər irihəcmli datalar üçün istifadə olunur.

3) Data Versioning - əgər data cədvəllərində dəyişiklik baş verirsə, bunlar izlənməli, "tracking" sistemi qurulmalıdır. Githubda etdiyimiz "code versioning" kimi, DVC aləti ilə data versioning edərək dəyişiklikləri və səbəblərini yadda saxlayırıq.

4) Feature Storing - hər dəfə dəyişənləri yenidən yaradıb, hər model üçün eyni işi görmək əvəzinə təkrar istifadə edilməsi və təsdiqlənmiş vahid mınbə olması adına yeni yaradılmış dəyişənlərdən ibarət Data Mart-lar hazırlanması, dəyişənlərin vahid bir mərkəzdə saxlanılması önəmlidir. Mərkəzləşməyən hər bir data xəta riski daşıyır.

5) Metadata - həm modellər üçün, həm data üçün izahedici məlumat əlavə edilməsi təhrif olunmuş izahlardan bizi xilas edir. Fərz etmək əvəzinə istinad edə bilmək üçün dəstəkləyici dokumentasiyaların olması və onların təsdiqlənərək əlaqədar şəxslərə ötürülməsi önəmlidir.

Bütün məlumatların #səhih olmasına nail olmaq qeyri-mümkündür. Lakin açıqlama mənbələr və bir neçə qatlı yoxlama ilə #qərarvermə prosesi zamanı #şəffaflıq yaradar.



İstinadlar:

Using Feature Stores for Managing Feature Engineering in Python | DataCamp https://www.datacamp.com/code-along/using-feature-stores-for-managing-feature-engineering-in-python

Coursera - The University of Sydney - Introduction to Calculus

Bu tipli paylaşımlar üçün Challengers Deep Educational səhifəsini izləyin.


 
 
 

Comments


Digər

©2021 by Challengers Deep.

bottom of page