Atvirų duomenų poreikis
Atvirų duomenų pasaulyje, labai dažnai keliamas klausimas ir bandoma suprasti kokių duomenų reikia visuomenei. Iki šio buvo daryta ne viena ir ne dvi apklausos, tačiau mano vertinimu, daugeliu atveju, apklausos nebuvo labai sėkmingas, susidomėjusių duomenimis atsiranda labai mažai.
Poreikio apklausa II duomenų atvėrimo etapui¶ ¶
Paskutinė apklausa siekiant išsiaiškinti atvirų duomenų poreikį buvo daryta 2019 metų vasarą. Toje apklausoje pasisakė 57 žmonės, kurie bendroje sumoje išreiškė poreikį, dėl 352 duomenų rinkinių iš galimų beveik 800 rinkinių sąrašo. Remiantis apklausos rezultatais buvo sudarytas duomenų rinkinių sąrašas, kurį planuojama atverti II duomenų atvėrimo etapo metu.
Tuo metu atvirų duomenų portalas buvo dar kuriamas, todėl laikinai, galimybė išreikšti poreikį buvo padaryta Gitlab platformoje, kuri beje veikia iki šiol.
II duomenų atvėrimo etapo metu, planuojama atverti apie 50-ies įstaigų duomenis. Darbai jau pajudėjo, kai kurios įstaigos duomenis jau atvėrė, kitos dar tik ruošiasi.
Nauja 2021 metų apklausa¶ ¶
Šiais metais buvo daryta dar viena apklausą, tikslu išsiaiškinti, kam kokių duomenų reikia.
Buvo išreikštas poreikis įvairių veiklos sričių duomenims. Norint tiksliai įvertinti, ar poreikis bus patenkintas reikia pakankamai gerai išmanyti visas veiklos sritis. Žinoma aš nesu visų sričių ekspertas. Todėl iš esmės bandau interpretuoti, ką norėjo pasakyti poreikį deklaravęs žmogus. Pagal nuojautą, mano turimas žinias toje srityje ir spėjimo būdu bandau susieti poreikius su II etapo metu planuojamais atverti duomenų rinkiniu. Ar toks susiejimas yra patikimas? Manau, kad nepatikimas. Tačiau kiek įmanoma tiksliau bandau atspėti atitikimą.
Kitas niuansas yra tas, kad duomenų rinkinys yra labai neapibrėžtas ir netikslus duomenų „matavimo vienetas“. Duomenų rinkinys gali būti vienas CSV failas, gali būti visi informacinei sistemai priklausantys duomenys. Todėl tiek paprastą 2 stulpelių ir vienos eilutės lentelę, tiek terabaitus vietos užimančią informacinės sistemos duomenų bazę galima pavadinti duomenų rinkiniu. Tai matosi ir rinkinių sąrašuose, kai kurios įstaigos vienu duomenų rinkiniu įvardina visus informacinės sistemos duomenis, kitos atskirais rinkiniais įvardina praktiškai kiekvieną duomenų bazės lentelę, todėl kai kurios įstaigos turi labai daug rinkinių, kitos mažai.
Tačiau dabar, kol dar nėra atlikta visuotinė duomenų inventorizacija „laukų“ detalumo lygmeniu, tenka verstis labai apytiksliu vienetu – duomenų rinkiniais.
Ateityje tiek atveriamus duomenis, tiek jų poreikį turėtume išreikšti konkrečiai įvardindami objektus ir jų savybes (duomenų laukus). Tuomet ir poreikis bus aiškesnis ir atsakymas dėl jo tenkinimo turės būti konkretesnis. O dabar kol viskas matuojama rinkiniais, įmanomas tik labai netikslus ir subjektyvus poreikio atitikimo palyginimas.
Norint gan tiksliai įvertinti ar planuojami atverti duomenys tikrai atitinka poreikį, reikėtų vertinti atveriamus duomenų laukus, o ne rinkinius. Kas beje yra planuojama įgyvendinti ADP artimoje ateityje. Šiuo metu ADP leidžia poreikį deklaruoti laukų detalumu, tačiau tam nėra patogios naudotojo sąsajos, kadangi pageidaujamus duomenų laukus reikia pateikti įkeliant duomenų struktūros aprašo lenteles.
Atitikties palyginimo rezultatai¶ ¶
Galiausiai, rankiniu būdu, apjungus Excel lenteles, gavau tokį rezultatą.
%matplotlib inline
import pandas as pd
import jupyterthemes.jtplot as jtplot
from pandas_ods_reader import read_ods
jtplot.style(theme='monokai', fscale=1.5, figsize=(16, 8))
demand = read_ods(
'/home/sirex/ivpk/poreikis/eim-apklausa-2021.ods',
sheet='Poreikis',
columns=[
'poreikis',
'tiekejas',
'prasantysis',
'rinkinys',
'kada',
'apimtis',
'atitikimas',
]
)
demand = demand.iloc[1:]
demand['kada'].value_counts().sort_index(ascending=False).plot.barh();
Kad būtų aiškiai, tą patį rezultatą pateikiu apjungiant datas į vieną „Atverti planuojama“ reikšmę.
planned = demand['kada'].str.startswith('20')
state = demand['kada'][~planned].value_counts()
state['Planuojama atverti'] = demand['kada'][planned].value_counts().sum()
state.sort_index().plot.barh();
Rezultatų tikslumas¶ ¶
Tačiau, šis rezultatas atspindi tik tai, ar rinkinys konkrečiu pavadinimu yra planuojamas atverti ar ne. Net jei tarkim yra deklaruojama, kad Nekilnojamojo turto registro duomenys jau atverti, tai nereiškia, kad tai kas atverta pilnai atitinka poreikį. Todėl nusprendžiau įtraukti dar vieną kriterijų, kuriame bandžiau įvertinti ar tai, kas planuojama atverti, pilna apimtimi atitinka tai, ko reikia.
demand['atitikimas'].value_counts().plot.barh();
Iš čia, pilnai poreikį tenkina tai, kas pažymėta „Jau atverta“ arba „Planuojama atverti“. Jei tiksliau, tai pilnai tenkinama 13 poreikių.
Lentelėje žemiau True yra rinkinių skaičius, kuris jau atvertas arba planuojamas atverti ir pilnai tenkina poreikį, o False yra tai, kas nebus atverta arba pilnai netenkina poreikio.
atitinka = ['Jau atverta', 'Planuojama atverti']
demand['atitikimas'].isin(atitinka).map({
True: 'Atverta arba\nplanuojama atverti',
False: 'Nebus atverta arba\nbus atverta nepilnai',
}).value_counts().plot.barh();
Jei skaičiuoti dar tiksliau, tai poreikių lentelėje, dalis poreikių dubliuojasi, pavyzdžiui Adresų registras buvo pažymėtas kelis kartus. Eliminavus dublikatus, skaičiai būtų šiek tiek mažesni.
Išvados¶ ¶
Ateityje, būtų geriau, jei apklausos dėl poreikio būtų vykdomos per Lietuvos atvirų duomenų portalą, kuriame poreikio teikėjai gali tiesiogiai bendrauti su duomenų tiekėjais, paklausimai dėl duomenų yra matomi viešai ir paklausimus galima susieti su konkrečiais duomenų rinkiniais.
Vertinant duomenų atvėrimo poreiki, duomenų rinkiniai, kaip matavimo vienetas yra per daug netikslus, reikėtų poreikio deklaracijas vertinti individualių duomenų laukų detalumu, ką iš esmės įmanoma daryti Atvirų duomenų portale.