[my,uk,lt] chore(i18n): sync translations

Sync translations with latest source changes.
Languages: Burmese (Myanmar) [my], Ukrainian [uk], Lithuanian [lt]
update-translations
localizeflow[bot] 7 days ago
parent bd19644995
commit fc062c0410

@ -12,8 +12,8 @@
"language_code": "lt"
},
"1-Introduction/01-defining-data-science/notebook.ipynb": {
"original_hash": "8f5eb7b3f7cc89e6d98fb32e1de65dec",
"translation_date": "2026-02-27T10:16:08+00:00",
"original_hash": "8eb07e3d899aaba7ea9c9ec9b5aa2850",
"translation_date": "2026-07-17T22:22:38+00:00",
"source_file": "1-Introduction/01-defining-data-science/notebook.ipynb",
"language_code": "lt"
},
@ -42,8 +42,8 @@
"language_code": "lt"
},
"1-Introduction/03-defining-data/README.md": {
"original_hash": "12339119c0165da569a93ddba05f9339",
"translation_date": "2025-09-05T16:15:34+00:00",
"original_hash": "7217c6f9eb464d4ff4bae6c036ab53cb",
"translation_date": "2026-07-17T22:25:11+00:00",
"source_file": "1-Introduction/03-defining-data/README.md",
"language_code": "lt"
},
@ -65,6 +65,12 @@
"source_file": "1-Introduction/04-stats-and-probability/assignment.md",
"language_code": "lt"
},
"1-Introduction/04-stats-and-probability/notebook.ipynb": {
"original_hash": "0c77e104b29c723287bf11b773fcc5d5",
"translation_date": "2026-07-17T22:23:37+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "lt"
},
"1-Introduction/README.md": {
"original_hash": "696a8474a01054281704cbfb09148949",
"translation_date": "2025-08-31T05:54:57+00:00",
@ -108,8 +114,8 @@
"language_code": "lt"
},
"2-Working-With-Data/07-python/notebook-covidspread.ipynb": {
"original_hash": "6335cccba01dc6ad7b15aba7a8c73f38",
"translation_date": "2026-02-27T10:17:35+00:00",
"original_hash": "da97f98781c7cd271063f605fe8d71d0",
"translation_date": "2026-07-17T22:22:09+00:00",
"source_file": "2-Working-With-Data/07-python/notebook-covidspread.ipynb",
"language_code": "lt"
},
@ -192,14 +198,14 @@
"language_code": "lt"
},
"3-Data-Visualization/13-meaningful-visualizations/solution/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-31T05:53:17+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:25:19+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/solution/README.md",
"language_code": "lt"
},
"3-Data-Visualization/13-meaningful-visualizations/starter/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-31T05:53:23+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:25:15+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/starter/README.md",
"language_code": "lt"
},

File diff suppressed because one or more lines are too long

@ -1,75 +1,79 @@
# Duomenų Apibrėžimas
# Duomenų apibrėžimas
|![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|![ Sketchnote autorius [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|Duomenų apibrėžimas - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
|Duomenų apibrėžimas - _Sketchnote autorius [@nitya](https://twitter.com/nitya)_ |
Duomenys tai faktai, informacija, stebėjimai ir matavimai, naudojami atradimams daryti ir pagrįstiems sprendimams priimti. Duomenų taškas yra vienas duomenų vienetas duomenų rinkinyje, kuris yra duomenų taškų kolekcija. Duomenų rinkiniai gali būti įvairių formatų ir struktūrų, dažniausiai priklausomai nuo jų šaltinio arba vietos, iš kur jie buvo gauti. Pavyzdžiui, įmonės mėnesinės pajamos gali būti pateiktos skaičiuoklėje, o išmaniojo laikrodžio valandinis širdies ritmo duomenys gali būti [JSON](https://stackoverflow.com/a/383699) formatu. Duomenų mokslininkai dažnai dirba su skirtingų tipų duomenimis viename duomenų rinkinyje.
Duomenys yra faktai, informacija, stebėjimai ir matavimai, kurie naudojami atradimams padaryti ir pagrįstiems sprendimams priimti. Duomenų taškas tai vienetas duomenų rinkinyje, kuris yra duomenų taškų rinkinys. Duomenų rinkiniai gali būti įvairių formatų ir struktūrų, paprastai priklausant nuo jų šaltinio arba nuo to, iš kur atėjo duomenys. Pavyzdžiui, įmonės mėnesinės pajamos gali būti skaičiuoklėje, o laikrodžio širdies ritmo duomenys per valandą gali būti [JSON](https://stackoverflow.com/a/383699) formatu. Duomenų mokslininkams dažnai tenka dirbti su skirtingų tipų duomenimis viename duomenų rinkinyje.
Ši pamoka skirta duomenų identifikavimui ir klasifikavimui pagal jų savybes ir šaltinius.
Ši pamoka orientuota į duomenų identifikavimą ir klasifikavimą pagal jų savybes ir šaltinius.
## [Prieš paskaitą: testas](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Kaip apibūdinami duomenys
## [Priešpaskaitos testas](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Kaip aprašomi duomenys
### Pirminiai duomenys
Pirminiai duomenys yra duomenys, kurie gaunami tiesiai iš šaltinio savo pradinėje būsenoje ir dar nėra analizuoti ar organizuoti. Kad būtų galima suprasti, kas vyksta su duomenų rinkiniu, jis turi būti organizuotas į formatą, kurį suprastų tiek žmonės, tiek technologijos, naudojamos tolesnei analizei. Duomenų rinkinio struktūra apibūdina, kaip jis yra organizuotas, ir gali būti klasifikuojama kaip struktūrizuota, nestruktūrizuota arba pusiau struktūrizuota. Šios struktūros tipai skirsis priklausomai nuo šaltinio, tačiau galiausiai atitiks vieną iš šių trijų kategorijų.
### Žali duomenys
Žali duomenys yra duomenys, gauti tiesiai iš jų šaltinio pradinėje būsenoje, kurie nėra analizėti ar organizuoti. Norint suprasti, kas vyksta su duomenų rinkiniu, jį reikia suorganizuoti į tokį formatą, kurį suprastų žmonės ir technologijos, kurias jie gali naudoti tolesnei analizei. Duomenų rinkinio struktūra apibūdina, kaip jis yra organizuotas, ir gali būti klasifikuojama kaip struktūrizuota, nestruktūrizuota ir pusiau struktūrizuota. Šie struktūros tipai priklausys nuo šaltinio, bet galutiniame rezultate telpa į šias tris kategorijas.
### Kiekybiniai duomenys
Kiekybiniai duomenys yra skaitiniai stebėjimai duomenų rinkinyje, kuriuos paprastai galima analizuoti, matuoti ir naudoti matematiškai. Kai kurie kiekybinių duomenų pavyzdžiai: šalies gyventojų skaičius, žmogaus ūgis ar įmonės ketvirčio pajamos. Atlikus papildomą analizę, kiekybiniai duomenys galėtų būti naudojami sezoninėms oro kokybės indekso (AQI) tendencijoms nustatyti arba spėti, kokia tikimybė, kad darbo dienos piko metu bus eismas.
Kiekybiniai duomenys yra skaitinės stebėsenos duomenų rinkinyje ir paprastai gali būti analizuojami, matuojami ir naudojami matematiškai. Pavyzdžiai: šalies gyventojų skaičius, asmens ūgis arba įmonės ketvirčio pajamos. Papildoma analize kiekybiniai duomenys gali būti naudojami sezoniniams Oro kokybės indekso (AQI) tendencijoms atrasti arba įvertinti eismo srauto piko valandas įprastą darbo dieną.
### Kokybiniai duomenys
Kokybiniai duomenys, dar vadinami kategoriniais duomenimis, yra duomenys, kurių negalima objektyviai išmatuoti, kaip kiekybinių duomenų stebėjimų. Tai dažniausiai įvairių formatų subjektyvūs duomenys, kurie atspindi kažko kokybę, pavyzdžiui, produkto ar proceso. Kartais kokybiniai duomenys yra skaitiniai, tačiau paprastai nenaudojami matematiškai, pavyzdžiui, telefono numeriai ar laiko žymos. Kai kurie kokybinių duomenų pavyzdžiai: vaizdo įrašų komentarai, automobilio markė ir modelis arba artimiausių draugų mėgstamiausia spalva. Kokybiniai duomenys galėtų būti naudojami norint suprasti, kurie produktai vartotojams patinka labiausiai, arba nustatyti populiarius raktinius žodžius darbo paraiškų gyvenimo aprašymuose.
Kokybiniai duomenys, dar vadinami kategoriniais, yra duomenys, kurių negalima objektyviai išmatuoti, kaip kiekybinius duomenis. Tai paprastai yra įvairios subjektyvios informacijos formos, kurios aprašo kažką kokybiškai, pavyzdžiui, produktą ar procesą. Kartais kokybiniai duomenys yra skaitiniai, bet paprastai nėra naudojami matematiškai, kaip telefono numeriai ar laiko žymos. Pavyzdžiai: vaizdo komentarai, automobilio markė ir modelis arba artimiausių draugų mėgstamiausia spalva. Kokybiniai duomenys gali padėti suprasti, kurie produktai vartotojams patinka labiausiai, arba identifikuoti populiariausius raktinius žodžius darbo paraiškų gyvenimo aprašymuose.
### Struktūrizuoti duomenys
Struktūrizuoti duomenys yra organizuoti į eilutes ir stulpelius, kur kiekviena eilutė turi tą patį stulpelių rinkinį. Stulpeliai atspindi tam tikro tipo reikšmę ir bus identifikuojami pavadinimu, apibūdinančiu, ką ta reikšmė reiškia, o eilutės turės faktines reikšmes. Stulpeliai dažnai turi specifines taisykles ar apribojimus reikšmėms, kad būtų užtikrinta, jog reikšmės tiksliai atspindi stulpelį. Pavyzdžiui, įsivaizduokite klientų skaičiuoklę, kur kiekviena eilutė privalo turėti telefono numerį, o telefono numeriai niekada neturi raidžių. Gali būti taikomos taisyklės, užtikrinančios, kad telefono numerio stulpelis niekada nebūtų tuščias ir jame būtų tik skaičiai.
Struktūrizuoti duomenys yra organizuoti į eilutes ir stulpelius, kur kiekviena eilutė turi tą patį stulpelių rinkinį. Stulpeliai rodo tam tikro tipo reikšmę ir būna pavadinti, apibūdinant ką ta reikšmė reiškia, o eilutės talpina faktines reikšmes. Stulpelių reikšmėms dažnai taikomos specifinės taisyklės ar apribojimai, kad užtikrintų reikšmių tikslumą. Pavyzdžiui, klientų skaičiuoklėje kiekviena eilutė turi turėti telefono numerį, kuriame nėra raidžių. Gali būti taisyklės telefone, kad jis niekada nebūtų tuščias ir turėtų tik skaitmenis.
Struktūrizuotų duomenų privalumas yra tas, kad jie gali būti organizuoti taip, kad būtų susiję su kitais struktūrizuotais duomenimis. Tačiau dėl to, kad duomenys yra sukurti būti organizuoti konkrečiu būdu, jų bendros struktūros keitimas gali pareikalauti daug pastangų. Pavyzdžiui, pridėjus el. pašto stulpelį klientų skaičiuoklėje, kuris negali būti tuščias, reikės nuspręsti, kaip pridėti šias reikšmes prie esamų klientų eilučių duomenų rinkinyje.
Vienas struktūrizuotų duomenų privalumų yra tas, kad jie gali būti susieti su kitais struktūrizuotais duomenimis. Tačiau, kadangi duomenys sukurti taip, kad būtų organizuoti pagal tam tikrą tvarką, bendri jos struktūros pakeitimai gali būti sudėtingi. Pavyzdžiui, pridėti el. pašto stulpelį, kuris negali būti tuščias klientų skaičiuoklėje reiškia, kad reikės spręsti, kaip šias reikšmes pridėti prie esamų duomenų eilučių.
Struktūrizuotų duomenų pavyzdžiai: skaičiuoklės, reliacinės duomenų bazės, telefono numeriai, banko išrašai.
Struktūrizuotų duomenų pavyzdžiai: skaičiuoklės, reliacinės duomenų bazės, telefono numeriai, banko išrašai
### Nestruktūrizuoti duomenys
Nestruktūrizuoti duomenys paprastai negali būti suskirstyti į eilutes ar stulpelius ir neturi formato ar taisyklių rinkinio, kurio reikėtų laikytis. Kadangi nestruktūrizuoti duomenys turi mažiau apribojimų savo struktūrai, juos lengviau papildyti nauja informacija, palyginti su struktūrizuotu duomenų rinkiniu. Jei jutiklis, fiksuojantis barometrinį slėgį kas 2 minutes, gauna atnaujinimą, leidžiantį matuoti ir registruoti temperatūrą, nereikia keisti esamų duomenų, jei jie yra nestruktūrizuoti. Tačiau tai gali apsunkinti šių duomenų analizę ar tyrimą. Pavyzdžiui, mokslininkas, norintis rasti vidutinę praėjusio mėnesio temperatūrą pagal jutiklio duomenis, gali pastebėti, kad jutiklis kai kuriuose įrašuose užfiksavo „e“, nurodydamas, kad jis buvo sugedęs, o tai reiškia, kad duomenys yra neišsamūs.
Nestruktūrizuoti duomenys paprastai nėra suskirstyti į eilutes ar stulpelius ir neturi nustatyto formato ar taisyklių. Kadangi nestruktūrizuoti duomenys turi mažiau apribojimų, juos lengviau papildyti nauja informacija, palyginus su struktūrizuotu duomenų rinkiniu. Pavyzdžiui, jei jutiklis matuoja barometrinį slėgį kas 2 minutes ir gauna atnaujinimą, leidžiantį jame matuoti ir temperatūrą, tai nėra būtina keisti esamus duomenis, jei jie nestruktūrizuoti. Tačiau tai gali pailginti tokio duomenų analizės ar tyrimo laiką. Pavyzdžiui, mokslininkas, norintis apskaičiuoti vidutinę ankstesnio mėnesio temperatūrą pagal jutiklio duomenis, atranda, kad jutiklis kai kur įrašė „e“ žymėdamas, kad jis buvo sugadintas, o ne skaitinę reikšmę, tad duomenys yra neišsamūs.
Nestruktūrizuotų duomenų pavyzdžiai: tekstiniai failai, tekstinės žinutės, vaizdo failai.
Nestruktūrizuotų duomenų pavyzdžiai: teksto failai, žinutės, vaizdo įrašai
### Pusiau struktūrizuoti duomenys
Pusiau struktūrizuoti duomenys turi savybių, dėl kurių jie yra struktūrizuotų ir nestruktūrizuotų duomenų derinys. Jie paprastai neatitinka eilučių ir stulpelių formato, tačiau yra organizuoti taip, kad būtų laikomi struktūrizuotais ir gali laikytis nustatyto formato ar taisyklių rinkinio. Struktūra skirsis priklausomai nuo šaltinio, pavyzdžiui, nuo gerai apibrėžtos hierarchijos iki lankstesnės, leidžiančios lengvai integruoti naują informaciją. Metaduomenys yra indikatoriai, padedantys nuspręsti, kaip duomenys yra organizuoti ir saugomi, ir turės įvairius pavadinimus, priklausomai nuo duomenų tipo. Kai kurie įprasti metaduomenų pavadinimai yra žymos, elementai, subjektai ir atributai. Pavyzdžiui, tipinė el. laiško žinutė turės temą, turinį ir gavėjų rinkinį ir gali būti organizuota pagal tai, kas ar kada ją išsiuntė.
Pusiau struktūrizuoti duomenys turi savybių, kurios sudaro struktūrizuotų ir nestruktūrizuotų duomenų derinį. Jie paprastai nesilaiko eilučių ir stulpelių formato, bet yra organizuoti taip, kad laikomi struktūrizuotais ir gali turėti nustatytą formatą ar taisyklių rinkinį. Struktūra skiriasi priklausomai nuo šaltinių nuo aiškiai apibrėžtos hierarchijos iki lankstesnės, leidžiančios lengvai integruoti naują informaciją. Metaduomenys yra indikatoriai, padedantys nuspręsti, kaip duomenys organizuojami ir saugomi, jų pavadinimai skiriasi priklausomai nuo duomenų tipo. Dažniausi metaduomenų pavadinimai yra žymos, elementai, objektai ir atributai. Pavyzdžiui, tipinė el. laiško žinutė turi temą, turinį ir gavėjų sąrašą, kurį galima suorganizuoti pagal siuntėją ar laiką.
Pusiau struktūrizuotų duomenų pavyzdžiai: HTML, CSV failai, JavaScript Object Notation (JSON).
Pusiau struktūrizuotų duomenų pavyzdžiai: HTML, CSV failai, JavaScript objektų žymėjimas (JSON)
## Duomenų šaltiniai
Duomenų šaltinis yra pradinė vieta, kurioje duomenys buvo sugeneruoti arba „gyvena“, ir skirsis priklausomai nuo to, kaip ir kada jie buvo surinkti. Duomenys, sugeneruoti jų naudotojų, vadinami pirminiais duomenimis, o antriniai duomenys gaunami iš šaltinio, kuris surinko duomenis bendram naudojimui. Pavyzdžiui, mokslininkų grupė, renkantys stebėjimus atogrąžų miške, būtų laikomi pirminiais, o jei jie nuspręstų pasidalinti šiais duomenimis su kitais mokslininkais, jie būtų laikomi antriniais tiems, kurie juos naudoja.
Duomenų šaltinis yra pradinė vieta, kur duomenis sugeneravo arba kur jie „gyvena“, ir priklauso nuo to, kaip ir kada jie surinkti. Duomenys, sugeneruoti paties naudotojo (naudotojų), vadinami pirminiais, o antriniai duomenys yra iš šaltinio, kuris rinko duomenis bendram naudojimui. Pavyzdžiui, grupė mokslininkų, stebinčių lietaus miško duomenis, būtų laikomi pirminiais, o jei jie pasidalins su kitais mokslininkais, tai bus antriniai naujiems naudotojams.
Duomenų bazės yra dažnas šaltinis ir remiasi duomenų bazių valdymo sistema, kuri talpina ir prižiūri duomenis, kur naudotojai naudoja užklausas duomenims tyrinėti. Failai kaip duomenų šaltiniai gali būti garso, vaizdo ir vaizdo failai, taip pat skaičiuoklės, tokios kaip Excel. Interneto šaltiniai yra dažna vieta duomenims talpinti, kur galima rasti tiek duomenų bazių, tiek failų. Programų programavimo sąsajos, dar žinomos kaip API, leidžia programuotojams kurti būdus dalintis duomenimis su išoriniais naudotojais per internetą, o interneto duomenų nuskaitymas išgauna duomenis iš tinklalapio. [Pamokos apie darbą su duomenimis](../../../../../../../../../2-Working-With-Data) yra skirtos įvairių duomenų šaltinių naudojimui.
Duomenų bazės yra įprastas šaltinis ir remiasi duomenų bazių valdymo sistema, kurioje naudotojai naudoja užklausas duomenų tyrimui. Failai kaip duomenų šaltiniai gali būti garso, vaizdo ir vaizdo įrašų failai, taip pat skaičiuoklės, tokios kaip Excel. Interneto šaltiniai yra dažna vieta duomenų talpinimui, kur galima rasti duomenų bazes ir failus. Programavimo sąsajos (APIs) leidžia programuotojams kurti būdus dalintis duomenimis su išoriniais naudotojais per internetą, o interneto duomenų nuskaitymas (web scraping) ištraukia duomenis iš tinklalapio. [Pamokos Darbas su Duomenimis](../../../../../../../../../2-Working-With-Data) orientuotos į įvairių duomenų šaltinių naudojimą.
## Išvada
Šioje pamokoje sužinojome:
- Kas yra duomenys
- Kaip apibūdinami duomenys
- Kaip duomenys klasifikuojami ir kategorizuojami
- Kur galima rasti duomenis
- Kaip aprašomi duomenys
- Kaip klasifikuojami ir kategorizuojami duomenys
- Kur galima rasti duomenų
## 🚀 Iššūkis
Kaggle yra puikus atvirų duomenų rinkinių šaltinis. Naudokite [duomenų rinkinių paieškos įrankį](https://www.kaggle.com/datasets), kad rastumėte įdomių duomenų rinkinių ir klasifikuokite 35 rinkinius pagal šiuos kriterijus:
Kaggle yra puikus atvirų duomenų šaltinis. Naudokite [duomenų rinkinių paieškos įrankį](https://www.kaggle.com/datasets), kad surastumėte įdomių duomenų rinkinių ir klasifikuokite 35 duomenų rinkinius pagal šiuos kriterijus:
- Ar duomenys yra kiekybiniai ar kokybiniai?
- Ar duomenys yra struktūrizuoti, nestruktūrizuoti ar pusiau struktūrizuoti?
## [Po paskaitos: testas](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## [Po paskaitos testas](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Peržiūra ir savarankiškas mokymasis
- Šis „Microsoft Learn“ modulis, pavadintas [Klasifikuokite savo duomenis](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), išsamiai aprašo struktūrizuotus, pusiau struktūrizuotus ir nestruktūrizuotus duomenis.
- Ši Microsoft Learn dalis, pavadinta [Duomenų formatų identifikacija](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text), aprašo struktūrizuotus, pusiau struktūrizuotus ir nestruktūrizuotus duomenis.
## Užduotis
[Klasifikuoti duomenų rinkinius](assignment.md)
[Duomenų rinkinių klasifikavimas](assignment.md)
---
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius dėl šio vertimo naudojimo.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -5,7 +5,7 @@
"metadata": {},
"source": [
"# Įvadas į tikimybių teoriją ir statistiką\n",
"Šiame užrašų knygelėje žaisime su kai kuriomis anksčiau aptartomis sąvokomis. Daugelis tikimybių ir statistikos sąvokų yra gerai atspindėtos pagrindinėse duomenų apdorojimo bibliotekose Python kalboje, tokiose kaip `numpy` ir `pandas`.\n"
"Šiame užrašų knygelėje mes žaisime su kai kuriomis anksčiau aptartomis sąvokomis. Daugelis tikimybių teorijos ir statistikos sąvokų yra gerai atstovaujamos pagrindinėse duomenų apdorojimo bibliotekoje Python kalboje, tokiose kaip `numpy` ir `pandas`.\n"
]
},
{
@ -24,7 +24,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Atsitiktiniai dydžiai ir pasiskirstymai\n",
"## Atsitiktiniai kintamieji ir pasiskirstymai\n",
"Pradėkime nuo 30 reikšmių mėginio paėmimo iš tolydaus pasiskirstymo nuo 0 iki 9. Taip pat apskaičiuosime vidurkį ir dispersiją.\n"
]
},
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Norėdami vizualiai įvertinti, kiek skirtingų reikšmių yra mėginyje, galime nubrėžti **histogramą**:\n"
"Norėdami vizualiai įvertinti, kiek skirtingų reikšmių yra imtyje, galime nubrėžti **histogramą**:\n"
]
},
{
@ -61,9 +61,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Realių duomenų analizė\n",
"## Tikrų duomenų analizė\n",
"\n",
"Vidurkis ir dispersija yra labai svarbūs analizuojant realius duomenis. Įkelkime duomenis apie beisbolo žaidėjus iš [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"Vidurkis ir dispersija yra labai svarbūs analizuojant realius duomenis. Užkraukime duomenis apie beisbolo žaidėjus iš [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Čia mes naudojame paketą, vadinamą [**Pandas**](https://pandas.pydata.org/), duomenų analizei. Vėliau šiame kurse daugiau kalbėsime apie Pandas ir darbą su duomenimis Python kalboje.\n",
"> Čia mes naudojame paketą, vadinamą [**Pandas**](https://pandas.pydata.org/) duomenų analizei. Daugiau kalbėsime apie Pandas ir darbą su duomenimis Python kalboje vėliau šiame kurse.\n",
"\n",
"Apskaičiuokime vidutines amžiaus, ūgio ir svorio reikšmes:\n"
"Apskaičiuokime vidurkius amžiui, ūgiui ir svoriui:\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Dabar susitelkime į ūgį ir apskaičiuokime standartinį nuokrypį bei dispersiją:\n"
"Dabar sutelkime dėmesį į ūgį ir apskaičiuokime standartinį nuokrypį bei dispersiją: \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Be vidurkio, prasminga pažvelgti į medianą ir kvantilius. Juos galima vizualizuoti naudojant **dėžės diagramą**:\n"
"Be vidurkio, naudinga pažvelgti į medianą ir kvartilius. Juos galima vizualizuoti naudojant **langelio diagramą**:\n"
]
},
{
@ -136,7 +136,7 @@
"outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.boxplot(df['Height'].ffill(), orientation='horizontal', showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@ -146,7 +146,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Taip pat galime sudaryti dėžutės diagramas mūsų duomenų rinkinio dalims, pavyzdžiui, suskirstytoms pagal žaidėjo vaidmenį.\n"
"Taip pat galime daryti dėžių diagramas mūsų duomenų rinkinio pogrupiams, pavyzdžiui, grupuotus pagal žaidėjo vaidmenį.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Pastaba**: Ši diagrama rodo, kad vidutiniškai pirmųjų bazės žaidėjų ūgiai yra didesni už antrųjų bazės žaidėjų ūgius. Vėliau sužinosime, kaip galime formaliau patikrinti šią hipotezę ir kaip parodyti, kad mūsų duomenys statistiškai reikšmingi tai parodyti. \n",
"> **Pastaba**: Šis diagrama rodo, kad vidutiniškai pirmųjų bazės žaidėjų ūgis yra didesnis už antrųjų bazės žaidėjų ūgį. Vėliau sužinosime, kaip galime formaliau patikrinti šią hipotezę ir kaip įrodyti, kad mūsų duomenys yra statistiškai reikšmingi tam parodyti. \n",
"\n",
"Amžius, ūgis ir svoris yra tęstiniai atsitiktiniai kintamieji. Kokia, jūsų manymu, yra jų pasiskirstymo forma? Geras būdas sužinoti nubraižyti reikšmių histogramą: \n"
"Amžius, ūgis ir svoris yra tęstiniai atsitiktiniai dydžiai. Kokia, jūsų manymu, yra jų pasiskirstymo forma? Gera priemonė tai sužinoti pavaizduoti reikšmių histogramą: \n"
]
},
{
@ -188,9 +188,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normalus pasiskirstymas\n",
"## Normalusis pasiskirstymas\n",
"\n",
"Sukursime dirbtinį svorių pavyzdį, kuris seka normalų pasiskirstymą su tokiu pačiu vidurkiu ir dispersija kaip mūsų realūs duomenys:\n"
"Sukurkime dirbtinį svorių imtį, kuri seka normalųjį pasiskirstymą su tokiu pačiu vidurkiu ir dispersija kaip mūsų tikruose duomenyse:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Kadangi dauguma tikrų gyvenimo reikšmių yra normaliai pasiskirsčiusios, neturėtume naudoti tolydaus atsitiktinių skaičių generatoriaus imčių duomenims generuoti. Štai kas nutinka, jei bandysime generuoti svorius naudojant tolydų pasiskirstymą (generuotą su `np.random.rand`):\n"
"Kadangi dauguma realaus gyvenimo reikšmių yra normaliai pasiskirsčiusios, neturėtume naudoti vienodo atsitiktinių skaičių generatoriaus mėginiams generuoti. Štai kas nutinka, jei bandome generuoti svorius su vienoduoju pasiskirstymu (generuojama naudojant `np.random.rand`):\n"
]
},
{
@ -251,9 +251,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Pasitikėjimo intervalai\n",
"## Pasikliautino intervalo ribos\n",
"\n",
"Dabar apskaičiuokime pasitikėjimo intervalus beisbolo žaidėjų svoriams ir ūgiams. Naudosime kodą [iš šios stackoverflow diskusijos](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Dabar apskaičiuokime pasikliautino intervalo ribas beisbolo žaidėjų svoriams ir ūgiams. Naudosime kodą [iš šios stackoverflow diskusijos](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Patikrinkime hipotezę, kad pirmieji bazės žaidėjai yra aukštesni už antruosius bazės žaidėjus. Paprasčiausias būdas tai padaryti yra patikrinti pasitikėjimo intervalus:\n"
"Išbandykime hipotezę, kad pirmieji kamuolio gaudytojai yra aukštesni už antrųjų kamuolio gaudytojus. Paprasčiausias būdas tai padaryti yra patikrinti pasitikėjimo intervalus:\n"
]
},
{
@ -319,7 +319,7 @@
"source": [
"Matome, kad intervalai nesikerta.\n",
"\n",
"Statistiškai teisingesnis būdas patvirtinti hipotezę yra naudoti **Student t-testą**:\n"
"Statistiškai teisingesnis būdas įrodyti hipotezę yra naudoti **Studento t-testą**:\n"
]
},
{
@ -338,18 +338,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Funkcijos `ttest_ind` grąžinamos dvi reikšmės yra:\n",
"* p-reikšmė gali būti laikoma dviejų pasiskirstymų turinčių tokį pat vidurkį tikimybe. Mūsų atveju ji yra labai maža, reiškianti, kad yra stiprūs įrodymai, kad pirmieji žaidėjai yra aukštesni.\n",
"* t-reikšmė yra normalizuoto vidurkio skirtumo tarpinių reikšmių vertė, naudojama t-teste, ir ji lyginama su tam tikra slenkstine verte atitinkamam patikimumo lygiui.\n"
"Funkcija `ttest_ind` grąžina dvi reikšmes:\n",
"* p reikšmė gali būti laikoma tikimybe, kad dvi pasiskirstymo imtys turi tą patį vidurkį. Mūsų atveju ji yra labai maža, reiškianti, kad yra stiprūs įrodymai, jog pirmieji žaidėjai yra aukštesni.\n",
"* t reikšmė yra tarpinis normalizuoto vidurkio skirtumo dydis, kuris naudojamas t testo metu ir yra lyginamas su ribine reikšme, atitinkančia tam tikrą patikimumo lygį.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normalaus pasiskirstymo simuliacija naudojant centrinę ribinę teoremą\n",
"## Normalaus pasiskirstymo modeliavimas naudojant Centrinę ribinę teoremą\n",
"\n",
"Pseudoatsitiktinių skaičių generatorius Python sukurtas taip, kad duotų tolydžią pasiskirstymo funkciją. Jeigu norime sukurti normaliai pasiskirsčiusį generatorių, galime naudoti centrinę ribinę teoremą. Norėdami gauti normaliai pasiskirsčiusį reikšmę, tiesiog apskaičiuosime tolydžiai sugeneruoto imties vidurkį.\n"
"Pseudoatsitiktinių skaičių generatorius Python kalboje sukurtas tam, kad duotų tolygų pasiskirstymą. Jei norime sukurti generatorių normaliam pasiskirstymui, galime naudoti centrinę ribinę teoremą. Norėdami gauti normaliai paskirstytą reikšmę, tiesiog apskaičiuosime tolygiai sugeneruoto imties vidurkį.\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Koreliacija ir Blogoji Beisbolo Korporacija\n",
"## Koreliacija ir blogoji beisbolo korporacija\n",
"\n",
"Koreliacija leidžia rasti ryšius tarp duomenų sekų. Mūsų žaisliniame pavyzdyje įsivaizduokime, kad yra blogoji beisbolo korporacija, kuri žaidėjams moka pagal jų ūgį kuo aukštesnis žaidėjas, tuo daugiau pinigų jis gauna. Tarkime, kad bazinis atlyginimas yra 1000 USD, o papildomas premijinis nuo 0 iki 100 USD priklauso nuo ūgio. Paimsime tikrus MLB žaidėjus ir apskaičiuosime jų įsivaizduojamus atlyginimus:\n"
"Koreliacija leidžia mums rasti ryšius tarp duomenų sekų. Mūsų žaismingame pavyzdyje įsivaizduokime, kad egzistuoja blogoji beisbolo korporacija, kuri savo žaidėjams moka pagal jų ūgį - kuo žaidėjas aukštesnis, tuo daugiau pinigų jis gauna. Tarkime, kad bazinis atlyginimas yra 1000 dolerių, o papildoma premija svyruoja nuo 0 iki 100 dolerių, priklausomai nuo ūgio. Mes paimsime tikrus MLB žaidėjus ir apskaičiuosime jų įsivaizduojamus atlyginimus:\n"
]
},
{
@ -384,7 +384,7 @@
"metadata": {},
"outputs": [],
"source": [
"heights = df['Height'].fillna(method='pad')\n",
"heights = df['Height'].ffill()\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@ -393,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Dabar apskaičiuokime tų sekų kovariaciją ir koreliaciją. `np.cov` suteiks mums taip vadinamą **kovariacinę matricą**, kuri yra kovariacijos išplėtimas keliems kintamiesiems. Kovariacinės matricos $M$ elementas $M_{ij}$ yra koreliacija tarp įvesties kintamųjų $X_i$ ir $X_j$, o įstrižainės reikšmės $M_{ii}$ yra $X_{i}$ dispersija. Panašiai, `np.corrcoef` suteiks mums **koreliacijos matricą**.\n"
"Dabar apskaičiuokime šių sekų kovariaciją ir koreliaciją. `np.cov` mums pateiks vadinamąją **kovariacijos matricą**, kuri yra kovariacijos išplėtimas keliems kintamiesiems. Matricos $M$ elementas $M_{ij}$ yra koreliacija tarp įvesties kintamųjų $X_i$ ir $X_j$, o įstrižainės reikšmės $M_{ii}$ yra $X_{i}$ dispersija. Panašiai, `np.corrcoef` suteiks mums **koreliacijos matricą**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Koreliacija, lygi 1, reiškia, kad tarp dviejų kintamųjų yra stiprus **linijinis ryšys**. Linijinį ryšį galime vizualiai pamatyti pavaizdavę vieną reikšmę prieš kitą:\n"
"Koreliacija lygi 1 reiškia, kad tarp dviejų kintamųjų egzistuoja stiprus **linijinis ryšys**. Linijinį ryšį galime vizualiai pamatyti, nubrėžę vieną reikšmę prieš kitą:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Pažiūrėkime, kas nutiks, jei ryšys nebus linijinis. Tarkime, kad mūsų korporacija nusprendė paslėpti akivaizdžią linijinę priklausomybę tarp ūgio ir atlyginimų, ir į formulę įtraukė tam tikrą nelinearumo elementą, pavyzdžiui, `sin`:\n"
"Pažiūrėkime, kas nutiks, jei priklausomybė nėra tiesinė. Tarkime, kad mūsų korporacija nusprendė paslėpti akivaizdžią tiesinę priklausomybę tarp ūgio ir atlyginimų ir į formulę įtraukė tam tikrą netiesiškumą, pavyzdžiui, `sin`: \n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Šiuo atveju koreliacija yra šiek tiek mažesnė, tačiau vis tiek gana didelė. Dabar, norėdami santykį padaryti dar mažiau akivaizdų, galime pridėti papildomo atsitiktinumo, pridėdami tam tikrą atsitiktinį kintamąjį prie atlyginimo. Pažiūrėkime, kas nutiks:\n"
"Šiuo atveju koreliacija yra šiek tiek mažesnė, bet vis tiek gana didelė. Dabar, norint santykį padaryti dar mažiau akivaizdų, galbūt norėsime pridėti šiek tiek papildomos atsitiktinumo, pridėdami atsitiktinį kintamąjį prie atlyginimo. Pažiūrėkime, kas nutiks:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Ar galite atspėti, kodėl taškai išsirikiuoja į vertikalias linijas?\n",
"> Ar galite atspėti, kodėl taškai išsirikiuoja į vertikalias linijas taip?\n",
"\n",
"Mes pastebėjome koreliaciją tarp dirbtinai sukurto koncepto, kaip atlyginimas, ir stebimos kintamosios *ūgio*. Pažiūrėkime taip pat, ar dvi stebimos kintamosios, tokios kaip ūgis ir svoris, taip pat koreliuoja:\n"
"Mes stebėjome koreliaciją tarp dirbtinai sukurtos sąvokos, tokios kaip atlyginimas, ir stebimos kintamosios *ūgio*. Pažiūrėkime taip pat, ar dvi stebimos kintamosios, tokios kaip ūgis ir svoris, taip pat koreliuoja:\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Deja, nepavyko gauti jokių rezultatų tik keletą keistų `nan` reikšmių. Taip nutinka todėl, kad kai kurios mūsų serijos reikšmės nėra apibrėžtos, jas atitinka `nan`, o tai sukelia ir operacijos rezultatą būti neapibrėžtu. Pažvelgę į matricą matome, kad probleminis stulpelis yra `Weight`, nes atlikta savikoreliacija tarp `Height` reikšmių.\n",
"Deja, negavome jokių rezultatų tik keletą keistų `nan` reikšmių. Taip yra todėl, kad kai kurios reikšmės mūsų serijoje yra nenurodytos, pažymėtos kaip `nan`, o tai sukelia, kad ir operacijos rezultatas tampa nenurodytas. Pažvelgus į matricą, matome, kad `Weight` yra problema turinti stulpelis, nes buvo apskaičiuota savikoreliacija tarp `Height` reikšmių.\n",
"\n",
"> Šis pavyzdys parodo **duomenų paruošimo** ir **valymo** svarbą. Be tinkamų duomenų negalime apskaičiuoti nieko.\n",
"> Šis pavyzdys parodo **duomenų paruošimo** ir **valymo** svarbą. Be tinkamų duomenų nieko apskaičiuoti negalime.\n",
"\n",
"Naudosime `fillna` metodą, kad užpildytume trūkstamas reikšmes, ir apskaičiuosime koreliaciją:\n"
"Naudokime metodą `fillna`, kad užpildytume trūkstamas reikšmes, ir apskaičiuokime koreliaciją:\n"
]
},
{
@ -507,14 +507,14 @@
"metadata": {},
"outputs": [],
"source": [
"np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
"np.corrcoef(df['Height'].ffill(), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Iš tiesų egzistuoja koreliacija, tačiau ji nėra tokia stipri kaip mūsų dirbtiniame pavyzdyje. Iš tiesų, jei pažvelgsime į taškų diagramą, kurioje vienas reikšmė lyginama su kita, ryšys būtų daug mažiau akivaizdus:\n"
"Iš tiesų yra koreliacija, tačiau ne tokia stipri kaip mūsų dirbtiniame pavyzdyje. Iš tikrųjų, jei pažvelgtume į taškų diagramą, kur viena reikšmė pateikta prieš kitą, ryšys būtų daug mažiau akivaizdus:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Išvada\n",
"\n",
"Šiame užrašų knygelėje mes išmokome, kaip atlikti pagrindines operacijas su duomenimis, kad apskaičiuotume statistines funkcijas. Dabar žinome, kaip naudoti tvirtą matematikos ir statistikos aparatūrą, kad įrodytume kai kurias hipotezes, ir kaip apskaičiuoti pasitikėjimo intervalus bet kokiems kintamiesiems, turint duomenų imtį.\n"
"Šiame užrašų knygelėje mes išmokome, kaip atlikti pagrindines duomenų operacijas norint apskaičiuoti statistines funkcijas. Dabar žinome, kaip naudoti tvirtą matematikos ir statistikos aparatūrą, kad įrodytume tam tikras hipotezes, ir kaip apskaičiuoti pasitikėjimo intervalus bet kokiems kintamiesiems, turint duomenų imtį.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Atsakomybės limitas**: \nŠis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas gimtąja kalba laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojamas profesionalus žmogaus atliktas vertimas. Mes neatsakome už jokią painiavą ar klaidingą interpretaciją, kylančią dėl šio vertimo naudojimo.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Atsakomybės apribojimas**:\nŠis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -568,12 +568,6 @@
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
},
"coopTranslator": {
"original_hash": "0f899e3c5019f948e7c787b22f3b2304",
"translation_date": "2026-01-16T21:25:44+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "lt"
}
},
"nbformat": 4,

@ -4,11 +4,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# COVID-19 pandemijos vertinimas\n",
"# COVID-19 pandemijos įvertinimas\n",
"\n",
"## Duomenų užkrovimas\n",
"## Duomenų įkėlimas\n",
"\n",
"Naudosime duomenis apie COVID-19 užsikrėtusius asmenis, kuriuos pateikė [Sistemos mokslo ir inžinerijos centras](https://systems.jhu.edu/) (CSSE) prie [Johns Hopkins universiteto](https://jhu.edu/). Duomenų rinkinys yra prieinamas [šiame GitHub saugykloje](https://github.com/CSSEGISandData/COVID-19).\n"
"Naudosime duomenis apie COVID-19 užsikrėtusius asmenis, pateiktus [Sistemų mokslo ir inžinerijos centre](https://systems.jhu.edu/) (CSSE) prie [Johns Hopkins universiteto](https://jhu.edu/). Duomenų rinkinys yra prieinamas [šiame GitHub saugykloje](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Mes galime tiesiogiai iš GitHub įkelti naujausius duomenis naudodami `pd.read_csv`. Jei dėl kokios nors priežasties duomenys nėra prieinami, visada galite naudoti vietinę kopiją esančią `data` aplanke tiesiog atkomentuokite žemiau esančią eilutę, kurioje apibrėžiamas `base_url`:\n"
"Mes galime tiesiogiai įkelti naujausius duomenis iš GitHub naudodami `pd.read_csv`. Jei dėl kokios nors priežasties duomenys nepasiekiami, visada galite naudoti vietoje esančią kopiją aplanke `data` tiesiog atkomentuokite žemiau esančią eilutę, kurioje apibrėžtas `base_url`:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Galime matyti, kad kiekviena lentelės eilutė nurodo užsikrėtusių asmenų skaičių kiekvienai šaliai ir/ar provincijai, o stulpeliai atitinka datas. Panašios lentelės gali būti užkraunamos ir kitiems duomenims, pavyzdžiui, pasveikusiųjų skaičiui ir mirčių skaičiui.\n"
"Matome, kad kiekviena lentelės eilutė nurodo užsikrėtusių asmenų skaičių kiekvienai šaliai ir/ar provincijai, o stulpeliai atitinka datas. Panašias lenteles galima įkelti ir kitiems duomenims, pavyzdžiui, pasveikusiųjų skaičiui ir mirčių skaičiui.\n"
]
},
{
@ -282,9 +282,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Duomenų supratimas\n",
"## Suprasti duomenis\n",
"\n",
"Iš aukščiau pateiktos lentelės neaišku, kokia yra skyriaus stulpelio reikšmė. Pažiūrėkime, kokios skirtingos reikšmės yra `Province/State` stulpelyje:\n"
"Iš aukščiau esančios lentelės neaišku, kokia yra stulpelio \"province\" funkcija. Pažiūrėkime, kokios skirtingos reikšmės yra stulpelyje `Province/State`:\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Duomenų išankstinis apdorojimas\n",
"## Duomenų išankstinis apdorojimas \n",
"\n",
"Mums neaktualu skaidyti šalis į tolesnes teritorijas, todėl pirmiausia atsikratysime šio skaidymo ir pridėsime informaciją apie visas teritorijas kartu, kad gautume informaciją apie visą šalį. Tai galima padaryti naudojant `groupby`:\n"
"Mūsų nedomina tolesnis šalių skaidymas į teritorijas, todėl pirmiausia atsikratytume šio skaidymo ir sujungtume informaciją apie visas teritorijas, kad gautume duomenis apie visą šalį. Tai galima padaryti naudojant `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Matote, kad naudojant `groupby` visi duomenų rėmeliai dabar yra indeksuoti pagal Šalį/Regioną. Todėl galime pasiekti duomenis apie tam tikrą šalį naudodami `.loc`:|\n"
"Matote, kad dėl `groupby` naudojimo visi DataFrame dabar indeksuojami pagal Šalis/Regioną. Todėl galime pasiekti duomenis konkrečiai šaliai naudodami `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Pastaba**, kaip mes naudojame `[3:]`, norėdami pašalinti pirmuosius tris sekos elementus, kurie turi ne datos metaduomenis (Provincijos/Valstijos ir geolokacijos stulpelius). Taip pat galime visiškai pašalinti tuos tris stulpelius:\n"
"> **Pastaba** kaip mes naudojame `[3:]`, kad pašalintume pirmus tris sekos elementus, kurie turi datos nesusijusią metaduomenį (Provincijos/Valstijos ir geografinės vietos stulpelius). Taip pat galime visiškai pašalinti tuos tris stulpelius:\n"
]
},
{
@ -1625,9 +1625,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Tyrinėjame duomenis\n",
"## Duomenų tyrimas\n",
"\n",
"Dabar perjunkime į konkrečios šalies tyrinėjimą. Sukurkime rėmelį, kuriame būtų pateikti užsikrėtimų duomenys pagal datą:\n"
"Dabar pereikime prie konkrečios šalies tyrimo. Sukurkime rėmelį, kuris apimtų duomenis apie užsikrėtimus, indeksuotus pagal datą:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Dabar apskaičiuokime naujų užsikrėtusių žmonių skaičių kiekvieną dieną. Tai leis mums matyti, kokiu greičiu plinta pandemija. Lengviausia dienai tai padaryti naudoti `diff`:\n"
"Dabar apskaičiuokime naujų užsikrėtusių žmonių skaičių kiekvieną dieną. Tai leis mums matyti, kokiu greičiu progresuoja pandemija. Paprasčiausias būdas tai padaryti yra naudoti `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Galime matyti didelius duomenų svyravimus. Pažvelkime atidžiau į vieną iš mėnesių:\n"
"Matome didelius duomenų svyravimus. Pažiūrėkime atidžiau į vieną iš mėnesių:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Akivaizdu, kad duomenyse yra savaitiniai svyravimai. Kadangi norime matyti tendencijas, prasminga sušvelninti kreivę apskaičiuojant slenkamąjį vidurkį (t. y. kiekvienai dienai apskaičiuosime vidutinę vertę už kelias ankstesnes dienas):\n"
"Akivaizdu, kad duomenyse yra savaitiniai svyravimai. Kadangi norime matyti tendencijas, prasminga sušvelninti kreivę apskaičiuojant slenkamąjį vidurkį (t. y. kiekvienai dienai apskaičiuosime vidutinę vertę iš ankstesnių kelių dienų): \n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Norėdami palyginti keletą šalių, galbūt norėsime atsižvelgti į šalies gyventojų skaičių ir palyginti užsikrėtusių asmenų procentą pagal šalies gyventojų skaičių. Norėdami gauti šalies gyventojų skaičių, įkelkime šalių duomenų rinkinį:\n"
"Norint galėti palyginti kelias šalis, galbūt norėsime atsižvelgti į šalies gyventojų skaičių ir palyginti užsikrėtusių asmenų procentą, atsižvelgiant į šalies gyventojų skaičių. Kad gautume šalies gyventojų skaičių, įkelkime šalių duomenų rinkinį:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Kadangi šiame duomenų rinkinyje yra informacija tiek apie šalis, tiek apie provincijas, norint gauti visos šalies gyventojų skaičių, turime būti šiek tiek gudresni:\n"
"Kadangi šiame duomenų rinkinyje yra informacija tiek apie valstybes, tiek apie provincijas, norint sužinoti visos šalies populiaciją, reikia būti šiek tiek kūrybingam: \n"
]
},
{
@ -2261,15 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Skaičiuojant $R_t$\n",
"\n",
"Norėdami sužinoti, kiek užkrečiama liga, žiūrime į **pagrindinį reprodukcijos skaičių** $R_0$, kuris parodo, kiek žmonių užkrėstų vienas užkrėstas asmuo. Kai $R_0$ yra daugiau nei 1, epidemija tikėtina plinta.\n",
"## Skaičiuojame $R_t$\n",
"\n",
"$R_0$ yra pačios ligos savybė ir neatsižvelgia į kai kurias apsaugos priemones, kurias žmonės gali naudoti pandemijai sulėtinti. Pandemijos metu galime bet kuriuo laiko momentu $t$ įvertinti reprodukcijos skaičių $R_t$. Įrodyta, kad šį skaičių galima maždaug apskaičiuoti paėmus 8 dienų langą ir apskaičiuojant \n",
"$$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"čia $I_t$ yra naujai užsikrėtusių asmenų skaičius tą dieną $t$.\n",
"Norėdami įvertinti, kaip užkrečiama yra liga, žiūrime į **pagrindinį reprodukcijos skaičių** $R_0$, kuris nurodo, kiek žmonių užkrėstasis toliau užkrės. Kai $R_0$ yra daugiau nei 1, epidemija tikėtina, kad plis.\n",
"\n",
"Apskaičiuokime $R_t$ mūsų pandemijos duomenims. Tam paimsime slenkantį 8 `ninfected` reikšmių langą ir pritaikysime funkciją, kad apskaičiuotume aukščiau pateiktą santykį:\n"
"$R_0$ yra pačios ligos savybė ir neatsižvelgia į tam tikras apsaugos priemones, kurias žmonės gali taikyti pandemijai sulėtinti. Pandemijos eigoje galime įvertinti reprodukcijos skaičių $R_t$ bet kuriuo laiko momentu $t$. Įrodyta, kad šis skaičius gali būti maždaug apskaičiuojamas imant 8 dienų langą ir skaičiuojant $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"kur $I_t$ yra naujai užsikrėtusių asmenų skaičius dieną $t$.\n",
"\n",
"Apskaičiuokime $R_t$ mūsų pandemijos duomenims. Tam paimsime slenkantį 8 `ninfected` verčių langą ir pritaikysime funkciją, skaičiuojančią aukščiau pateiktą santykį:\n"
]
},
{
@ -2299,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Matome, kad grafike yra tam tikrų tarpų. Jie gali būti sukelti tiek `NaN`, tiek `inf` reikšmių buvimu duomenų rinkinyje. `inf` gali atsirasti dėl dalijimo iš 0, o `NaN` gali reikšti trūkstamus duomenis arba duomenų, reikalingų rezultatui apskaičiuoti, nebuvimą (pvz., mūsų laiko rėmelio pradžioje, kai dar nėra prieinamas slenkantis langas pločio 8). Kad grafikas atrodytų tvarkingiau, turime šias reikšmes užpildyti naudodami `replace` ir `fillna` funkcijas.\n",
"Matote, kad grafike yra tam tikrų tarpų. Jie gali būti sukelti arba `NaN`, arba `inf` reikšmių buvimo duomenų rinkinyje. `inf` gali atsirasti dalijant iš 0, o `NaN` gali reikšti trūkstamus duomenis arba duomenų nebuvimą rezultatui apskaičiuoti (pavyzdžiui, pačioje mūsų duomenų rėmelio pradžioje, kai dar nėra prieinamas riedantis plotis 8). Kad grafikas atrodytų gražiau, turime užpildyti šias reikšmes naudodami `replace` ir `fillna` funkcijas.\n",
"\n",
"Toliau pažvelkime į pandemijos pradžią. Taip pat apribosime y ašies reikšmes, kad būtų rodomos tik reikšmės mažesnės nei 6, kad būtų geriau matyti, ir nubrėšime horizontalų liniją ties 1.\n"
"Toliau pažvelkime į pandemijos pradžią. Taip pat apribosime y ašies reikšmes, kad būtų rodomos tik reikšmės žemiau 6, kad geriau matytume, ir nubraižysime horizontalę liniją ties 1.\n"
]
},
{
@ -2332,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Kitas įdomus pandemijos indikatorius yra **ikirodis**, arba **kasdienė naujų atvejų kaita**. Tai leidžia aiškiai matyti, kada pandemija auga arba mažėja.\n"
"Dar vienas įdomus pandemijos rodiklis yra **išvestinė**, arba **dienos skirtumas** naujų atvejų skaičiuje. Tai leidžia mums aiškiai matyti, kada pandemija auga ar mažėja. \n"
]
},
{
@ -2361,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Atsižvelgiant į tai, kad duomenyse yra daug svyravimų dėl ataskaitų teikimo, prasminga išlyginti kreivę, taikant slenkamąjį vidurkį, siekiant gauti bendrą vaizdą. Dar kartą susitelkime į pirmuosius pandemijos mėnesius:\n"
"Atsižvelgiant į tai, kad duomenyse dėl ataskaitų pateikimo yra daug svyravimų, prasminga išlyginti kreivę naudojant slenkamą vidurkį, kad būtų galima gauti bendrą vaizdą. Dar kartą sutelkime dėmesį į pirmuosius pandemijos mėnesius:\n"
]
},
{
@ -2391,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Iššūkis\n",
"\n",
"Dabar atėjo laikas daugiau žaisti su kodu ir duomenimis! Štai keletas pasiūlymų, kuriuos galite išbandyti:\n",
"* Pažiūrėkite pandemijos plitimą įvairiose šalyse.\n",
"* Nubraižykite $R_t$ grafikus kelioms šalims viename grafike, kad būtų galima palyginti, arba padarykite kelis grafikus šalia vienas kito.\n",
"* Pažiūrėkite, kaip mirčių ir pasveikimų skaičius koreliuoja su užsikrėtusių atvejų skaičiumi.\n",
"* Pabandykite sužinoti, kiek trunka tipinė liga, vizualiai koreliuodami užsikrėtimo ir mirčių rodiklius bei ieškodami anomalijų. Gali tekti žiūrėti į skirtingas šalis, kad tai sužinotumėte.\n",
"* Apskaičiuokite mirtingumo rodiklį ir kaip jis keičiasi laikui bėgant. Gali prireikti atsižvelgti į ligos trukmę dienomis, kad vieną laiko eilutę paslinktumėte prieš atlikdami skaičiavimus.\n"
"Dabar atėjo laikas žaisti su kodu ir duomenimis! Štai keletas pasiūlymų, kuriuos galite išbandyti:\n",
"* Stebėkite pandemijos plitimą skirtingose šalyse.\n",
"* Nubrėžkite $R_t$ grafikus kelioms šalims viename grafike palyginimui arba padarykite kelis grafikus šalia vienas kito.\n",
"* Pažiūrėkite, kaip mirčių ir pasveikimų skaičius koreliuoja su užsikrėtusiųjų skaičiumi.\n",
"* Pabandykite sužinoti, kiek trunka tipiška liga, vizualiai koreliuodami užsikrėtimo ir mirčių rodiklius ir ieškodami anomalijų. Galbūt reikės pažvelgti į skirtingas šalis, kad tai išsiaiškintumėte.\n",
"* Apskaičiuokite mirtingumo rodiklį ir kaip jis keičiasi laikui bėgant. Galbūt norėsite atsižvelgti į ligos trukmę dienomis, kad perkeltumėte vieną laiko seką prieš skaičiavimus.\n"
]
},
{
@ -2407,10 +2408,10 @@
"source": [
"## Nuorodos\n",
"\n",
"Galite peržiūrėti tolesnius COVID epidemijos plitimo tyrimus šiuose leidiniuose:\n",
"* [Slankioji SIR modelis Rt įverčiui COVID pandemijos metu](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), tinklaraščio įrašas autorius [Dmitrijus Soshnikovas](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Laiko priklausomo reprodukcijos skaičiaus globaliam COVID-19 protrūkiui įvertinimas](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Aukščiau minėto straipsnio kodas GitHub](https://github.com/shwars/SlidingSIR)\n"
"Tolimesni COVID epidemijos plitimo tyrimai gali būti rasti šiuose leidiniuose:\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), tinklaraščio įrašas autorius [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation of Time-Dependent Reproduction Number for Global COVID-19 Outbreak](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Kodas straipsniui GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2424,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Atsakomybės apribojimas**:\nŠis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinę informaciją rekomenduojama versti profesionalų vertėjų. Mes neatsakome už bet kokius nesusipratimus ar klaidingas interpretacijas, kylančias dėl šio vertimo naudojimo.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Atsakomybės apribojimas**:\nŠis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -1,31 +1,33 @@
# Pavojingų ryšių duomenų vizualizacijos projektas
# Pavojingos sąsajos duomenų vizualizacijos projektas
Norėdami pradėti, įsitikinkite, kad jūsų kompiuteryje veikia NPM ir Node. Įdiekite priklausomybes (npm install) ir tada paleiskite projektą lokaliai (npm run serve):
Norėdami pradėti, turite įsitikinti, kad jūsų kompiuteryje veikia NPM ir Node **>=20.0.0**. Įdiekite priklausomybes (npm install), tada paleiskite projektą vietoje (npm run serve):
## Projekto nustatymas
## Projekto paruošimas
```
npm install
```
### Kompiliavimas ir automatinis perkrovimas vystymui
### Kompiliuoja ir karštai įkrauna kūrimui
```
npm run serve
```
### Kompiliavimas ir minimizavimas produkcijai
### Kompiliuoja ir suspaudžia gamybai
```
npm run build
```
### Failų tikrinimas ir taisymas
### Tikrina ir taiso failus
```
npm run lint
```
### Konfigūracijos pritaikymas
Žr. [Konfigūracijos nuorodą](https://cli.vuejs.org/config/).
Žr. [Konfigūracijos nuoroda](https://cli.vuejs.org/config/).
---
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, atkreipiame dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudotis profesionalių vertėjų paslaugomis. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus aiškinimus, kylančius dėl šio vertimo naudojimo.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,31 +1,33 @@
# Pavojingų ryšių duomenų vizualizacijos projektas
# Pavojingų ryšių duomenų vizualizavimo projektas
Norėdami pradėti, įsitikinkite, kad jūsų kompiuteryje veikia NPM ir Node. Įdiekite priklausomybes (npm install) ir tada paleiskite projektą lokaliai (npm run serve):
Norėdami pradėti, turite įsitikinti, kad jūsų kompiuteryje veikia NPM ir Node **>=20.0.0**. Įdiekite priklausomybes (npm install), tada paleiskite projektą lokaliai (npm run serve):
## Projekto nustatymas
```
npm install
```
### Kompiliavimas ir automatinis perkrovimas kūrimo metu
### Kompiliuoja ir karštai perkrauna kūrimui
```
npm run serve
```
### Kompiliavimas ir minimizavimas gamybai
### Kompiliuoja ir minimalizuoja produkcijai
```
npm run build
```
### Failų tikrinimas ir taisymas
### Tikrina ir taiso failus
```
npm run lint
```
### Konfigūracijos pritaikymas
Žr. [Konfigūracijos nuorodą](https://cli.vuejs.org/config/).
Žr. [Configuration Reference](https://cli.vuejs.org/config/).
---
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, atkreipiame dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudotis profesionalių vertėjų paslaugomis. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus aiškinimus, kylančius dėl šio vertimo naudojimo.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,8 +12,8 @@
"language_code": "my"
},
"1-Introduction/01-defining-data-science/notebook.ipynb": {
"original_hash": "8f5eb7b3f7cc89e6d98fb32e1de65dec",
"translation_date": "2026-02-27T10:11:19+00:00",
"original_hash": "8eb07e3d899aaba7ea9c9ec9b5aa2850",
"translation_date": "2026-07-17T22:17:17+00:00",
"source_file": "1-Introduction/01-defining-data-science/notebook.ipynb",
"language_code": "my"
},
@ -42,8 +42,8 @@
"language_code": "my"
},
"1-Introduction/03-defining-data/README.md": {
"original_hash": "12339119c0165da569a93ddba05f9339",
"translation_date": "2025-09-05T20:24:20+00:00",
"original_hash": "7217c6f9eb464d4ff4bae6c036ab53cb",
"translation_date": "2026-07-17T22:24:07+00:00",
"source_file": "1-Introduction/03-defining-data/README.md",
"language_code": "my"
},
@ -65,6 +65,12 @@
"source_file": "1-Introduction/04-stats-and-probability/assignment.md",
"language_code": "my"
},
"1-Introduction/04-stats-and-probability/notebook.ipynb": {
"original_hash": "0c77e104b29c723287bf11b773fcc5d5",
"translation_date": "2026-07-17T22:18:30+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "my"
},
"1-Introduction/README.md": {
"original_hash": "696a8474a01054281704cbfb09148949",
"translation_date": "2025-08-30T19:18:09+00:00",
@ -108,8 +114,8 @@
"language_code": "my"
},
"2-Working-With-Data/07-python/notebook-covidspread.ipynb": {
"original_hash": "6335cccba01dc6ad7b15aba7a8c73f38",
"translation_date": "2026-02-27T10:13:30+00:00",
"original_hash": "da97f98781c7cd271063f605fe8d71d0",
"translation_date": "2026-07-17T22:16:38+00:00",
"source_file": "2-Working-With-Data/07-python/notebook-covidspread.ipynb",
"language_code": "my"
},
@ -192,14 +198,14 @@
"language_code": "my"
},
"3-Data-Visualization/13-meaningful-visualizations/solution/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-30T19:09:31+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:24:19+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/solution/README.md",
"language_code": "my"
},
"3-Data-Visualization/13-meaningful-visualizations/starter/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-30T19:10:05+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:24:15+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/starter/README.md",
"language_code": "my"
},

File diff suppressed because one or more lines are too long

@ -1,71 +1,79 @@
# ဒေတာကို သတ်မှတ်ခြင်း
# ဒေတာ သတ်မှတ်ခြင်း
|![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|ဒေတာကို သတ်မှတ်ခြင်း - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
|ဒေတာ သတ်မှတ်ခြင်း - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
ဒေတာဆိုတာ အချက်အလက်များ၊ သတင်းအချက်အလက်များ၊ ကြည့်ရှုမှုများနှင့် တိုင်းတာမှုများဖြစ်ပြီး ရှာဖွေတွေ့ရှိမှုများနှင့် သတိထားဖြင့် ဆုံးဖြတ်ချက်များကို ပံ့ပိုးရန် အသုံးပြုသည်။ ဒေတာအချက်အလက်တစ်ခုသည် ဒေတာအချက်အလက်စုစည်းမှုတစ်ခုအတွင်းရှိ ဒေတာ၏ တစ်ခုတည်းသောယူနစ်ဖြစ်ပြီး ဒေတာအချက်အလက်များ၏ စုစည်းမှုဖြစ်သည်။ ဒေတာအချက်အလက်စုစည်းမှုများသည် အမျိုးအစားနှင့် ဖွဲ့စည်းမှုများကွဲပြားနိုင်ပြီး ဒေတာရရှိသော အရင်းအမြစ်ပေါ်မူတည်လေ့ရှိသည်။ ဥပမာအားဖြင့် ကုမ္ပဏီ၏ လစဉ်ဝင်ငွေများသည် စာရင်းဇယားတွင်ရှိနိုင်သလို smartwatch မှ နာရီတိုင်းနှလုံးခုန်နှုန်းဒေတာသည် [JSON](https://stackoverflow.com/a/383699) ဖော်မတ်တွင်ရှိနိုင်သည်။ ဒေတာသိပ္ပံပညာရှင်များသည် ဒေတာအမျိုးအစားများစွာနှင့် အလုပ်လုပ်ရလေ့ရှိသည်။
ဒေတာဆိုသည်မှာ ရှာဖွေွေ့ရှိမှုမျးပြုရန်နှင့်သိပညာရှိပြီးဆုံးဖြတ်ချက်များအတွက် ထောက်ခံရန် အသုံးပြုသော သက်ဆိုင်ရာအချက်အလက်များ၊ သတင်းအချက်အလက်များ၊ စောင့်ကြည့်မှတ်တမ်းများနှင့် တိုင်းတာမှုများဖြစ်သည်။ ဒေတာအချက်တစ်ခု သည် ဒေတာစုစည်းမှု (dataset) အတွင်းရှိ ဒေတာတစ်ခုချင်းစီ ဖြစ်ပြီး ဒေတာစုစည်းမှုသည် ဒေတာအချက်များစုစည်းမှု ဖြစ်သည်။ ဒေတာစုစည်းမှုများမှာ မတူညီသည့် ပုံစံများနှင့် ဖွဲ့စည်းမှုများဖြင့် ရနိုင်ပြီး ဝင်ရောက်လာသည့် အရင်းအမြစ်အပေါ်မူတည်၍ မည်သည်မှာ ပုံစံဖြစ်နိုင်သည်။ ဥပမာအားဖြင့် ကုမ္ပဏီတစ်ခု၏ လစဉ် ဝင်ငွေများသည် စာရင်းဇယားဖြင့် ရနိုင်သော်လည်း လက်နက်ချိန် တစ်နာရီစီနှင့် စာရိုက်ထားသော မျက်နှာပြင်ကွင်းအား တိုင်းတာမှုများမှာ [JSON](https://stackoverflow.com/a/383699) ပုံစံဖြင့် ဖြစ်နိုင်သည်။ ဒေတာသိပ္ပံပညာရှင်များသည် ဒေတာစုစည်းမှုအတွင်းရှိ မတူညီသောဒေတာအမျိုးအစားများကို အတူတကွ လုပ်ကိုင်ကြသည်မှာ ကြွယ်ဝသည်။
ဒီသင်ခန်းစာမှာ ဒေတာ၏ လက္ခဏာများနှင့် အရင်းအမြစ်များအပေါ်မူတည်၍ ဒေတာကို သတ်မှတ်ခြင်းနှင့် အမျိုးအစားခွဲခြင်းကို အဓိကထားသည်။
ဤသင်ခန်းစာသည် ဒေတာ၏ လက္ခဏာများနှင့် ၎င်း၏ အရင်းအမြစ်များအပေါ် အခြေခံ၍ ဒေတာကို သတ်မှတ်ခြင်း နှင့် အမျိုးအစားခွဲခြင်းအတွက် အာရုံစိုက်ထားသည်။
## [Pre-Lecture Quiz](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## ဒေတာကို ဘယ်လို ဖော်ပြထားသလဲ
## [စာသင်ခန်းမတက်ခင် စစ်တမ်း](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## ဒေတာကို ဘယ်လိုဖော်ပြသည်
### Raw Data
Raw data ဆိုတာ ဒေတာရရှိသော အရင်းအမြစ်မှ စတင်အခြေအနေတွင်ရှိပြီး မသုံးသပ်ထားသော ဒေတာဖြစ်သည်။ ဒေတာအချက်အလက်စုစည်းမှုတွင် ဖြစ်နေသောအရာကို နားလည်နိုင်ရန် လူသားများနှင့် နည်းပညာများက ပိုမိုသုံးသပ်နိုင်ရန် ဖွဲ့စည်းထားသော ဖော်မတ်တစ်ခုအဖြစ် စီစဉ်ရန် လိုအပ်သည်။ ဒေတာအချက်အလက်စုစည်းမှု၏ ဖွဲ့စည်းမှုသည် ဒေတာကို ဘယ်လို စီစဉ်ထားသည်ကို ဖော်ပြပြီး structured, unstructured နှင့် semi-structured အဖြစ် အမျိုးအစားခွဲနိုင်သည်။ ဒီဖွဲ့စည်းမှုအမျိုးအစားများသည် အရင်းအမြစ်ပေါ်မူတည်၍ ကွဲပြားနိုင်သော်လည်း အဓိကအားဖြင့် ဒီသုံးမျိုးအတွင်းသို့ အဆင့်သတ်မှတ်နိုင်သည်။
### မူလဒေတာ (Raw Data)
မူလဒေတာသည် ၎င်း၏ အရင်းအမြစ်မှ ရလာရှိသော ဒေတာဖြစ်ပြီး အစမှတ်အစဉ်များမပြုလုပ်ထားသေးဘဲ စာရင်းပြုစုခြင်း မခံရသေးသော ဒေတာဖြစ်သည်။ ဒေတာစုစည်းမှုနှင့် သက်ဆိုင်ရာ အရာကို နားလည်နိုင်ရန်အတွက် လူသားများနှင့် အနက်ခေါင်းဆောင်သော နည္းပညာများမှ အနောက်တုန်းတွင် နားလည်နိုင်သည့် ပုံစံတစ်ခုသို့ စုစည်းရန် လိုအပ်သည်။ ဒေတာစုစည်းမှု၏ ဖွဲ့စည်းပုံသည် ၎င်း၏ စီမံထားသည့် လမ်းစဉ်အတိုင်း ဖြစ်ပြီး ဖွဲ့စည်းထားခြင်း (structured), မဖွဲ့စည်းထားခြင်း (unstructured) နှင့် အဝတ်အစုံဖွဲ့စည်းပုံ (semi-structured) ဟူသော အမျိုးအစားများဖြင့် ခွဲခြားနိုင်သည်။ ဒီဖွဲ့စည်းပုံအမျိုးအစားများသည် အရင်းအမြစ်အပေါ်မူတည်၍ မတူညီနိုင်သော်လည်း နောက်ဆုံးတွင် အဆိုပါ သုံးအမျိုးအစားအတွင်းပဲ ဖြစ်မည်။
### Quantitative Data
Quantitative data ဆိုတာ ဒေတာအချက်အလက်စုစည်းမှုအတွင်းရှိ ကိန်းဂဏန်းအချက်အလက်များဖြစ်ပြီး သုံးသပ်နိုင်သည်၊ တိုင်းတာနိုင်သည်၊ သင်္ချာနည်းဖြင့် အသုံးပြုနိုင်သည်။ Quantitative data ၏ ဥပမာများမှာ - တစ်နိုင်ငံ၏ လူဦးရေ၊ တစ်ဦး၏ အရပ်အမြင့်၊ ကုမ္ပဏီ၏ သုံးလပတ်ဝင်ငွေများ ဖြစ်သည်။ ထပ်မံသုံးသပ်မှုများဖြင့် Quantitative data ကို Air Quality Index (AQI) ၏ ရာသီဥတုလမ်းကြောင်းများကို ရှာဖွေခြင်း သို့မဟုတ် အလုပ်လုပ်ရက်များတွင် Rush Hour Traffic ဖြစ်နိုင်ခြေကို ခန့်မှန်းရန် အသုံးပြုနိုင်သည်။
### အရေအတွက်ဒေတာ (Quantitative Data)
အရေအတွက်ဒေတာသည် ဒေတာစုစည်းမှု၏ ဂဏန်းဖော်ပြချက်များဖြစ်ပြီး သိပ္ပံနည်းဖြင့် ခန်းဆက်တန်ဖိုးရန်၊ တိုင်းတာရန် နှင့် သင်္ချာအသုံးပြု၍ စစ်ဆေးရန် ပြုလုပ်နိုင်သည်။ အရေအတွက်ဒေတာ၏ ဥပမာများမှာ နိုင်ငံတစ်နိုင်ငံ၏ လူဦးရေပမာဏ၊ လူ့တစ်ဦး၏ အမြင့်၊ သို့မဟုတ် ကုမ္ပဏီတစ်ခု၏ သုံးလပတ်ဝင်ငွေတို့ ဖြစ်သည်။ အချိန်ပိုင်းစစ်ဆေးမှုများနှင့် တွက်ချက်ခြင်းများပါအပါအဝင် အရေအတွက်ဒေတာကို အသုံးပြု၍ လေထုအရည်အသွေး အညွှန်း (AQI) ၏ရာသီပိုင်းပုံစံများ ရှာဖွေရန် သို့မဟုတ် သာမန်အလုပ်ရက်တစ်နေ့တွင် ကားများပြားချိန် သဘောထားနှုန်း တွက်ချက်နိုင်သည်။
### Qualitative Data
Qualitative data (categorical data) ဆိုတာ Quantitative data ကဲ့သို့ တိုင်းတာနိုင်သော ဒေတာမဟုတ်ဘဲ အရည်အသွေးကို ဖော်ပြသော ဒေတာဖြစ်သည်။ Qualitative data သည် အမျိုးမျိုးသော subjective data ဖော်မတ်များဖြစ်ပြီး ပစ္စည်း သို့မဟုတ် လုပ်ငန်းစဉ်၏ အရည်အသွေးကို ဖမ်းယူထားသည်။ တစ်ခါတစ်ရံ Qualitative data သည် ကိန်းဂဏန်းဖြစ်နိုင်သော်လည်း သင်္ချာနည်းဖြင့် အသုံးမပြုလေ့ရှိသည်။ ဥပမာအားဖြင့် ဖုန်းနံပါတ်များ သို့မဟုတ် အချိန်မှတ်တမ်းများ။ Qualitative data ၏ ဥပမာများမှာ - ဗီဒီယိုမှတ်ချက်များ၊ ကား၏ အမျိုးအစားနှင့် မော်ဒယ်၊ သင့်အနီးဆုံးသူငယ်ချင်းများ၏ အကြိုက်ဆုံးအရောင်များ ဖြစ်သည်။ Qualitative data ကို စားသုံးသူများအကြိုက်ဆုံးပစ္စည်းများကို နားလည်ရန် သို့မဟုတ် အလုပ်လျှောက်လွှာများတွင် လူကြိုက်များသော keyword များကို ရှာဖွေရန် အသုံးပြုနိုင်သည်။
### အရည်အသွေးဒေတာ (Qualitative Data)
အရည်အသွေးဒေတာကို အုပ်စုခွဲဒေတာ (categorical data) ဟုလည်း ခေါ်ကြပြီး ဂဏန်းအရေအတွက်ဒေတာ၏ စောင့်ကြည့်ချက်များကဲ့သို့ ပမာဏဖြင့် တိုင်းတာ၍ မရနိုင်သည့် ဒေတာဖြစ်သည်။ အများအားဖြင့် အကြောင်းအရာကျသော ဒေတာအမျိုးအစားမျိုးများဖြစ်ပြီး ထုတ်ကုန် သို့မဟုတ် လုပ်ငန်းနယ်ပယ်၏ အရည်အသွေးကို ဖော်ပြသည်။ တချို့အခါ အရည်အသွေးဒေတာသည် ဂဏန်းဖော်ပြချက်ဖြစ်နိုင်သော်လည်း သင်္ချာဖြင့် မသုံးကြသည့် ဖုန်းနံပါတ်များ သို့မဟုတ် အချိန်မှတ်တမ်းများကဲ့သို့ ဖြစ်နိုင်သည်။ အရည်အသွေးဒေတာ၏ ဥပမာများမှာ ဗီဒီယိုမှတ်ချက်များ၊ ကား၏ ထုတ်လုပ်သူနှင့် မော်ဒယ်၊ သင်၏ အနီးဆုံး သူငယ်ချင်းများ၏ အကြိုက်ဆုံးအရောင်တို့ ဖြစ်သည်။ အရည်အသွေးဒေတာကို ကုန်စည်များအား ပြုံးနောက်နောက်သေချာလေ့လာရန် နှင့် အလုပ်လျှောက်ထားမှုရုပ်သဘောတူများတွင် လူကြိုက်များသော စကားလုံးများအား သတ်မှတ်ရန် အသုံးပြုနိုင်သည်။
### Structured Data
Structured data ဆိုတာ အတန်းနှင့် ကော်လံများအဖြစ် စီစဉ်ထားသော ဒေတာဖြစ်ပြီး အတန်းတစ်ခုစီတွင် အတန်းတစ်ခုနှင့် တူညီသော ကော်လံများရှိသည်။ ကော်လံများသည် တစ်ခုတည်းသော အမျိုးအစားကို ကိုယ်စားပြုသော တန်ဖိုးကို ဖော်ပြပြီး အတန်းများတွင် အမှန်တကယ်တန်ဖိုးများကို ပါဝင်သည်။ Structured data ၏ အကျိုးကျေးဇူးမှာ ဒေတာကို အခြား structured data နှင့် ဆက်စပ်စီစဉ်နိုင်သည်။ သို့သော် ဒေတာကို အတိအကျစီစဉ်ထားသောကြောင့် ဖွဲ့စည်းမှုကို ပြောင်းလဲရန် အချိန်နှင့် အင်အားများလိုအပ်သည်။
### ဖွဲ့စည်းထားသော ဒေတာ (Structured Data)
ဖွဲ့စည်းထားသော ဒေတာ ဆိုသည်မှာ စာကြောင်းများနှင့် သင်္ကေတတွေဖြင့် စီစဉ်ထားသော ဒေတာဖြစ်ပြီး သူတိုင်း စာကြောင်းတစ်ကြောင်းလျှင် တူညီသော သင်္ကေတများကို ပိုင်ဆိုင်သည်။ ကော်လံများသည် တိကျသော အမျိုးအစားတစ်ခု၏ တန်ဖိုးတစ်ခုကို ကိုယ်စားပြု၍ ဤတန်ဖိုးသည် အရာရဲ့အဓိပ္ပါယ်ကို ဖော်ပြသည့် နာမည်ဖြင့် အဓိပ္ပါယ်ဖော်ပြပါသည်။ စာကြောင်းများတွင် တကယ့် တန်ဖိုးများပါရှိသည်။ ကော်လံများသည် တန်ဖိုးအတွက် သတ်မှတ်ချက် သို့မဟုတ် ကန့်သတ်ချက်များ ရှိနိုင်ပြီး အဆိုပါ တန်ဖိုးများသည် အမှန်တကယ် ကော်လံကို ကိုယ်စားပြုကြောင်း အာမခံရန် သတ်မှတ်ချက်များ ပါရှိသည်။ ဥပမာအားဖြင့် ဖုန်းနံပါတ် စာရင်းဇယားတစ်ခုတွင် စာကြောင်းတစ်ကြောင်းစီတွင် ဖုန်းနံပါတ်ရှိရမည် ဖြစ်ပြီး အက္ခရာများ ပါဝင်၍ မရနိုင်သည်။ ဖုန်းနံပါတ်ကော်လံတွင် ဝင်ငွေမရှိဘဲ နံပါတ်သာပါရမည်ဟု စည်းကမ်းချက်များ ပါရှိသည်။
Structured data ၏ ဥပမာများ - စာရင်းဇယားများ၊ relational databases၊ ဖုန်းနံပါတ်များ၊ ဘဏ်စာရင်းများ
ဖွဲ့စည်းထားသော ဒေတာ၏ အကျိုးကျေးဇူးမှာ အခြား ဖွဲ့စည်းထားသော ဒေတာနှင့် ဆက်စပ်နိုင်သော ပုံစံမျိုးဖြင့် စီမံစည်းကြပ်နိုင်ခြင်းဖြစ်သည်။ သို့သော် ဒေတာကို တိကျသော ပုံစံတစ်ခုအတိုင်း ဒီဇိုင်းလုပ်ထားသောကြောင့် ၎င်း၏ ပြည့်စုံသော ဖွဲ့စည်းပုံကို ပြောင်းလဲခြင်းသည် အားအလွန်ကြီးသော ကြိုးစားမှုများလိုအပ်နိုင်သည်။ ဥပမာအားဖြင့် ဖုန်းနံပါတ် မရှိခြင်း မရှိသေးသော အီးမေးလ်ကော်လံကို အသစ်ဖော်ထုတ်တင်ရန် ဆိုပါက ရှိပြီးသား ဖောက်သည် စာရင်းဇယားတွင် ၎င်းတန်ဖိုးများကို ထည့်သွင်းရန် နည်းလမ်းများ ရှာဖွေရန် လိုအပ်လာသည်။
### Unstructured Data
Unstructured data သည် အတန်းနှင့် ကော်လံများအဖြစ် စီစဉ်ထားနိုင်သော ဒေတာမဟုတ်ဘဲ ဖော်မတ် သို့မဟုတ် စည်းမျဉ်းများမပါဝင်သော ဒေတာဖြစ်သည်။ Unstructured data သည် ဖွဲ့စည်းမှုအပေါ် အကန့်အသတ်နည်းသောကြောင့် ဒေတာအသစ်များကို ထည့်သွင်းရန် ပိုမိုလွယ်ကူသည်။ သို့သော် ဒေတာကို သုံးသပ်ရန် ပိုမိုအချိန်ယူနိုင်သည်။
ဖွဲ့စည်းထားသော ဒေတာ၏ ဥပမာများမှာ စာရင်းဇယားများ၊ ဆက်နွယ်မှု ဒေတာဘေ့စ်များ၊ ဖုန်းနံပါတ်များ၊ ဘဏ်လွှာများ ဖြစ်သည်။
Unstructured data ၏ ဥပမာများ - စာသားဖိုင်များ၊ စာသားမက်ဆေ့များ၊ ဗီဒီယိုဖိုင်များ
### မဖွဲ့စည်းထားသော ဒေတာ (Unstructured Data)
မဖွဲ့စည်းထားသော ဒေတာသည် အများအားဖြင့် စာကြောင်းများ သို့မဟုတ် ကော်လံများအဖြစ် ခွဲခြား၍ မရနိုင်ပြီး နည်းလမ်း သို့မဟုတ် စည်းမျဉ်းများ ရှိခြင်း မရှိပါ။ မဖွဲ့စည်းထားသော ဒေတာတွင် ဖွဲ့စည်းမှုအပေါ် ကန့်သတ်ချက်နည်းသောကြောင့် သစ်တစ်ခု ထပ်မံ တိုးချဲ့ ထည့်သွင်းရန် လွယ်ကူသည်၊ ဖွဲ့စည်းထားသော ဒေတာစုစည်းမှုနှင့် နှိုင်းယှဉ်ပါက။ ဥပမာအားဖြင့် နှစ်ခြင်းစက္ကန့်အားဖြင့် တိုင်းတာသော စင်ဆာတစ်ခုသည် အပူချိန်ကို တိုင်းတာထားရန် အသစ် ထည့်သွင်းနိုင်ခြင်းအတွက် အခြေခံဒေတာမပြောင်းလဲဘဲ ပုံသေတွင် ထည့်သွင်းနိုင်သည်။ သို့သော် ၎င်းကို ဓာတ်ခွဲခြင်း သို့မဟုတ် စုံစမ်းစစ်ဆေးခြင်း ပြုလုပ်ရာတွင် အချိန်ပို လိုအပ်စေသည်။ ဥပမာအားဖြင့် စင်ဆာမှ အတိတ်လအတွင်း ပျမ်းမှတ်အပူချိန်ကို ရှာဖွေရန် ကြိုးစားနေသည့် သိပ္ပံပညာရှင်တစ်ဦးသည် စင်ဆာမှတ်တမ်းအချို့တွင် 'e' ဟုမှတ်သားထားသည့် အချက်များ ရှိသည်ကို တွေ့ရှိပြီး ဖွဲ့စည်းပုံမှန်ဂဏန်းတစ်ခုမဟုတ်ဘဲ သက်သေပြသည်မှာ ဒေတာ မပြည့်စုံစွာရှိသည်ဖြစ်သည်။
### Semi-structured
Semi-structured data သည် structured နှင့် unstructured data ၏ ပေါင်းစပ်ဖြစ်ပြီး အတန်းနှင့် ကော်လံများအဖြစ် မဟုတ်သော်လည်း ဖွဲ့စည်းမှုရှိသည်။ Metadata သည် ဒေတာကို ဘယ်လို စီစဉ်ထားသည်ကို ဆုံးဖြတ်ရန် အညွှန်းများဖြစ်ပြီး tags, elements, entities, attributes စသည်ဖြင့် အမျိုးအစားခွဲနိုင်သည်။
မဖွဲ့စည်းထားသော ဒေတာ၏ ဥပမာများမှာ စာသားဖိုင်များ၊ စာတိုပို့ဆောင်မှုများ၊ ဗီဒီယိုဖိုင်များ ဖြစ်သည်။
Semi-structured data ၏ ဥပမာများ - HTML, CSV ဖိုင်များ, JavaScript Object Notation (JSON)
### အဝတ်အစုံဖွဲ့စည်းပုံ (Semi-structured)
အဝတ်အစုံဖွဲ့စည်းခြင်းသည် ဖွဲ့စည်းထားသော ဒေတာနှင့် မဖွဲ့စည်းထားသော ဒေတာတို့ ပေါင်းစပ်ထားသော လက္ခဏာများ ရှိသည်။ ၎င်းသည် အများအားဖြင့် စာကြောင်းနဲ့ ကော်လံပုံစံကိုလိုက်နာသည် မဟုတ်သော်လည်း ဖွဲ့စည်းထားသည့် ပုံစံဖြစ်သောကြောင့် တိကျသော ပုံစံ သို့မဟုတ် စည်းကမ်းများကို လိုက်နာနိူင်သည်။ ဖွဲ့စည်းပုံသည် အရင်းအမြစ်အလိုက် ကွဲပြားနိုင်ပြီး သပ်ရပ်ပြီး တိကျသော အဆင့်မြင့်ဖွဲ့စည်းပုံမှ သကွပ်သကူးမှုပြုလုပ်ရန် လွယ်ကူသော ပုံစံအထိ ဖြစ်နိုင်သည်။ မီတာဒေတာ (metadata) ဆိုသည်မှာ ဒေတာကို မည်သို့စီမံ ပြုပြင် ထားသည်နှင့် ဘယ်နေရာတွင် သိမ်းဆည်းထားသည်ကို ဆုံးဖြတ်ရန် အထောက်အကူဖြစ်သော အချက်များ ဖြစ်ပြီး၊ ဒေတာအမျိုးအစားများအပေါ်မူတည်၍ နာမည်မျိုးစုံရှိသည်။ မီတာဒေတာများ၏ လူသုံးများသော နာမည်များမှာ တဏှာများ (tags), အစိတ်အပိုင်းများ (elements), အဖြစ်များ (entities), နှင့် သက်ဆိုင်ရာ အချက်အလက်များ (attributes) ဖြစ်သည်။ ဥပမာအားဖြင့် အီးမေးလ်ပုံစံတစ်ခုတွင် ခေါင်းစဉ်၊ အကြောင်းအရာ၊ လက်ခံသူများ စသည့် ပစ္စည်းများရှိပြီး ပုံစံအရ မည်သူမှ ပြောသည့် အချိန်နှင့် အခြေအနေကို စီမံနိုင်သည်။
## ဒေတာရင်းမြစ်များ
အဝတ်အစုံဖွဲ့စည်းထားသော ဒေတာ၏ ဥပမာများမှာ HTML, CSV ဖိုင်များ၊ JavaScript Object Notation (JSON) ဖြစ်သည်။
ဒေတာရင်းမြစ်ဆိုတာ ဒေတာကို စတင်ဖန်တီးသောနေရာ သို့မဟုတ် "နေထိုင်ရာ" ဖြစ်ပြီး ဒေတာကို ဘယ်လိုနှင့် ဘယ်အချိန်တွင် စုဆောင်းခဲ့သည်ပေါ်မူတည်၍ ကွဲပြားနိုင်သည်။ Primary data သည် အသုံးပြုသူများက ဖန်တီးသော ဒေတာဖြစ်ပြီး Secondary data သည် အခြားသူများက စုဆောင်းထားသော ဒေတာဖြစ်သည်။
## ဒေတာ၏ အရင်းအမြစ်များ
## နိဂုံး
ဒေတာအရင်းအမြစ်ဆိုသည်မှာ ဒေတာကို ဖြစ်ပေါ်လာသောပထမဦးဆုံးနေရာ သို့မဟုတ် ဒေတာ "နေထိုင်ရာ" ဖြစ်ပြီး စုဆောင်းထားပုံ နှင့် စုဆောင်းချိန်အပေါ် မူတည်၍ ကွဲပြားသည်။ အသုံးပြုသူ(များ) မှ ထုတ်လုပ်သည့် ဒေတာကို ပထမဦးဆုံး ဒေတာ (primary data) ဟုခေါ်ပြီး ဒေတာကို အများပြည်သူ အသုံးပြုရန် မူရင်း ရင်းမြစ်မှ စုဆောင်းထားသော ဒေတာကို ဒုတိယဒေတာ (secondary data) ဟုခေါ်သည်။ ဥပမာအားဖြင့် သစ်တောတောတွင် သိပ္ပံပညာရှင်များ စောင့်ကြည့်မှတ်တမ်းများကို စုဆောင်းပါက ၎င်းသည် ပထမဦးဆုံး ဒေတာ ဖြစ်ပြီး အခြား သိပ္ပံပညာရှင်များနှင့် မျှဝေပင်ဆောင်ကိုင်ခြင်းဖြင့် အသုံးပြုသူများအတွက် ဒုတိယဒေတာ ဖြစ်လာသည်။
ီသင်ခန်းစာတွင် ကျွန်ုပ်တို့ သင်ယူခဲ့သည် -
ေတာဘေ့စ်များသည် ပုံမှန် ဒေတာအရင်းအမြစ်များဖြစ်ပြီး ဒေတာဘေ့စ်စီမံခန့်ခွဲမှု စနစ်တစ်ခုကို မူလတည် အဖြစ်ထားရှိကာ အသုံးပြုသူများသည် ဒေတာစူးစမ်းရန် ဆက်တင်များ (queries) ကို အသုံးပြုသည်။ ဖိုင်များသည် အသံ၊ ပုံရိပ်နှင့် ဗီဒီယိုဖိုင်များဖြင့် ဖြစ်နိုင်သလို Excel ကဲ့သို့ စာရင်းဇယားများလည်း ဖြစ်နိုင်သည်။ အင်တာနက်ရင်းမြစ်များမှာ ဒေတာတင်ဆောင်ရန်မြေပုံလမ်းကြောင်းများဖြစ်သောကြောင့် ဒေတာဘေ့စ်များနှင့် ဖိုင်များကို ရနိုင်သည်။ အထူးပြုဖန်တီးထားသည့် application programming interfaces (APIs) သည် ပရိုဂရမ်မာများအား အင်တာနက်မှတဆင့် ပြင်ပအသုံးပြုသူများနှင့် ဒေတာမျှဝေရန် နည်းလမ်းများ ဖန်တီးရန် ခွင့်ပြုသည်။ ဝက်ဘ်စာမျက်နှာမှဒေတာကို ဆွဲထုတ်ခြင်းသည် web scraping ဟု ခေါ်သည်။ [Working with Data](../../../../../../../../../2-Working-With-Data) တွင် ဒီလို အမျိုးမျိုးသော ဒေတာရင်းမြစ်များကို ဘယ်လို သုံးရမယ်ဆိုတာ အာရုံစိုက်တင်ပြထားသည်။
- ဒေတာဆိုတာ ဘာလဲ
- ဒေတာကို ဘယ်လို ဖော်ပြထားသလဲ
- ဒေတာကို ဘယ်လို အမျိုးအစားခွဲထားသလဲ
- ဒေတာကို ဘယ်နေရာတွင် ရှာဖွေနိုင်သလဲ
## နိဂုံးချုပ်
ဤသင်ခန်းစာတွင် ကျွန်ုပ်တို့ သင်ယူခဲ့သည်မှာ -
- ဒေတာဆိုသည်မှာ အဘယ်နည်း
- ဒေတာကို ဘယ်လိုဖော်ပြသည်
- ဒေတာကို ယေဘူယျပြုပြင်ခြင်းနှင့် အမျိုးအစားခွဲခြင်း
- ဒေတာကို ဘယ်နေရာတွင် ရနိုင်သည်
## 🚀 စိန်ခေါ်မှု
Kaggle သည် ဖွင့်လွှင့်ထားသော ဒေတာအချက်အလက်စုစည်းမှုများရရှိနိုင်သော အကောင်းဆုံးရင်းမြစ်တစ်ခုဖြစ်သည်။ [dataset search tool](https://www.kaggle.com/datasets) ကို အသုံးပြု၍ စိတ်ဝင်စားဖွယ် ဒေတာအချက်အလက်စုစည်းမှုများကို ရှာဖွေပြီး အောက်ပါအတိုင်း ၃-၅ ခုကို အမျိုးအစားခွဲပါ-
Kaggle သည် အသုံးပြုရန်ကောင်းမွန်သော ဖွင့်လှစ် ဒေတာစုစည်းမှုများ ရနေရာဖြစ်သည်။ [dataset search tool](https://www.kaggle.com/datasets) ကို အသုံးပြုကာ စိတ်ဝင်စားဖွယ် ဒေတာစုစည်းမှု ၃ မှ ၅ ခု ရှာဖွေ၍ အောက်ပါ အချက်အလက်များဖြင့် အမျိုးအစား ခွဲခြားပါ -
- ဒီဒေတာသည် အရေအတွက် ဒေတာလား၊ အရည်အသွေး ဒေတာလား?
- ဒီဒေတာသည် ဖွဲ့စည်းထားသည်၊ မဖွဲ့စည်းထားသည့် ဒေတာလား၊ ဒါမှမဟုတ် အဝတ်အစုံ ဖွဲ့စည်းပုံ ရှိသည့် ဒေတာလား?
## [စာသင်ခန်းပြီးနောက် စစ်တမ်း](https://ff-quizzes.netlify.app/en/ds/quiz/5)
- ဒေတာသည် Quantitative သို့မဟုတ် Qualitative ဖြစ်ပါသလား?
- ဒေတာသည် Structured, Unstructured သို့မဟုတ် Semi-structured ဖြစ်ပါသလား?
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
- Microsoft Learn unit [Classify your Data](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) သည် structured, semi-structured, unstructured data အကြောင်းကို အသေးစိတ်ဖော်ပြထားသည်။
- Microsoft Learn ၏ [Identify data formats](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) အတန်း တစ်ခုတွင် ဖွဲ့စည်းထားသော၊ အဝတ်အစုံ ဖွဲ့စည်းထားသောနှင့် မဖွဲ့စည်းထားသော ဒေတာများ၏ ဖော်ပြချက်အသေးစိတ်ပါဝင်သည်။
## လုပ်ငန်းတာဝန်
## တာဝန်
[Classifying Datasets](assignment.md)
---
**အကြောင်းကြားချက်**:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ပြောကြားချက်**
ဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ စက်ကိရိယာဘာသာပြန်ခြင်းများတွင် အမှားများ သို့မဟုတ် မှားယွင်းချက်များ ပါဝင်နိုင်ကြောင်း သတိပြုပါရန် လိုအပ်ပါသည်။ မူလစာတမ်းကို မူရင်းဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အချက်အလက်အဖြစ် သတ်မှတ်သင့်သည်။ အရေးကြီးသည့် သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်သူဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုကွာခြားမှုများ သို့မဟုတ် မမှန်ကန်သော အသုံးပြုမှုများအတွက် ကျွန်ုပ်တို့ တာဝန်မခံပါ။
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -4,8 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction to Probability and Statistics\n",
"ဒီ notebook မှာ ကျွန်ုပ်တို့ ယခင်က ဆွေးနွေးခဲ့သော အတော်များများ အကြောင်းအရာတွေကို စမ်းသပ်ဖော်ပြရမယ်။ Probability နှင့် statistics တွင် အသုံးပြုကြတဲ့ အဓိက concepts များကို Python ၏ data processing အတွက် အသုံးဝင်သော `numpy` နှင့် `pandas` စတဲ့ library များထဲမှာ ကောင်းစွာ ကိုယ်စားပြုထားပါတယ်။\n"
"# အလားအလာနှင့် စာရင်းအင်း၏ မိတ်ဆက်\n",
"ဤ notebook တွင် ကျွန်ုပ်တို့သည် ယခင်က ဆွေးနွေးခဲ့သော အကြောင်းအရာများကို ချောင်းစစ်ကြည့်မည်ဖြစ်သည်။ အလားအလာနှင့် စာရင်းအင်း၏ အယူအဆများစွာကို Python မှ data processing အတွက် အဓိက libraries များဖြစ်သည့် `numpy` နှင့် `pandas` စသည့် libraries တွင် ကောင်းစွာ ကိုယ်စားပြုထားသည်။\n"
]
},
{
@ -24,8 +24,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Random Variables and Distributions\n",
"0 မှ 9 အထိ တညီတညွတ်ဖြန့်ဝေမှုမှ တန်ဖိုး 30 ခုထွက်ယူကြစို့။ ကြောင်းနှင့် အလွန်အကျွံကိုလည်းတွက်ချက်မယ်။\n"
"## လူမႈဗဟုသုတသေတ္တာႏွင့္ ဖြန္႔ၿဖိဳးမႈမ်ား\n",
"0 မွ 9 အတြင္း တူညီလႊမ္းေ၀မႈဖြန္႔ၿဖိဳးမႈမွ တန္ဖိုး 30 ခန္႔ကို ရွာေဖြျခင္းျဖင့္စတင္မည္။ အေသးစိတ္အရ ပ်င္းေက်ာ္ႏႈန္းႏွင့္ အလိုက္အျမစ္မ်ားကိုလည္း ရွာေဖြမည္။\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"နမူနာထဲမှာ မတူတဲ့ တန်ဖိုးများ ဘယ်နှစ်ခု ရှိနိုင်တယ်ဆိုတာကို မြင်မြင်ကွင်းကွင်း ခန့်မှန်းဖို့၊ **ဟစ္စ်တိုဂရမ်** ကို ပုံဆွဲနိုင်ပါတယ်။\n"
"စမ်းနမူနာတွင် ဘယ်လောက် အမျိုးမျိုးသောတန်ဖိုးများ ရှိနေသည်ကို မျက်မြင်ကြည့်၍ ခန့်မှန်းရန်အတွက်၊ ကျွန်ုပ်တို့သည် **histogram** ကို ပလော့နိုင်သည်။\n"
]
},
{
@ -61,9 +61,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## တကယ့်ဒေတာကို စိစစ်ခြင်း\n",
"## အမှန်တကယ်ဒေတာကို စုစမ်းသုံးသပ်ခြင်း\n",
"\n",
"အမှန်တကယ်ရှိသော ဒေတာကို စိစစ်ရာတွင် ပျမ်းမျှတန်ဖိုးနှင့် ကွာဟမှုသည် အလွန်အရေးပါတ်သည်။ [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights) မှ ဘေ့စ်ဘောကစားသမားများဆိုင်ရာ ဒေတာကို ထည့်သွင်းကြည့်လိုက်ပါစို့။\n"
"အမှန်တကယ်ရှိသောဒေတာကို စုစမ်းသုံးသပ်ရာတွင် ပျမ်းမျှနှင့်အမျိုးမျိုးခြားနားမှုသည် အရေးကြီးပါသည်။ [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights) မှ ဘေ့စ်ဘောကစားသမားများ၏ဒေတာကိုတွေ့ဆုံကြည့်ကြရအောင်။\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> ဤနေရာတွင် ဒေတာ phân tích အတွက် [**Pandas**](https://pandas.pydata.org/) ဟုခေါ်သော package ကို အသုံးပြုနေပါသည်။ ဤသင်ကြားမှုပိုင်းတွင် Python ဖြင့် Pandas နှင့် ဒေတာနှင့်ဆက်စပ်၍ ပိုမိုဆွေးနွေးသွားမည်ဖြစ်သည်။\n",
"> ဒီမှာ ဒေတာခွဲခြမ်းစိတ်ဖြာမှုအတွက် [**Pandas**](https://pandas.pydata.org/) ဆိုတဲ့ package ကို အသုံးပြုနေပါတယ်။ ဒီသင်တန်းမှာ နောက်ပိုင်းမှာ Pandas နဲ့ Python မှာ ဒေတာနဲ့အလုပ်လုပ်ပုံအကြောင်း ပိုမိုပြောဆိုသွားမှာဖြစ်ပါတယ်။\n",
"\n",
"အသက်၊ အရွယ်အစားနှင့် အလေးချိန်တို့အတွက် ပျမ်းမျှတန်ဖိုးများကိုတွက်ချက်ကြပါစို့-\n"
"အသက်၊ အမြင့်နဲ့ ကိုယ်အလေးချိန်တို့ရဲ့ ပျမ်းမျှတန်ဖိုးတွေကို တွက်ကြည့်ကြပါစို့။\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ယခု ကျွန်ုပ်တို့ စိတ်ဝင်စားရမည့်အချက်မှာ အမြင့်ဖြစ်ပြီး၊ စံချိန်လွှာနှင့် အနည်းငယ်ကြောင်းကိုတွက်ချက်ကြမည်။\n"
"ယခု ကျွန်ုပ်တို့သည် အမြင့်အပေါ် စူးစမ်း၍ စံချိန်ကွာခြားမှုနှင့် ကွာဟမှုကိုတွက်ချက်မည်။ \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"အလယ်ချိန်ထက် ပိုမိုတရားဝင်သည်မှာ အလယ်တန်းတန်ဖိုးနှင့် ခွဲခြားချက်များကိုလည်း ကြည့်ရှုသင့်သည်။ ၎င်းတို့ကို **box plot** ကို အသုံးပြု၍ မြင်ကွင်းဖော်ပြနိုင်သည်။\n"
"အလယ်တန်းတန်ဖိုး (mean) နှင့်အတူ၊ အလယ်ဗဟိုတန်ဖိုး (median) နှင့် သုံးလပိုင်းတန်ဖိုးများ (quartiles) ကိုကြည့်ရန်အရမ်းအရေးကြီးသည်။ ၎င်းတို့ကို **ပုဒ်တင်ဇယား (box plot)** အသုံးပြု၍မြင်နိုင်ပါသည်။\n"
]
},
{
@ -136,7 +136,7 @@
"outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.boxplot(df['Height'].ffill(), orientation='horizontal', showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@ -146,7 +146,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ကျွန်ုပ်တို့၏ ဒေတာစုစည်းမှု၏ အပိုင်းအစများမှ ဥပမာအားဖြင့် ကစားသမား အခန်းကဏ္ဍအလိုက် အုပ်စုဖွဲ့ထားသော ဘူးကွက်ပုံများကိုလည်း ဖန်တီးနိုင်ပါသည်။\n"
"ကျွန်ုပ်တို့၏ဒေတာစနစ်၏ ကိုယ်စားပြုအစုများကိုလည်း ဘောက်စ်ပလိုတ်များအဖြစ် ပြုလုပ်နိုင်ပြီး၊ ဥပမာအားဖြင့် ကစားသမားရဲ့အခန်းကဏ္ဍအလိုက် အသားပေးခွဲခြားနိုင်သည်။\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **မှတ်ချက်**: ဒီဇယားက ပုံမှန်အားဖြင့် ပထမသူကစားသမားများရဲ့ အမြင့်တွေက ဒုတိယသူကစားသမားများရဲ့ အမြင့်တွေထက် ပိုမြင့်နေလို့ ဖြစ်ပါတယ်ဆိုတာကို ပြထားပါတယ်။ နောက်ပိုင်းမှာ ဒီထင်မြင်ချက်ကို ပိုတိကျစွာ စမ်းသပ်နည်းနဲ့ ဒီအချက်အလက်တွေက စာရင်းဇယားအနေနဲ့ အရေးပါတဲ့ ဒေတာဆိုတာ ဘယ်လိုသက်သေပြနိုင်ကြောင်း ကို သင်ယူကြမယ်။ \n",
"> **မှတ်ချက်**: ဤပုံစံသည် ပျမ်းမျှအားဖြင့် ပထမဆုံးထားသည့်ဘေစ်စမင်များ၏ အမြင့်များသည် ဒုတိယထားသည့်ဘေစ်စမင်များ၏ အမြင့်များထက် မြင့်မားကြောင်းကို သရုပ်ပြသည်။ နောက်ပိုင်းတွင် ဤသီအိုရီကို ပိုမိုတိကျစွာ စမ်းသပ်နိုင်မည့်နည်းကိုလည်း သင်ယူမည်ဖြစ်ပြီး၊ ဤဒေတာသည် သင်္ချာဆိုင်ရာ အဓိပ္ပာယ်ရှိကြောင်း သက်သေပြပုံကိုလည်း ရှင်းပြသွားမည်ဖြစ်ကြောင်း သင်ယူမည်ဖြစ်သည်။\n",
"\n",
"အရွယ်အစား၊ အမြင့်နဲ့ အလေးချိန်တွေက အဆက်မပြတ် ဖြစ်နိုင်တဲ့ အလိုအလျောက်ပြောင်းလဲသည့် အမျိုးအစားဖြစ်ပါတယ်။ ဒါတို့ရဲ့ ဖြန့်ချိမှုကို သင်ဘာတွေးပါသလဲ? တန်ဖိုးတွေကို ရေနွှမ်းစားပုံဖေါ်ခြင်း (histogram) ရေးဆွဲဖော်ပြတာက ရှာဖွေသိရှိဖို့ အကောင်းဆုံးနည်းလမ်းတစ်ခုဖြစ်ပါတယ်။\n"
"အသက်၊ အမြင့်နှင့် အလေးချိန်တို့သည် အဆက်မပြတ် ဖြစ်နိုင်သော ပြောင်းလဲမှုများဖြစ်သည်။ ၎င်းတို့၏ ဖြန့်ဖြူးမှုသည် မည်သို့ ဖြစ်မည်ဟု ထင်ပါသနည်း? တန်ဖိုးများ၏ ဟစ်တိုဂရမ်ကို ရေးဆွဲခြင်းသည် သိရှိနိုင်ရန် ကောင်းမွန်သော နည်းလမ်းတစ်ခုဖြစ်သည်။\n"
]
},
{
@ -188,9 +188,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normal Distribution\n",
"## ပုံမှန် ဖြန့်ဝေမှု\n",
"\n",
"ကျွန်ုပ်တို့၏ အမှန်တကယ်ဒေတာနှင့် တူညီသော အရွယ်အစားရေတွက်နှင့် ရေရှည်လျော့နည်းမှုကို လိုက်နာသည့် ပုံမှန်ဖြန့်ဝေမှုတစ်ခုအတိုင်း အတုတစ်ခုကို ဖန်တီးကြစို့။\n"
"ကျွန်ုပ်တို့ရဲ့ အမှန်တကယ် ဒေတာနဲ့ တူညီတဲ့ မီနျးနှင့် သရုပ်ခန့်နှုန်းရှိတဲ့ ပုံမှန် ဖြန့်ဝေမှုတစ်ခုကို လိုက်နာသည့် ကိန်းချိန်သေတ္တာတစ်ခုကို ပြုလုပ်ကြရအောင်။\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"အမှန်တကယ်ဘဝမှာ တန်ဖိုးအများစုဟာ ပုံမှန်ဖြန့်ဖြူးထားတာဖြစ်လို့ နမူနာဒေတာတွေထုတ်ဖို့မှာ တူညီတန်ဖိုး ရှိတဲ့ ကျပန်းရှေ့ဆက်ဂျင်နရေးတာကို သုံးခွင့်မရှိပါဘူး။ uniform distribution ကိုသုံးပြီး အလေးချိန်တွေကို ထုတ်ဖို့ ကြိုးစားရင် (np.random.rand နဲ့ ထုတ်ထားတာ) ဖြစ်တာက ဒီလိုဖြစ်ပါတယ်။\n"
"ဘဝမှာ အများဆုံးတန်ဖိုးတွေဟာ ပုံမှန်ဖြန့်ဖြူးထားကြလိုတော့၊ စမ်းသပ်ဒေတာ ထုတ်လုပ်ဖို့ uniform random number generator ကို သုံးသင့်မဟုတ်ပါဘူး။ uniform distribution နဲ့ ကိုယ်အလေးချိန်တွေထုတ်လုပ်ဖို့ ကြိုးစားရင် အဖြစ်အပျက်မှာ ဖြစ်တတ်တာကဒီလိုပါ ( `np.random.rand` နဲ့ ထုတ်လုပ်ထားတာ)။\n"
]
},
{
@ -251,9 +251,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ယုံကြည်မှု အကြားကွာဟမှုများ\n",
"## ယုံကြည်မှု အကွာအဝေးများ\n",
"\n",
"အခုတော့ ဘေ့စ်ဘောကစားသမားများ၏ အလေးချိန်နှင့် အမြင့်အတွက် ယုံကြည်မှု အကြားကွာဟမှုများကိုတွက်ချက်ကြမည်။ ကျွန်ုပ်တို့သည် [ဒီ stackoverflow ဆွေးနွေးချက်မှ](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data) ကိုဒ်ကိုအသုံးပြုမည်။\n"
"ယခုအခါ ဂိမ်းကစားသမားများ၏ အလေးချိန်နှင့် အရှည်တို့အတွက် ယုံကြည်မှု အကွာအဝေးများကို တွက်ချက်ကြမည်။ ကျနော်တို့သည် ကုဒ်ကို [ဤ stackoverflow ဆွေးနွေးမှုမှ](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data) အသုံးပြုမည်ဖြစ်သည်။\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -280,9 +280,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hypothesis Testing\n",
"## သံသယစမ်းသပ်ခြင်း\n",
"\n",
"ကျွန်ုပ်တို့၏ဘေ့စ်ဘောကစားသူများဒေတာသိုက်တွင် သုံးဆောင်သော တာဝန်များကို ရှာဖွေကြမည်။\n"
"ကျွန်ုပ်တို့၏ဘေ့စ်ဘောကစားသမားဒေတာစုစည်းမှုအတွင်း မတူကွဲပြားသော အခန်းကဏ္ဍများကို ရှာဖွေကြည့်ရအောင်။\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ပထမဦးဆုံး ဘေ့စ်မန်များသည် ဒုတိယဦးဆုံး ဘေ့စ်မန်များထက် ပိုရှည်လျားကြောင်း အယူအဆကို စမ်းသပ်ကြည့်ပါစို့။ ဤအယူအဆကို စစ်ဆေးရန် အလွယ်တကူနည်းလမ်းမှာ ယုံကြည်စိတ်ချမှုအကြောင်းအရာများကို စစ်ဆေးခြင်းဖြစ်သည်။\n"
"ပထမမြောက် ဘေ့စ်မင်များသည် ဒုတိယမြောက် ဘေ့စ်မင်များထက် များမြင့်ကြောင်း သီအိုရီကို စမ်းသပ်ကြည့်လိုပါစို့။ ဒါကို လုပ်ဖို့အတွက် ရိုးရှင်းဆုံး နည်းလမ်းမှာ ယုံကြည်မှု အတွင်းခွင့်များကို စမ်းသပ်ခြင်းဖြစ်ပါတယ်။\n"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"အစီအစဉ်များသည် ထပ်တွဲမှုမရှိကြောင်း တွေ့မြင်ရပါသည်။\n",
"ကျွန်ုပ်တို့သည် အချိန်ကာလများ မတူညီကြောင်း တွေ့နိုင်ပါသည်။\n",
"\n",
"သရုပ်ပြချက်ကို ပိုမိုမှန်ကန်စွာ သက်သေပြရန် အဆင့်မြင့် ထုတ်ပြန်မှုမှာ **Student t-test** ကို အသုံးပြုခြင်းဖြစ်သည်။\n"
"အယူအဆကို အတည်ပြုရန် စာရင်းအင်းပိုမို မှန်ကန်သောနည်းလမ်းမှာ **Student t-test** ကို အသုံးပြုခြင်း ဖြစ်ပါသည်။\n"
]
},
{
@ -338,18 +338,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"`ttest_ind` function က ပြန်လာတဲ့ တန်ဖိုး နှစ်ခုကတော့ -\n",
"* p-value က နှစ်ခုရဲ့ distribution တူညီတဲ့ mean တန်ဖိုးကြားရှိနိုင်မှု ရာခိုင်နှုန်းအနေနဲ့ယူဆနိုင်ပါတယ်။ ကျွန်တော်တို့မှာတော့ ကျယ်လွန်တဲ့ အထောက်အထားတွေ ရှိတယ်ဆိုတာကို ရှင်းပြတာပါ၊ ဒါကြောင့် ပထမဆုံး baseman တွေဟာ ပိုပြီးပါးစပ်ကြီးတယ်လို့ ဆိုနိုင်ပါတယ်။\n",
"* t-value က t-test တွင် အသုံးပြုတဲ့ normalized mean difference ရဲ့ အလယ်အလတ်တန်ဖိုးဖြစ်ပြီး အဆိုပါ confidence value အတွက် သတ်မှတ်ထားတဲ့ နံပါတ်တန်ဖိုးနဲ့ နှိုင်းယှဉ်ကြည့်ပါတယ်။\n"
"`ttest_ind` function က ပြန်လည်ပေးသော တန်ဖိုးနှစ်ခုမှာ -\n",
"* p-value ကို အလားအလာအဖြစ် ကျော်ကြားသော မိန်းနှစ်ခုဟာ ပြန်လည်တက်သော တူညီသော အလိုတူတူရှိမရှိနှင့် ဆက်နွယ်သည်ဟု မှတ်သတ်နိုင်သည်။ ကျွန်ုပ်တို့ကိစ္စတွင် အလွန်နည်းပါးသောအရာဖြစ်ပြီး၊ ပထမဆုံး basemen တွေ ပိုမြင့်သည်ဆိုသော အထောက်အထား အလွန်ခိုင်မာကြောင်းကို ပြောသည်။\n",
"* t-value သည် t-test တွင် သုံးသော normalized mean difference ၏ အလယ်တန်းတန်ဖိုးဖြစ်ပြီး၊ သတ်မှတ်ထားသော ယုံကြည်မှုတန်ဖိုးအတွက် threshold တန်ဖိုးနှင့် နှိုင်းယှဉ်သည်။\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Central Limit Theorem ဖြင့် ပုံမှန်ဖြန့်ဝေမှုကို နမူနာဖန်တီးခြင်း\n",
"## အလယ်ဗဟို ကန့်သတ်ချက် သီအိုရီဖြင့် ပုံမှန်ဖြန့်ဖြူးမှုကို အတုယူခြင်း\n",
"\n",
"Python မှာ pseudo-random generator ကို uniform distribution ပေးဖို့ ဒီဇိုင်းလုပ်ထားပါတယ်။ ပုံမှန်ဖြန့်ဝေမှုအတွက် generator ဖန်တီးချင်ရင်၊ central limit theorem ကို အသုံးပြုနိုင်ပါတယ်။ ပုံမှန်ဖြန့်ဝေမှုတန်ဖိုးကို ရဖို့ uniform-generated နမူနာတစ်ခုရဲ့ အလယ်တန်းကိုတွက်ချက်ပေးရမယ်။\n"
"Python အတွင်းရှိ အတုအစွန်းထုတ်ယူပေးသူသည် uniform ဖြန့်ဖြူးမှုပေးရန်ဒီဇိုင်းရေးဆွဲထားသည်။ ပုံမှန်ဖြန့်ဖြူးမှုအတွက် generator တစ်ခု ဖန်တီးလိုပါက အလယ်ဗဟို ကန့်သတ်ချက် သီအိုရီကို အသုံးပြုနိုင်သည်။ ပုံမှန်ဖြန့်ဖြူးသော တန်ဖိုးတစ်ခုရရန် အသုံးပြုသူသည် uniform ဖြန့်ဖြူးသည့် စမ်းသပ်ဖြင့် ပျမ်းမျှတန်ဖိုးကို တွက်ချက်ပေးရန်သာ လိုအပ်မည်။\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ဆက်စပ်မှုနှင့် မကောင်းသော ဘေ့စ်ဘော ကော်ပိုရေးရှင်း\n",
"## ဆက်စပ်မှုနှင့် လူပုန် Baseball Corp\n",
"\n",
"ဆက်စပ်မှုသည် ဒေတာအစဉ်များအကြား ဆက်နွယ်မှုများကို ရှာဖွေရန် အခွင့်အလမ်းပေးသည်။ ကျွန်ုပ်တို့၏ ကစားစက်ဥပမာတွင် မကောင်းသော ဘေ့စ်ဘော ကော်ပိုရေးရှင်းတစ်ခုရှိပြီး ၎င်းသည် ကစားသမားများဆီကို အမြင့်အလိုက် လစာပေးနေသည်ဟု သဘောထားကြရအောင် - ကစားသမားမှာ မြင့်မားသမျှ အပိုငွေများကို ရရှိမည်။ မူလလစာ $1000 ရှိပြီး၊ အမြင့်ပမာဏအပေါ်မူတည်၍ $0 မှ $100 အထိ အပိုအားသာငွေ ရရှိနိုင်သည် ဟု သတ်မှတ်ကြသည်။ ကျွန်ုပ်တို့ MLB မှ တကယ့်ကစားသမားများကို ယူပြီး သူတို့၏ ဟောင်းသော လစာများကိုတွက်မည်။\n"
"ဆက်စပ်မှုက ကျွန်ုပ်တို့အား ဒေတာ စီးရီးများအကြား ဆက်နွယ်မှုကို ရှာဖွေရန် ခွင့်ပြုသည်။ ကျွန်ုပ်တို့၏ ကလေးကစားနမူနာတွင် လူပုန် Baseball ကော်ပိုရေးရှင်းတစ်ခုရှိပြီး ကစားသမားများ၏အမြင့်အတိုင်း ငွေကြေးပေးဆောင်သောကြေညာကြပါစို့ - ကစားသမားအမြင့်ပိုများလျှင် ပိုမိုငွေ ရရှိမည်။ အခြေခံလစာ $1000 ရှိပြီး၊ အမြင့်အပေါ် မှီ၍ $0 မှ $100 အထိ ပိုလစာ ရရှိနိုင်ပါသည်။ MLB မှ ကိုယ်တိုင် ကစားသမားများကို ယုံကြည်ပါသည်၊ ၎င်းတို့၏ မစွဲလမ်းသော လစာကိုတွက်ချက်ကြမည်။\n"
]
},
{
@ -384,7 +384,7 @@
"metadata": {},
"outputs": [],
"source": [
"heights = df['Height'].fillna(method='pad')\n",
"heights = df['Height'].ffill()\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@ -393,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ယခုဆိုရင် ဤအဆက်စပ်များ၏ ကိုဗားရီးယားနှင့် ကိုယ်စားပြုချက်အား တွက်ချက်ကြမည်။ `np.cov` သည် ကျွန်ုပ်တို့အား အဆိုပါ **ကိုဗားရီးယား မက်ထရစ်စ်** ကို ပေးမည်ဖြစ်ပြီး၊ ၎င်းမှာ များပြားသော မည့်သည့် ပြောင်းလဲမှုများအတွက် ကိုဗားရီးယား၏ ဖြည်းဖြည်းချင်း စွဲသုံးမှုတစ်ခုဖြစ်ပါသည်။ ကိုဗားရီးယား မက်ထရစ်စ် $M$ ၏ အတိုင်းအတာ $M_{ij}$ သည် ထည့်သွင်းမည့် ပြောင်းလဲမှုများ $X_i$ နှင့် $X_j$ တို့အကြား ကိုယ်စားပြုချက်ဖြစ်ပြီး၊ ကွက်တိပေါ်ရှိ တန်ဖိုးများ $M_{ii}$ သည် $X_{i}$ ၏ မတည်ငြိမ်မှုဖြစ်သည်။ သဘောတူညီ၍ `np.corrcoef` သည် ကျွန်ုပ်တို့အား **ကိုယ်စားပြုချက် မက်ထရစ်စ်** ကို ပေးမည်ဖြစ်သည်။\n"
"ယခုအခါ ၎င်းသက်ဆိုင်ရာလိုက်လျောမှုများ၏ covariance နဲ့ correlation ကိုတွက်ဆကြမယ်။ `np.cov` က ကျွန်တော်တို့ကို **covariance matrix** လို့ခေါ်တဲ့ matrix တစ်ခုကို ပေးပါလိမ့်မယ်၊ ဒါဟာ covariance ကို မတူညီတဲ့ပြောင်းလဲနိုင်မှုအနေနဲ့ တိုးချဲ့ထားတာပါ။ covariance matrix $M$ ရဲ့ အခြေခံအစိတ် $M_{ij}$ က input ပြောင်းလဲနိုင်မှု $X_i$ နဲ့ $X_j$ အကြား သက်ဆိုင်မှု ဖြစ်ပါတယ်၊ ဒါ့အပြင် diagonal မှာရှိတဲ့ $M_{ii}$ တွေက $X_{i}$ ရဲ့ variance ဖြစ်ပါတယ်။ အလားတူပဲ `np.corrcoef` က ကျွန်တော်တို့ကို **correlation matrix** ကို ပေးပါလိမ့်မယ်။\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ကိုယ်စားပြုတန်ဖိုး 1 နှင့်တူညီသည်ဆိုသည်မှာ အမျိုးအစားနှစ်ခုအကြား ပြင်းထန်သော **လိုင်နာဆက်စပ်မှု** ရှိသည်ကို ဆိုလိုသည်။ တန်ဖိုးတစ်ခုအား တစ်ခုကို အဆင့်လိုက်ထိုးပြခြင်းဖြင့် လိုင်းဆက်စပ်မှုကို ကိုယ်ရည်အသိပိုင်းဖြင့် တွေ့မြင်နိုင်ပါသည်။\n"
"ကိုယ်စားပြုချက်တစ်ခု ၁ နှင့်တူညီသည်မှာ ဤပြသာနာနှစ်ခုအကြား **ဇယားလိုက် ဆက်နွယ်မှု** ပြင်းထန်ကြောင်းကို ဖော်ပြသည်။ တန်ဖိုးတစ်ခုကို အခြားတန်ဖိုးနှင့် ထိုးမြှောက်ခြင်းအားဖြင့် ဇယားလိုက် ဆက်နွယ်မှုကို မြင်တွေ့နိုင်သည်။\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"အဆက်အဆံမျိုးသည် လိုင်းနစ်မဟုတ်ပါက ဘာတွေဖြစ်မလဲဆိုတာ ကြည့်ကြရအောင်။ ကျွန်ုပ်တို့၏ကုမ္ပဏီသည် အမြင့်နှင့် လစာအကြား ရိုးရှင်းသော လိုင်းနစ်ဆက်နှင့်မှုကို ဖုံးကွယ်ရန်ဆုံးဖြတ်ခဲ့ပြီး၊ `sin` ကဲ့သို့သော အမျိုးအစား မလိုင်းနစ်မျိုးကို ဖော်မြူလာထဲသို့ ထည့်သွင်းခဲ့သည်ဟု ယူဆပါစို့။\n"
"ဆက်နွယ်မှုသည် လိုင်းဟာရ မဖြစ်ပါက ဖြစ်ပေါ်လာနိုင်သည့်အခြေအနေကို ကြည့်ကြရအောင်။ ကျွန်ုပ်တို့၏ ကော်ပိုရေးရှင်းသည် အမြင့်နှင့် လစာများ အကြား အလွယ်တကူ တွက်နိုင်သော လိုင်းဟာရ လှုပ်ရှားမှုကို ဖုံးကွယ်ရန်ဆုံးဖြတ်ခဲ့ပြီး၊ `sin` ကဲ့သို့သော မလိုင်းဟာရ အစိတ်အပိုင်းတစ်ခုကို ဖော်ထုတ်ခဲ့သည်ဟု သတ်မှတ်ကြပါစို့။\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ဒီအခါမှာ ဆက်စပ်မှုက စာနည်းနည်းသာ လျော့နည်းနေတာ ဖြစ်ပေမယ့် အရမ်းမြင့်မားနေဆဲ ဖြစ်ပါတယ်။ အခုတော့ ဆက်စပ်မှုကို နည်းနည်း မသေချာအောင်လုပ်ဖို့ အလုပ်ခကို စိတ်ကူးမဲ့ အမျိုးအစားတစ်ခု ထည့်ပြီး အလှည့်အပြောင်း ပိုမိုတွေ့လာစေချင်တယ်။ ဘာဖြစ်လာမလဲ ကြည့်ကြရအောင်။\n"
"ဤအဖြစ်တွင် ဆက်စပ်မှုသည် နည်းနည်းနည်းသောဖြစ်ပေမယ့် များမြင့်ဆဲဖြစ်သည်။ ယခုတွင် ဆက်နွယ်မှုကို နည်းနည်း ပို၍ ပွားသိပ်ရှင်းမှုမရှိအောင် ဝင်ငွေသို့ ကျပ်တည်းမှုအပိုဖြစ်စေသော အလိုမရှိသော သို့မဟုတ် ရွေးချယ်ခြင်း မရှိသည့် အပြောင်းအလဲအချိုးအစားတစ်ခု ထည့်သွင်းလိုပါက ဖြစ်လာမည့်အခြေအနေကို ကြည့်ကြရအောင်- \n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> အကြောင်းမှာ အမှတ်လေးတွေက ဒီလို ထောင့်စောင်းလိုက်တယ်ဆိုတာ ကို နှုတ်ဆက်မtightရနိုင်လား?\n",
"> ဒီအတိုင်း ဒါ့နောက် အဝိုင်းလေးတွေဟာ ထောင့်တန်းလိုက် စုစည်းထားတာ ဘာကြောင့်လဲ ထင်နိုင်ပါသလား?\n",
"\n",
"ကျွန်ုပ်တို့သည် လစာကဲ့သို့ အသုံးပြုမှုဖြင့် ထိန်းချုပ်ထားသောအကြောင်းအရာနှင့် ကြည့်ရှုသောအခြေအနေ* အမြင့်* ၏တွဲဖက်မှုကို တွေ့ရှိခဲ့ပြီးဖြစ်သည်။ ထို့အပြင်၊ အမြင့်နှင့် ဝန်အားကဲ့သို့ ကြည့်ရှုသောအခြေအနေ နှစ်ခုလုံးအကြားလည်း တွဲဖက်မှုရှိမရှိကိုကြည့်လိုက်ကြပါစို့။\n"
"ကျွန်ုပ်တို့က လစာလို အတုအယောင်ထုတ် ထုတ်လုပ်ထားတဲ့ အယူအဆတစ်ခုနဲ့ မှတ်သားထားတဲ့ အမျိုးအစား *ထောင့်* အကြား ဆက်စပ်မှုကို တွေ့ရှိနိုင်ခဲ့ပါတယ်။ ထို့အပြင် ထောင့်နဲ့ အလေးချိန်ကဲ့သို့သော မှတ်သားထားတဲ့ အမျိုးအစား နှစ်ခုမှာလည်း ဆက်စပ်မှု ရှိမရှိ ကြည့်လိုက်ကြရအောင်။\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ကံမကောင်းစွာဖြင့် ကျွန်ုပ်တို့ အရာများအတွက် ရလဒ် မရရှိကြပါဘူး - အတိုင်းအတာ `nan` အနည်းငယ်သာ ရှိနေပါတယ်။ ၎င်းမှာဖြစ်ရခြင်းမှာ ကျွန်ုပ်တို့၏ series အချို့၏ တန်ဖိုးများသည် အမည်မသိဖြစ်၍ `nan` အဖြစ် ဖော်ပြထားသလို ဖြစ်သည်၊ ၎င်းကြောင့် အလုပ်လုပ်ပုံရလဒ်လည်း အမည်မသိ ဖြစ်နေသည်။ matrix ကို ကြည့်မယ်ဆိုရင် `Weight` ကန့်သတ်သော ကော်လံဖြစ်ကာ၊ `Height` တန်ဖိုးများအကြား ကိုယ်တိုင် အချိုးအစားချက်ကို တွက်ချက်ပြီးဖြစ်သည်ကို မြင်ရသည်။\n",
"မန္တလေး၊ ကျွန်ုပ်တို့သည် ရလဒ်အနည်းငယ်မရရှိခဲ့ပါ - `nan` တစ်ချို့သာ ရှိသည်။ ၎င်းသည် ကျွန်ုပ်တို့၏ စီးရီးအချို့တွင် အတိအကျမသတ်မှတ်ထားသော တန်ဖိုးများရှိပြီး၊ ၎င်းကို `nan` ဖြင့်ဖော်ပြထားသည်၊ ၎င်းသည် လုပ်ဆောင်ချက်ရလဒ်ကိုလည်း အတိအကျမသတ်မှတ်နိုင်စေသည်။ မက်ထရစ်စ်အကြောင်းကြည့်ရှုသည်မှာ `Weight` သည် ပြဿနာရှိသော ကော်လံဖြစ်သည်၊ ကာလအတွင်း `Height` တန်ဖိုးများအကြား ကိုယ်တွဲဆက်နွယ်မှုကိုတွက်ချက်ပြီးဖြစ်သည်။\n",
"\n",
"> ဤနမူနာသည် **ဒေတာပြင်ဆင်ခြင်း** နှင့် **ရှင်းလင်းခြင်း** ၏ အရေးကြီးမှုကို ပြသသည်။ သင့်တော်သော ဒေတာ မရှိဘဲနဲ့ ကိစ္စရာ များကို တွက်ချက်၍ မရနိုင်ပါ။\n",
"> ဤဥပမာသည် **ဒေတာပြင်ဆင်ခြင်း** နှင့် **သန့်ရှင်းခြင်း** ၏ အရေးပါမှုကို ပြသသည်။ သင့်တော်သော ဒေတာမရှိပါက အရာဝတ္ထုကိုမတွက်ချက်နိုင်ပါ။\n",
"\n",
"`fillna` နည်းလမ်းကို အသုံးပြု၍ လိုအပ်သော တန်ဖိုးများကို ဖြည့်ပြီး အချိုးအစားချက်ကို တွက်ချက်ကြမယ်။\n"
"ကွက်လပ်တန်ဖိုးများကို ဖြည့်ရန် `fillna` နည်းလမ်းကို အသုံးပြု၍ ကိုယ်တွဲဆက်နွယ်မှုကိုတွက်ချက်ကြပါစို့ - \n"
]
},
{
@ -507,14 +507,14 @@
"metadata": {},
"outputs": [],
"source": [
"np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
"np.corrcoef(df['Height'].ffill(), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"တကယ်တော့ ဆက်စပ်မှုတစ်ခုရှိပါသည်၊ သို့သော် ကျွန်ုပ်တို့လုပ်ဆောင်ထားသော လူမှုရိုက်ထွဲထားသော ဥပမာကဲ့သို့ ပြင်းထန်မှု မရှိပါ။ တကယ်လို့ တန်ဖိုးတစ်ဖက်ကို တစ်ဖက်နှင့် ဆက်စပ်မှုရှိမှုကို scatter plot မှ ဖြတ်သွားကြည့်ပါက၊ ဆက်စပ်မှုမှာ ပိုသေးငယ်ပြီး မမြင်သာနိုင်ပါ။\n"
"တကယ်တော့ ဆက်နွယ်မှုတစ်ခုရှိပါတယ်၊ ဒါပေမယ့် ကျွန်တော်တို့ရဲ့ စက်မှုလုပ်ငန်းနမူနာအတိုင်း မဟုတ်ပါတယ်။ တကယ်လို့ တစ်ခုစီတန်ဖိုးနှစ်ခုအကြား စကက်တာပလာကို ကြည့်မယ်ဆိုရင် ဆက်နွယ်မှုဟာ ပိုပြီးရှင်းလင်းမှုနည်းပါတယ်။ \n"
]
},
{
@ -535,16 +535,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## နိဂုံးချုပ်\n",
"## 결론\n",
"\n",
"ဤ notebook တွင် ဒေတာပေါ်တွင် အခြေခံအလုပ်ဆောင်မှုများကို စာရင်းပြုလုပ်ကာ သင်္ချာနဲ့ စာရင်းဆိုင်ရာ ဖွင့်ဆိုချက်များကို တွက်ချက်နိုင်ရန် သင်ကြားခဲ့ရသည်။ ကျွန်ုပ်တို့တွင် သင်္ချာနည်းပညာနှင့် စာရင်းဆိုင်ရာနည်းလမ်းများကို အသုံးပြု၍ အယူအဆတချို့ကို သက်သေပြရန်နှင့် ဒေတာနမူနာအား အခြေခံကာ ပြောင်းလဲနိုင်သော အလားအလာဆိုင်ရာ များအတွက် ယုံကြည်မှု အကွာအဝေးများကို တွက်ချက်နည်းကို လည်း ယခုသိရှိလာခဲ့ပါပြီ။\n"
"ဤမှတ်စုစာအုပ်၌ ဒေတာပေါ်တွင် အခြေခံလုပ်ဆောင်ချက်များကို ဆောင်ရွက်၍ သင်္ချာဆိုင်ရာ နည်းပြချက်များတွက်ချက်နည်းကို ကျွန်ုပ်တို့ သင်ယူခဲ့ပါသည်။ ယခု ကျွန်ုပ်တို့တွင် သင်္ချာနှင့် စာရင်းအင်းနည်းဗေဒများ၏ သဘောတရားများကို သက်သေပြရန် နှင့် ဒေတာနမူနာတစ်ခု အပေါ်မှ ကွဲပြားသော အပြောင်းအလဲများအတွက် ယုံကြည်မှု ကွေ့ဟွေ့များတွက်ချက်နည်းကို သိရှိပါပြီ။\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**သတိပေးချက်** \nဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှုဖြစ်သော [Co-op Translator](https://github.com/Azure/co-op-translator) ဖြင့် ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မှန်ကန်မှုမရှိမှုများ ဖြစ်ပေါ်နိုင်ကြောင်း သတိပြုပါရန် ဖိတ်ခေါ်ပါသည်။ မူလစာရွက်စာတမ်းကို မိခင်ဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အရင်းအမြစ်အဖြစ် ထင်ရှားစွာ သတ်မှတ်ရမည်ဖြစ်သည်။ အရေးကြီးသော အချက်အလက်များအတွက် အသက်မွေး၀မ်းကြောင်းအတတ်ပညာရှင်များ၏ လူသားဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုရာတွင် ဖြစ်ပေါ်လာသော နားလည်မှားယွင်းမှုများ သို့မဟုတ် မှားယွင်းဖော်ပြချက်များအတွက် ကျွန်ုပ်တို့သည် တာဝန်ယူလျက်မရှိပါ။\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ပာကြားချက်**\nဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ စက်ကိရိယာဘာသာပြန်ခြင်းများတွင် အမှားများ သို့မဟုတ် မှားယွင်းချက်များ ပါဝင်နိုင်ကြောင်း သတိပြုပါရန် လိုအပ်ပါသည်။ မူလစာတမ်းကို မူရင်းဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အချက်အလက်အဖြစ် သတ်မှတ်သင့်သည်။ အရေးကြီးသည့် သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်သူဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုကွာခြားမှုများ သို့မဟုတ် မမှန်ကန်သော အသုံးပြုမှုများအတွက် ကျွန်ုပ်တို့ တာဝန်မခံပါ။\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -568,12 +568,6 @@
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
},
"coopTranslator": {
"original_hash": "0f899e3c5019f948e7c787b22f3b2304",
"translation_date": "2026-01-16T21:23:35+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "my"
}
},
"nbformat": 4,

@ -4,11 +4,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# COVID-19 ကပ်ရောဂါကာလ ခန့်မှန်းခြေ\n",
"# COVID-19 ကပ္ေရာဂါေပါက္ေပၚမႈ ခန္႔မွန္းခ်က္\n",
"\n",
"## ဒေတာတင်သွင်းခြင်း\n",
"## ဒေတာ ေလွ်ာက္သည္\n",
"\n",
"ကျွန်ုပ်တို့သည် [Johns Hopkins တက္ကသိုလ်](https://jhu.edu/) တွင်ရှိသော [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) မှ ပံ့ပိုးထားသော COVID-19 ကူးစက်ခံရသူများဆိုင်ရာ ဒေတာကို အသုံးပြုမည်ဖြစ်သည်။ ဒေတာစုစည်းမှုကို [ဤ GitHub Repository](https://github.com/CSSEGISandData/COVID-19) မှ တွေ့ှိနိုင်ပါသည်။\n"
"ကျနော်တို့ ဖိုင်သွင်းထားပြီးသား [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) သည် [Johns Hopkins University](https://jhu.edu/) တွင် COVID-19 တွက်မှုရှိသူများအကြောင်း ဒေတာကို အသုံးပြုမှာ ဖြစ်သည်။ ဒေတာစာရင်းကို [this GitHub Repository](https://github.com/CSSEGISandData/COVID-19) မှ ရနိုင်သည်။\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ကျွန်ုပ်တို့သည် GitHub မှ တိုက်ရိုက် `pd.read_csv` ကိုအသုံးပြု၍ နောက်ဆုံးရ ဒေတာကို လွယ်ကူစွာ ဖော်ထုတ်နိုင်သည်။ အကယ်၍ ဒေတာမရရှိနိုင်ပါက၊ နေရာဒေသဆိုင်ရာတွင်ရှိသော `data` ဖိုလ်ဒါထဲမှ မိတ္တူကို အမြဲ အသုံးပြုနိုင်သည် - `base_url` ကို သတ်မှတ်ထားသော အောက်ပါ အတန်းကို အမှတ်မထား စစ်ဆေးရမည်။\n"
"ကျွန်ုပ်တို့သည် GitHub မှ နောက်ဆုံးသိမ်းဆည်းထားသည့် ဒေတာကိုတိုက်ရိုက် `pd.read_csv` ကိုအသုံးပြုကာ တင်နိုင်သည်။ ဤဒေတာကို သတ်မှတ်ထားသောအကြောင်းတစ်စုံတစ်ရာကြောင့် ရနိုင်မလာပါက `data` ဖိုလ်ဒါတွင်ရှိသော ဒေတာ မိတ္တူကို အမြဲအသုံးပြုနိုင်ပါသည် - အောက်ပါ `base_url` ကို သတ်မှတ်ထားသော လိုင်းကို uncomment လုပ်၍ အသုံးပြုနိုင်ပါသည်။\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ယခုအခါ ကူးစက်ခံရသူများအတွက် ဒေတာကို တင်ပြီး ဒေတာက ဘယ်လို ပုံစံရှိတယ်ဆိုတာ ကြည့်ကြရအောင်။\n"
"အခုတော့ ရောဂါပိုးတွေ ကူးစက်ထားတဲ့ လူတွေ အတွက် ဒေတာကို ယူပြီး ဒေတာက ဘယ်လိုပုံစံရှိသလဲ ကြည့်ကြမယ်။\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ကျွန်ုပ်တို့ မြင်နိုင်သည်မှာ အဲဒီဇယားအတွင်း တစ်ခုချင်းစီသောတန်းလိုင်းများသည် နိုင်ငံများ နှင့်/သို့မဟုတ် ပြည်နယ်များအလိုက် ကူးစက်ခံရသူ အရေအတွက်ကို သတ်မှတ်ထားပြီး ကော်လံများသည် ရက်စွဲများကို ကိုယ်စားပြုနေသည်။ ကောင်းမွန်ပြီးပြန်လည်သက်သာလာသူ အရေအတွက် နှင့် သေဆုံးသူ အရေအတွက်ကဲ့သို့သော အခြားဒေတာများအတွက်လည်း ဤကဲ့သို့ ဇယားပုံစံများ ကိုလွယ်ကူစွာ ရယူနိုင်ပါသည်။\n"
"အတန်းတိုင်းသည် နိုင်ငံတစ်နိုင်ငံသို့မဟုတ် တိုင်းဒေသကြီးတိုင်းအတွက် ကူးစက်ခံရသူများရေကို သတ်မှတ်ထားပြီး ကော်လံများသည် ရက်စွဲများနှင့် သက်ဆိုင်ကြောင်း ကျွန်ုပ်တို့မြင်နိုင်ပါသည်။ ပြန်လည်ကောင်းမွန်သူများ စသည့် အချက်အလက်များအတွက်လည်း တူညီသည့် ဇယားများ ကိုင်တွယ်နိုင်ပါသည်။\n"
]
},
{
@ -284,7 +284,7 @@
"source": [
"## ဒေတာကို နားလည်ခြင်း\n",
"\n",
"အထက်ပါဇယားမှ မြို့နယ်ကော်လံ၏ အခန်းကဏ္ဍ မရှင်းရှင်းလင်းလင်းမထင်ပါ။ `Province/State` ကော်လံတွင် ရှိသော ကွဲပြားသောတန်ဖိုးများကို ကြည့်ကြရအောင်။\n"
"အထက်ပါဇယားမှ `Province/State` ကော်လံ၏ အခန်းကဏ္ဍ မရှင်းလင်းပါ။ `Province/State` ကော်လံထဲမှာ ရှိနေတဲ့ တန်ဖိုးများကို ကြည့်ကြရအောင်။\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"နာမည်များမှ ကျွန်ုပ်တို့ ပြည့်စုံစွာ ခွဲခြားထားသော ပြည်နယ်များအလိုက် အကြောင်းအရာ ပိုမိုစုံလင်သည့် နိုင်ငံများမှာ ဩစတြေးလျ နှင့် တရုတ်နိုင်ငံဖြစ်ကြောင်း ခန့်မှန်းနိုင်ပါသည်။ ဥပမာကြည့်ရန် တရုတ်နိုင်ငံအကြောင်း အချက်အလက်များကို ရှာဖွေကြရအောင်။\n"
"နာမည်တွေပေါ်မှာ အခြေခံပြီးတော့ အောစတြေးလျနိုင်ငံနဲ့ တရုတ်နိုင်ငံလို နိုင်ငံတွေမှာ ပြည်နယ်အလိုက် အသေးစိတ် ခွဲခြားဖော်ပြချက်များ ရှိကြောင်း သတ်မှတ်နိုင်ပါတယ်။ ဥပမာကြည့်ဖို့အတွက် တရုတ်နိုင်ငံဆိုင်ရာ သတင်းအချက်အလက်ကို ရှာကြည့်ကြမယ်။\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Data ကို ကြိုတင်ပြင်ဆင်ခြင်း\n",
"## ဒေတာ ကြိုတင်သတ်မှတ်ခြင်း \n",
"\n",
"ကျွန်ုပ်တို့သည် နိုင်ငံများကို နယ်မြေရေးအပိုင်းများသို့ ပိုမခွဲထုတ်လိုခြင်းမရှိပါ၊ ထို့ကြောင့် ဤခွဲထုတ်မှုကို ရှင်းလင်း၍ နယ်မြေအားလုံးအတွက် အချက်အလက်များကို ပေါင်းစည်းပြီး နိုင်ငံတစ်နိုင်ငံလုံးအတွက် အချက်အလက်ကို ရယူပါမည်။ ၎င်းကို `groupby` ကို အသုံးပြု၍ ဆောင်ရွက်နိုင်သည်။\n"
"ကျွန်ုပ်တို့သည် နိုင်ငံများအား နောက်ထပ် နယ်မြေများအဖြစ် ခွဲခြားရန်စိတ်ဝင်စားခြင်းမရှိသဖြင့် ဤခွဲခြားမှုကို ပထမဦးဆုံး ဖယ်ထုတ်ပြီး နယ်မြေများအားလုံးအတွက် သတင်းအချက်အလက်များကို ပေါင်းစည်း ထည့်သွင်း၍ တစ်နိုင်ငံလုံးအတွက် သတင်းအချက်အလက် ရယူလိုပါသည်။ ၎င်းကို `groupby` ကို အသုံးပြုပြုလုပ်နိုင်သည်။\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"`groupby` ကို အသုံးပြုမှုကြောင့် DataFrame များအားလုံးကို ယခု Country/Region အလိုက် index များစွာဖြင့် ပြထားသည်ကို သင်မြင်နိုင်သည်။ ထို့ကြောင့် အထူးနိုင်ငံတစ်နိုင်ငံ၏ ဒေတာကို `.loc` ကို အသုံးပြု၍ ရယူနိုင်ပါသည်။|\n"
"`groupby` ကိုအသုံးပြု၍ DataFrame အားလုံးကို Country/Region အားဖြင့် အညွှန်းပြုထားကြောင်း တွေ့မြင်ရပါသည်။ ထို့ကြောင့် ထူးခြားသောနိုင်ငံတစ်နိုင်ငံအတွက်ဒေတာကို `.loc` ကိုသုံး၍ရယူနိုင်သည်။|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **မှတ်ချက်** ဤနေရာတွင် `[3:]` ကို အသုံးပြုပြီး မပြည့်စုံသောရက်စွဲ metadata (ပြည်နယ်/ပြည်နယ်နှင့် ဂီအိုလိုကေးရှင်း ကော်လံများ) ပါသော အစဉ်၏ ပထမဆုံးအချက်သုံးခုကို ဖယ်ရှားသည်ကို သတိပြုပါ။ ဤသုံးခု ကော်လံများကိုလည်းစုစုပေါင်း ဖယ်ရှားနိုင်သည်။\n"
"> **အကြံပြုချက်** ကျွန်ုပ်တို့ `[3:]` ကို သုံးပြီး ခရီးစဉ်တစ်ခုရှိ မနေ့စွဲနဲ့ ဆက်စပ်မယ့် မဟုတ်သော အချက်အလက်များ (တိုင်းဒေသကြီး/ပြည်နယ်နဲ့ တည်နေရာ သတင်းအချက်အလက်ကော်လံများ) တွေကို ပထမဆုံး၃ခု ဖယ်ရှားတာကို မှတ်မိထားပါ။ ကျွန်ုပ်တို့ အဲဒီအားလုံး ၃ ကော်လံကိုလည်း လုံးဝ ဖယ်ရှားလို့ရပါသည်။\n"
]
},
{
@ -1625,9 +1625,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ဒေတာကို စုံစမ်းလေ့လာခြင်း\n",
"## ဒေတာများကို စူးစမ်းခြင်း\n",
"\n",
"အခုတော့ တိတိကျကျ နိုင်ငံတစ်နိုင်ငံကို စုံစမ်းလေ့လာကြည့်ကြပါစို့။ ရက်စွဲအလိုက် ရောဂါပိုးတွေ ခြယ်မှုအချက်အလက်တွေ ပါဝင်တဲ့ frame တစ်ခု ဖန်တီးကြပါစို့။\n"
"ယခု ကျနော်တို့ တိကျသော နိုင်ငံတစ်နိုင်ငံကို စူးစမ်းကြည့်ရအောင်။ ရက်စွဲဖြင့် အညွှန်းပြု၍ သက်ဆိုင်ရာ ကူးစက်ရောဂါဒေတာ ပါဝင်သော ဖရိမ်တစ်ခုကို ဖန်တီးကြမယ်-\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ယနေ့တိုင်းနစ်သူရောဂါပိုးသစ်များအရေအတွက်ကိုတွက်ချက်ကြပါစို့။ ၎င်းသည် ကပ်ရောဂါက ကျရောက်မှု မြန်နှုန်းကို ကြည့်ရှုနိုင်ရန် အတွက်ဖြစ်သည်။ ဆောင်ရွက်ရ လွယ်ကူဆုံးနည်းကတော့ `diff` ကို အသုံးပြုခြင်းဖြစ်သည်။\n"
"အခုတော့ တစ်နေ့ရက်စီအသစ်ကူးစက်ခံရသူ ဦးရေကိုတွက်ကြမယ်။ ဒါကြောင့် ကပ်ရောဂါတိုးတက်မှုအရှိန်ကိုမြင်နိုင်မှာဖြစ်ပါတယ်။ အလွယ်တကူဆုံး နည်းလမ်းကတော့ `diff` ကိုသုံးတာပါ:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ဒေတာအတွင်း တွန်းတက်မှုများပြင်းထန်နေခြင်းကို တွေ့ရသည်။ လများအနက် တစ်လကို နီးကပ်စွာ ကြည့်ကြရအောင် -\n"
"ဒေတာမှာ အလွန်ကြီးမားတဲ့ လှုပ်လှုပ်ရှားရှားတွေကိုတွေ့ရပါတယ်။ တစ်လကအစိတ်အပိုင်းတစ်ခုကိုနီးကပ်စွာကြည့်ကြည့်ရအောင်။ \n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ဒေတာထဲတွင် အပတ်စဉ် လှုပ်ရှားမှုများ ရှိနေသည်ကို ထင်ရှားစွာတွေ့ရသည်။ ကျွန်ုပ်တို့ သည် ပုံစံများကို မြင်နိုင်ရန်လိုသောကြောင့်၊ လေ့လာမှုလိုင်းကို မြှုပ်ကွယ်စေရန် ရှေ့သတင်းများအပေါ် တွတ်အားဖြင့် ပျမ်းမျှသတ်မှတ်ခြင်း (running average) တွက်ချက်သင့်သည် (ဥပမာ- တစ်နေ့ချင်းစီအတွက် နောင်တစ်လုံးအကြာအနည်းငယ်ရှိသော ယခင်ရက်အချို့၏ ပျမ်းမျှတန်ဖိုးကို တွက်ချက်မည်)။\n"
"ဒေတာတွေထဲမှာ အပတ်စဉ်လှုပ်ရှားမှုတွေ သဘာဝကျပြီး တွေ့ရတာ ပုံပေါက်ပါတယ်။ ညွှန်ပြချက်တွေကို တွေ့မြင်နိုင်ဖို့ အတွက်၊ မျဉ်းကွမ်းကို တိမ်ညိုစေဖို့ အကြိုပြသသော ရက်အတောအတွင်း တုံ့ပြန်မှု ပျမ်းမျှတွက်ချက်ခြင်းဖြင့် (တစ်ရက်ချင်းစီအတွက် နောက်ဆုံးရက်အတောအတွင်းရဲ့ ပျမ်းမျှတန်ဖိုးကိုတွက်ချက်ပါမည်) သေချာစွာလုပ်ဆောင်သင့်သည်။\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"နိုင်ငံများအတော်များများကိုနှိုင်းယှဥ်နိုင်ရန်အတွက်၊ နိုင်ငံ၏အနေအထားကိုတွေးရန်လိုအပ်သည်၊ ၎င်းနှင့်အတူ နိုင်ငံ၏လူဦးရေကိုတွက်ချက်ပြီး ထိုနည်းဖြင့် ရောဂါပိုးထိုးခံရသည့်သူများ၏ရာခိုင်နှုန်းကိုနှိုင်းယှဥ်နိုင်မည်ဖြစ်သည်။ နိုင်ငံ၏လူဦးရေကိုရရှိရန်အတွက် နိုင်ငံများ၏ဒေတာစနစ်ကိုအားဖြည့်လိုက်ပါစို့။\n"
"နိုင်ငံများ အနည်းငယ်ကို နှိုင်းယှဉ်နိုင်ရန်အတွက်၊ အဆိုပါနိုင်ငံ၏ ပြည်သူဦးရေကို စဥ်းစားချင်နိုင်ပြီး၊ အနှောက်အယှက် ရောဂါရောဂါဖြစ်ပွားသူများ၏ ရာခိုင်နှုန်းကို အဆိုပါနိုင်ငံ၏ ပြည်သူဦးရေနှင့် နှိုင်းယှဉ်ကြည့်လိုတတ်သည်။ နိုင်ငံ၏ ပြည်သူဦးရေကို ရယူရန်အတွက်၊ နိုင်ငံသတ္တုအချက်အလက်စုနှင့် ဒေတာစနစ်ကို load လုပ်ကြမယ်။\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ဒီဒေတာစုစည်းမှုမှာ နိုင်ငံနှင့် ပြည်နယ်များနှင့်ပတ်သက်သော သတင်းအချက်အလက်များ ပါဝင်သောကြောင့်၊ တစ်နိုင်ငံလုံး၏ လူဦးရေကို ရယူရန်အတွက် သိပ္ပံနည်းနည်း စတိမ်းတင်ရပါမည်။\n"
"ဒီဒေတာစုစည်းမှုမှာ နိုင်ငံများနဲ့ ပြည်နယ်များအချက်အလက်တွေပါဝင်လို့ တစ်နိုင်ငံလုံး၏ လူဦးရေကို ရရှိဖို့အတွက် ကျွန်တော်တို့ နည်းနည်း စွမ်းရည်ရှိရန်လိုပါတယ်။ \n"
]
},
{
@ -2261,15 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Computing $R_t$\n",
"\n",
"ရောဂါကူးစက်မှုအား သိရန်အတွက် **မူလပျံ့နှံ့မှုနံပါတ်** $R_0$ ကို ကြည့်ရှုသည်၊ ၎င်းသည် ကူးစက်ရောဂါရှိသူ တစ်ဦးမှ ထပ်မံ ကူးစက်မည့် လူအရေအတွက်ကို ပြသည်။ $R_0$ သည် 1 ထက် များလျှင် ကပ်ရောဂါ ပျံ့နှံ့နိုင်ခြေ ရှိသည်။\n",
"## $R_t$ ကိုတွက်ချက်ခြင်း\n",
"\n",
"$R_0$ သည် ရောဂါ၏ ကိုယ်ပိုင်အချက်ဖြစ်၍ လူများက ကပ်ရောဂါ ကို နှောင့်နှေးစေခြင်းအတွက်ယူဆောင်သည့် ကာကွယ်ဆေးခြင်းများကို တွက်ချက်မထားပါ။ ကပ်ရောဂါ လျှောက်လည်နေစဉ်တွင်၊ เวลา $t$ တွင် ပျံ့နှံ့မှုနံပါတ် $R_t$ ကို ခန့်မှန်းနိုင်သည်။ ဤနံပါတ်ကို ရက် ၈ ရက် အတွင်းတွင် ခန့်မှန်း၍ ထွက်နိုင်သည်ဟု သက်သေပြထားပြီး၊ ကြိုတင် သတ်မှတ်ချက်မှာ \n",
"$$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"သို့ရသည်၊ ၎င်းတွင် $I_t$ သည် $t$ ရက်တွင် ကူးစက်ပြီးသူအသစ်များ၏ အရေအတွက်ဖြစ်သည်။\n",
"ရောဂါသည် ကူးစက်မှုရှိမှုကို ကြည့်ရှုရန်၊ ကျွန်ုပ်တို့သည် **အခြေခံ ပြန်လည်ပျံ့နှံ့မှု အရေအတွက်** $R_0$ ကိုကြည့်မည်ဖြစ်ပြီး၊ ၎င်းသည် ကူးစက်ခံရသူ တစ်ဦးမှ နောက်ထပ် ကူးစက်ခံရမည့် လူဦးရေကို ဖော်ပြသည်။ $R_0$ သည် ၁ ထက် များလျှင် ကူးစက်မှုလည်ပတ်မှု ရှိနိုင်သည်။\n",
"\n",
"ကျွန်ုပ်တို့၏ ကပ်ရောဂါ ဒေတာအတွက် $R_t$ ကိုတွက်ကြည့်ပါစို့။ ဤလုပ်ဆောင်ရန်အတွက် `ninfected` တန်ဖိုး ၈ ခု ပါသော သက်တမ်းတစ်သက် ပေါက်တစ်ခုကိုယူပြီး အထက်ဖော်ပြပါ အချိုးကိုတွက်ချက်ရန် function ကို အသုံးပြုမည်။\n"
"$R_0$ သည် ရောဂါ၏ ကိုယ်ပိုင် အင်္ဂါရပ် တစ်ခုဖြစ်ပြီး ရောဂါကြီးထွားမှုကို နှေးကွေးစေဖို့ လူများလုပ်နိုင်သည့် ကာကွယ်မှု လုပ်ပိုင်ခွင့်များကို မတွက်ချက်ပါ။ ကပ်ရောဂါ တိုးတက်မှုအတွင်းတွင် အချိန် $t$ မှာ ပြန်လည်ပျံ့နှံ့မှုအရေအတွက် $R_t$ ကို ကြည့်နိုင်သည်။ ၎င်းနံပါတ်ကို ၈ ရက်အတွင်း ရက်တစ်ခုချင်းစီ လေ့လာခြင်းဖြင့် နီးပါးတွက်ချက်နိုင်ကြောင်း ပြထားပြီး $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$ ဟုတွက်နိုင်သည်။\n",
"$I_t$ သည် $t$ ရက်၌ အသစ် ကူးစက်ခံရသော များအရေအတွက် ဖြစ်သည်။\n",
"\n",
"ကျွန်ုပ်တို့၏ ကပ်ရောဂါ ဒေတာအတွက် $R_t$ ကိုတွက်ကြည့်လိုက်ကြစို့။ ၎င်းဆောင်ရွက်ရာတွင် ၈ ရက်ကြာ အပြောင်းအလဲရှိသော `ninfected` တန်ဖိုးများကို ယူ၍ အထက်ပါ အချိုးကိုတွက်ချက်ရန် မှန်ကန်သည့် function ကို သုံးပါမည်။\n"
]
},
{
@ -2299,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"သင်သည် ဂရပ်တွင် အားလပ်နေသော အပိုင်းတစ်ချို့ရှိကြောင်းတွေ့မြင်နိုင်သည်။ ၎င်းများသည် `NaN` ဥပမာ၊ ဒေတာသိုလ်၌ `inf` တန်ဖိုးများရှိသော အခါ ဖြစ်ပေါ်နိုင်သည်။ `inf` သည် 0 ဖြင့် բաժခြင်းကြောင့်ဖြစ်နိုင်ပြီး `NaN` သည် ဒေတာမရှိခြင်း သို့မဟုတ် ရလဒ်တွက်ချက်ရန်ဒေတာမတွေ့ရှိခြင်းကို အဓိပ္ပာယ်ရသည် (ဥပမာ အစောပိုင်းတွင် rolling window အကျယ် 8 ကို မရရှိသေးခြင်းကဲ့သို့)။ ဂရပ်ကို ပိုမိုလှပအောင် ဖော်ပြရန် `replace` နှင့် `fillna` function များကို သုံး၍ ထိုတန်ဖိုးများကို ဖြည့်စွက်ရန် လိုအပ်သည်။\n",
"ဂရပ်မှာ အကြောင်းအရာခြားနားမှုအချို့ ရှိနေကြောင်း တွေ့မြင်နိုင်ပါတယ်။ ၎င်းတို့သည် `NaN` မှ ဖြစ်ပေါ်နိုင်ပြီး၊ ဒေတာစုစည်းမှု၌ `inf` တန်ဖိုးများပါဝင်လျှင်ဖြစ်ပေါ်နိုင်သည်။ `inf` သည် ဖြင့် ဗဟိုပြင်ခြင်းကြောင့် ဖြစ်နိုင်ပြီး၊ `NaN` သည် ဖွင့်ထားသောဒေတာမရှိခြင်း သို့မဟုတ် ရလဒ်တွက်ချက်ရန် လိုအပ်သည့်ဒေတာ မရှိခြင်းကို ဖော်ပြနိုင်သည် (ဥပမာ - ကျွန်ုပ်တို့ Frame ၏ အစပိုင်းမှာ ရှိသည့် ၈ ချ်အကျယ်ရှိသော rolling window မရရှိသေးသည့်အခါ)။ ဂရပ်ကို ပိုမိုသန့်ရှင်းသော လုပ်ရန် `replace` နှင့် `fillna` function များကို အသုံးပြုကာ ၎င်းတို့တန်ဖိုးများကို ဖြည့်စွက်ရမည်။\n",
"\n",
"ကပ်ရောဂါအစောပိုင်းကို ပိုမိုကြည့်ရှုကြပါစို့။ သင်္ကေတများကို ပိုမိုကြည့်ရှုနိုင်ရန်အတွက် y-axis တန်ဖိုးများကို 6 ထက်နည်းသော တန်ဖိုးများသာ ပြသရန် ကန့်သတ်ပြီး နှစ်မျဉ်းတန်းတူ ဆွဲဆိုင်ပါ။\n"
"ကပ်ရောဂါအစပိုင်းကို နောက်ထပ် စူးစမ်းကြည့်ကြမယ်။ ကြည့်ရလွယ်ကူစေရန်အတွက် y-axis တန်ဖိုးများကို ၆ ထက်နိမ့်သော တန်ဖိုးများသာ ပြသရန် ကန့်သတ်ပြီး၊ ထောင့်စွန်းလိုင်းကို ၁ တွင်ဆွဲကြမယ်။\n"
]
},
{
@ -2332,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ကပ်ရောဂါ၏ စိတ်ဝင်စားဖွယ် အညွှန်းတစ်ခုမှာ **ဆုတ် - လျှော့မှု** သို့မဟုတ် အကြိမ်ရေနှင့် **နေ့စဉ်ကွာခြားချက်** ဖြစ်သည်။ ၎င်းသည် ကပ်ရောဂါတိုးတက်နေခြင်း သို့မဟုတ် လျော့နည်းနေခြင်းကို ပိုမိုရှင်းလင်းစွာ မြင်နိုင်စေသည်။\n"
"ကပ်ရောဂါကာလရဲ့ စိတ်ဝင်စားဖွယ်အချက်ပြတစ်ခုကတော့ **ဒျရေးဗေးရှင်း** သို့မဟုတ် နေ့စဉ် ကွာခြားချက်ဖြစ်ပါတယ်။ ဒါက ကပ်ရောဂါတက်နေသည် မရောက်နေသည်ကို ပြန်အောင်မြင်စွာမြင်နိုင်စေပါတယ်။\n"
]
},
{
@ -2361,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"အစီရင်ခံသည့်အချက်အလက်များကြောင့် ဒေတာအတွင်း အပြောင်းအလဲများစွာဖြစ်ပေါ်နေခြင်းကိုမထင်ရှားကြောင်းတွင်၊ စီးရီးကိုပျမ်းမျှတက်မြောက်စေရန် rolling average ကိုအသုံးပြုခြင်းက စိတ်မကောင်းဖြစ်စေသည်။ ထပ်မံ၍ ကပ်ရောဂါ၏ ပထမအချိန်ကာလများအပေါ် အာရုံစိုက်ကြည့်ကြရအောင်။\n"
"သတင်းပို့ခြင်းကြောင့်ဒေတာများတွင်လှုပ်ရှားမှုများစွာရှိနေသောအလုပ်အမှုအချို့ရှိခြင်းဟာ၊ ပုံရိပ်စုစည်းပုံကိုရရှိရန် rolling average ကိုအသုံးပြုပြီး curve ကိုချောမွေ့ရန် အဓိကဖြစ်ဖွယ်ရှိသည်။ ပြန်လည် အာရုံစိုက်မည့်အချက်မှာ ကူးစက်ရောဂါပဋိပက္ခရဲ့ ပထမဆုံးလများပေါ်မှာ ဖြစ်ပါတယ်။ \n"
]
},
{
@ -2391,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Challenge\n",
"\n",
"ယခု သင်အတွက် ကုဒ်နှင့် ဒေတာဖြင့် ပိုမိုကစားရန် အချိန်ရောက်ပြီ ဖြစ်သည်! သင်စမ်းသပ်နိုင်သည့် အကြံပြုချက်အနည်းငယ်မှာ အောက်ပါအတိုင်းဖြစ်ပါသည်-\n",
"* ကမ္ဘာ့နိုင်ငံပေါင်းများစွာရှိ ကပ်ရောဂါပြန့်ပွားမှုကို ကြည့်ပါ။\n",
"* နိုင်ငံအမျိုးအစားစုံအတွက် $R_t$ ကွက်ပြ တစ်ခုတွင် နှိုင်းယှဉ်ရန်၊ သို့မဟုတ် ဘေးတစ်ဘက်ချင်းစီတွင် ကွက်များ ပြုလုပ်ရန်\n",
"* ကြေကွဲမှုနှင့် ကုသမှု အရေအတွက် သတ်မှတ်ထားသော ကူးစက်မှုအရေအတွက်နှင့် မည်သို့ ဆက်စပ်ကြောင်း ကြည့်ရှုရန်\n",
"* ရောဂါပုံစံအသွားအလာကို မျက်မြင်လက်ကိုင်ပြချက်ဖြင့် ကူးစက်နှုန်းနှင့် မတော်တဆမှုနှုန်းကို ဆွဲထုတ်၍ ပုံမှန်တစ်ခု ဘယ်လောက် ကြာမြင့်သနည်းကို ရှာဖွေရန်။ ထိုအကြောင်းသိရန် နိုင်ငံအမျိုးမျိုးကို ကြည့်ရှုရနိုင်သည်။\n",
"* သေဆုံးနှုန်းနှင့် ၎င်း၏ အချိန်အတိုင်းအတာအတွင်း ပြောင်းလဲမှုကိုတွက်ချက်ပါ။ ဂဏန်းစနစ်တွက်ချက်မှု မပြုလုပ်ခင်တွင် ရောဂါကြာမြင့်ချိန်ကို တစ်ခုသော အချိန်စီးကြောင်းအား ဘယ်သို့ရွေ့ရန် စဉ်းစားနိုင်ပါသည်။\n"
"## စိန်ခေါ်မှု\n",
"\n",
"ယခုအခါ သင်သည် ကုဒ်နှင့် ဒေတာဖြင့် ပိုမိုကစားရန် အချိန်ရောက်ပြီ ဖြစ်သည်! သင်စမ်းသပ်နိုင်သော အကြံပြုချက်အနည်းငယ်မှာ အောက်ပါအတိုင်း ဖြစ်သည်။\n",
"* ကမ္ဘာ၏ မတူညီသောနိုင်ငံများတွင် ရောဂါကူးစက်မှု ပြန့်ဆဲဖြစ်မှုကို ကြည့်ရှုပါ။\n",
"* နိုင်ငံအချို့အတွက် $R_t$ ကိန်းများကို တစ်ခုတည်းသော ပလော့ပေါ်တွင် သင်္ချိုင်းခြင်း၊ သို့မဟုတ် ဘေးဘက်တွင် အများအပြား ပလော့များ ဖန်တီးခြင်း။\n",
"* သေဆုံးမှုနှင့် ကုစားပြီးနောက်ဒေတာများသည် ရောဂါကူးစက်မှုနဲ့ မည်သို့ ထပ်တူညီမှုရှိသည်ကို ကြည့်ရှုပါ။\n",
"* ရောဂါပျက်ကွက်သက်တမ်း ရှာဖွေရန် infection rate နှင့် deaths rate ကို မြင်သာအောင် နှိုင်းယှဉ်ပြပြီး အနည်းငယ် ကွဲပြားမှုများ ရှာဖွေပါ။ ထိုအတွက် နိုင်ငံအမျိုးမျိုးကို ကြည့်ရန် လိုအပ်နိုင်သည်။\n",
"* သေဆုံးမှုနှုန်းကို တွက်ချက်ပြီး အချိန်အလိုက် မည်သို့အပြောင်းအလဲရှိသည်ကိုကြည့်ရှုပါ။ ရောဂါသက်တမ်းကို ရက်များဖြင့် တွက်ချက်ပြီး အချိန်တစ်စီးတွင် တစ်စီးခြားကို ရွေ့လိုက်ကာ တွက်ချက်နိုင်သည်။\n"
]
},
{
@ -2407,10 +2408,10 @@
"source": [
"## ကိုးကားချက်များ\n",
"\n",
"COVID တိုးတက်မှု ကူးစက်မှု တိုးပွားမှု ထပ်မံလေ့လာနိုင်သော စာအုပ်များမှာ အောက်ပါအတိုင်း ဖြစ်သည်- \n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), ဘလော့ဂ်ရေးသားမှုကို [Dmitry Soshnikov](http://soshnikov.com) မှရေးသားထားသည် \n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation of Time-Dependent Reproduction Number for Global COVID-19 Outbreak](https://www.preprints.org/manuscript/202006.0289/v1) *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1) \n",
"* [အထက်ဖော်ပြပါစာတမ်းအတွက် GitHub တွင် ကုဒ်](https://github.com/shwars/SlidingSIR)\n"
"COVID ကပ်ရောဂါဖြန့်ဖြူးမှုဆိုင်ရာ ထပ်မံလေ့လာချက်များကို အောက်ပါ ထုတ်ဝေချက်များတွင် ကြည့်ရှုနိုင်ပါသည်-\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), ဘလော့ဂ်ဆောင်းပါး - [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation of Time-Dependent Reproduction Number for Global COVID-19 Outbreak](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [အထက်ဖေါ်ပြပါစာတမ်းအား GitHub တွင် ရရှိနိုင်သည်](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2424,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**အသိပေးချက်** \nဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ဖြင့် ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားသည်ဖြစ်သော်လည်း အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သတိပြုပါ။ မူရင်းစာတမ်းကို မူရင်းဘာသာဖြင့်သာ တရားဝင်အရင်းအမြစ်အဖြစ် တွန်းကာ သတ်မှတ်ရန်လိုအပ်ပါသည်။ အရေးကြီးသော သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုမှုကြောင့် ဖြစ်ပေါ်သော နားလည်မှားယွင်းမှုများ သို့မဟုတ် မမှန်ကန်သော ယဉ်ကျေးမှုများအတွက် ကျွန်ုပ်တို့မှာ တာဝန်မယူပါ။\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ပာကြားချက်**\nဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ စက်ကိရိယာဘာသာပြန်ခြင်းများတွင် အမှားများ သို့မဟုတ် မှားယွင်းချက်များ ပါဝင်နိုင်ကြောင်း သတိပြုပါရန် လိုအပ်ပါသည်။ မူလစာတမ်းကို မူရင်းဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အချက်အလက်အဖြစ် သတ်မှတ်သင့်သည်။ အရေးကြီးသည့် သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်သူဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုကွာခြားမှုများ သို့မဟုတ် မမှန်ကန်သော အသုံးပြုမှုများအတွက် ကျွန်ုပ်တို့ တာဝန်မခံပါ။\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -1,31 +1,33 @@
# အန္တရာယ်များသော ဆက်ဆံရေးများ ဒေတာအမြင်ဖော်ပြမှု ပရောဂျက်
# Dangerous Liaisons ဒေတာဗွါချွေးရှင်းပရောဂျက်
စတင်ရန်အတွက် သင့်စက်တွင် NPM နှင့် Node ရှိနေကြောင်း သေချာစေပါ။ လိုအပ်သော dependencies များကို (npm install) ဖြင့် ထည့်သွင်းပြီး၊ ပရောဂျက်ကို ဒေသတွင်းတွင် (npm run serve) ဖြင့် လည်ပတ်ပါ။
စတင်ရန်အတွက်၊ သင့်စက်ပေါ်တွင် NPM နှင့် Node **>=20.0.0** တိုက်ရိုက်ပေါက်ထားကြောင်းအာမခံရပါမည်။ အခြေခံလိုအပ်ချက်များ (npm install) ကိုထည့်သွင်းပြီးနောက် ပရောဂျက်ကို ဒေသန္တရ (npm run serve) ဖြင့် ချပြပါ။
## ပရောဂျက် စတင်ခြင်း
## ပရောဂျက်တပ်ဆင်မှု
```
npm install
```
### ဖွံ့ဖြိုးရေးအတွက် compile လုပ်ပြီး hot-reload လုပ်ခြင်း
### ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ကုဒ်များကို တည်ဆောက်ပြီး အပူမြင့်ပြန်လည်သွင်းပါ
```
npm run serve
```
### ထုတ်လုပ်မှုအတွက် compile လုပ်ပြီး minify လုပ်ခြင်း
### ထုတ်လုပ်မှုအတွက် ကုဒ်များကို တည်ဆောက်ပြီး အနိမ့်ဆုံးဖြင့်ပြုလုပ်ပါ
```
npm run build
```
### ဖိုင်များကို lint လုပ်ပြီး ပြင်ဆင်ခြင်း
### ဖိုင်များအား ဖော်ထုတ် ပြင်ဆင်ပါ
```
npm run lint
```
### ဖွဲ့စည်းမှုကို စိတ်ကြိုက်ပြင်ဆင်ခြင်း
[Configuration Reference](https://cli.vuejs.org/config/) ကိုကြည့်ပါ။
### ပြင်ဆင်မှုများကို တိုးချဲ့ချိန်ညှိပါ
See [Configuration Reference](https://cli.vuejs.org/config/).
---
**ဝက်ဘ်ဆိုက်မှတ်ချက်**:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်ကြောင်း သတိပြုပါ။ မူလဘာသာဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတည်သော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလည်မှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ပြောကြားချက်**
ဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ စက်ကိရိယာဘာသာပြန်ခြင်းများတွင် အမှားများ သို့မဟုတ် မှားယွင်းချက်များ ပါဝင်နိုင်ကြောင်း သတိပြုပါရန် လိုအပ်ပါသည်။ မူလစာတမ်းကို မူရင်းဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အချက်အလက်အဖြစ် သတ်မှတ်သင့်သည်။ အရေးကြီးသည့် သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်သူဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုကွာခြားမှုများ သို့မဟုတ် မမှန်ကန်သော အသုံးပြုမှုများအတွက် ကျွန်ုပ်တို့ တာဝန်မခံပါ။
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,31 +1,33 @@
# အန္တရာယ်များသော ဆက်ဆံရေးများ ဒေတာအမြင်ဖော်ပြမှု ပရောဂျက်
# Dangerous Liaisons ဒေတာမြင်ကွင်းပရောဂျက်
စတင်ရန်အတွက် သင့်စက်တွင် NPM နှင့် Node ရှိနေကြောင်း သေချာစေပါ။ အလိုအလျောက်လိုအပ်သော library များကို (npm install) ဖြင့် ထည့်သွင်းပြီး၊ ပရောဂျက်ကို ဒေသတွင်းတွင် (npm run serve) ဖြင့် လည်ပတ်စေပါ။
စတင်အသုံးပြုရန်အတွက် NPM နှင့် Node **>=20.0.0** သင့်စက်တွင် တင်ထားပြီး ပြေးနေမှုရှိစေရန် သေချာစေရန်လိုအပ်သည်။ စနစ်ပေါင်းစည်းမှုများ (npm install) နောက်တစ်ဆင့် ပရောဂျက်ကို ဒေသစနစ်ပေါ်တွင် ပြေးရန် (npm run serve) လုပ်ဆောင်ပါ။
## ပရောဂျက် စတင်ခြင်း
## ပရောဂျက်စတင်ခြင်း
```
npm install
```
### ဖွံ့ဖြိုးရေးအတွက် compile လုပ်ပြီး hot-reload လုပ်ခြင်
### ဖန်တီးခြင်းနှင့် ဖွံ့ဖြိုးမှုအတွက် အပူပြန်ဖွင့်ချက်မျာ
```
npm run serve
```
### ထုတ်လုပ်မှုအတွက် compile လုပ်ပြီး minify လုပ်ခြင်း
### ထုတ်လုပ်ရေးအတွက် ဖိုင်များကို စုစည်းခြင်းနှင့် သေးငယ်စေခြင်း
```
npm run build
```
### ဖိုင်များကို lint လုပ်ပြီး အမှားပြင်ခြင်း
### ဖိုင်စစ်ဆေးခြင်းနှင့် ပြင်ဆင်ခြင်း
```
npm run lint
```
### ဖွဲ့စည်းမှုကို စိတ်ကြိုက်ပြင်ဆင်ခြင်း
[Configuration Reference](https://cli.vuejs.org/config/) ကို ကြည့်ပါ
### ပြင်ဆင်မှုများကို ညှိနှိုင်းခြင်း
ကြည့်ရှုရန် [Configuration Reference](https://cli.vuejs.org/config/)။
---
**ဝက်ဘ်ဆိုက်မှတ်ချက်**:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက်ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်ကြောင်း သတိပြုပါ။ မူလဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတည်သော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုမှားများ သို့မဟုတ် အဓိပ္ပါယ်မှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ပြောကြားချက်**
ဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ စက်ကိရိယာဘာသာပြန်ခြင်းများတွင် အမှားများ သို့မဟုတ် မှားယွင်းချက်များ ပါဝင်နိုင်ကြောင်း သတိပြုပါရန် လိုအပ်ပါသည်။ မူလစာတမ်းကို မူရင်းဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အချက်အလက်အဖြစ် သတ်မှတ်သင့်သည်။ အရေးကြီးသည့် သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်သူဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုကွာခြားမှုများ သို့မဟုတ် မမှန်ကန်သော အသုံးပြုမှုများအတွက် ကျွန်ုပ်တို့ တာဝန်မခံပါ။
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,8 +12,8 @@
"language_code": "uk"
},
"1-Introduction/01-defining-data-science/notebook.ipynb": {
"original_hash": "8f5eb7b3f7cc89e6d98fb32e1de65dec",
"translation_date": "2026-02-27T10:14:05+00:00",
"original_hash": "8eb07e3d899aaba7ea9c9ec9b5aa2850",
"translation_date": "2026-07-17T22:20:05+00:00",
"source_file": "1-Introduction/01-defining-data-science/notebook.ipynb",
"language_code": "uk"
},
@ -42,8 +42,8 @@
"language_code": "uk"
},
"1-Introduction/03-defining-data/README.md": {
"original_hash": "12339119c0165da569a93ddba05f9339",
"translation_date": "2025-09-05T20:03:37+00:00",
"original_hash": "7217c6f9eb464d4ff4bae6c036ab53cb",
"translation_date": "2026-07-17T22:24:40+00:00",
"source_file": "1-Introduction/03-defining-data/README.md",
"language_code": "uk"
},
@ -65,6 +65,12 @@
"source_file": "1-Introduction/04-stats-and-probability/assignment.md",
"language_code": "uk"
},
"1-Introduction/04-stats-and-probability/notebook.ipynb": {
"original_hash": "0c77e104b29c723287bf11b773fcc5d5",
"translation_date": "2026-07-17T22:21:17+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "uk"
},
"1-Introduction/README.md": {
"original_hash": "696a8474a01054281704cbfb09148949",
"translation_date": "2025-08-30T19:18:01+00:00",
@ -108,8 +114,8 @@
"language_code": "uk"
},
"2-Working-With-Data/07-python/notebook-covidspread.ipynb": {
"original_hash": "6335cccba01dc6ad7b15aba7a8c73f38",
"translation_date": "2026-02-27T10:15:35+00:00",
"original_hash": "da97f98781c7cd271063f605fe8d71d0",
"translation_date": "2026-07-17T22:19:31+00:00",
"source_file": "2-Working-With-Data/07-python/notebook-covidspread.ipynb",
"language_code": "uk"
},
@ -192,14 +198,14 @@
"language_code": "uk"
},
"3-Data-Visualization/13-meaningful-visualizations/solution/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-30T19:09:24+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:24:48+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/solution/README.md",
"language_code": "uk"
},
"3-Data-Visualization/13-meaningful-visualizations/starter/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-30T19:09:59+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:24:44+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/starter/README.md",
"language_code": "uk"
},

File diff suppressed because one or more lines are too long

@ -1,70 +1,71 @@
# Визначення даних
# Визначення Даних
|![Скетчноут від [(@sketchthedocs)](https://sketchthedocs.dev)](../../sketchnotes/03-DefiningData.png)|
|![ Sketchnote від [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|Визначення даних - _Скетчноут від [@nitya](https://twitter.com/nitya)_ |
|Визначення Даних - _Sketchnote від [@nitya](https://twitter.com/nitya)_ |
Дані — це факти, інформація, спостереження та вимірювання, які використовуються для відкриттів і підтримки обґрунтованих рішень. Точка даних — це окрема одиниця даних у наборі даних, який є колекцією точок даних. Набори даних можуть бути представлені в різних форматах і структурах, і зазвичай вони залежать від джерела, тобто від того, звідки походять дані. Наприклад, щомісячний дохід компанії може бути у вигляді таблиці, а дані про частоту серцевих скорочень за годину зі смарт-годинника можуть бути у форматі [JSON](https://stackoverflow.com/a/383699). Зазвичай дата-саєнтисти працюють із різними типами даних у межах одного набору даних.
Дані — це факти, інформація, спостереження та виміри, які використовуються для відкриттів і для підтримки обґрунтованих рішень. Точка даних — це окремий елемент даних у наборі даних, який є колекцією точок даних. Набори даних можуть мати різні формати та структури, і зазвичай залежать від їх джерела або того, звідки походять дані. Наприклад, місячні доходи компанії можуть зберігатися у електронній таблиці, а погодинні дані про частоту серцебиття з розумного годинника можуть зберігатися у форматі [JSON](https://stackoverflow.com/a/383699). Для науковців даних звично працювати з різними типами даних у межах одного набору.
Цей урок зосереджений на ідентифікації та класифікації даних за їх характеристиками та джерелами.
Цей урок зосереджений на визначенні та класифікації даних за їх характеристиками та джерелами.
## [Тест перед лекцією](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## [Передлекційне Опитування](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Як описують дані
## Як описуються дані
### Сирі Дані
Сирі дані — це дані, які надійшли зі свого джерела у початковому вигляді і не були проаналізовані або організовані. Щоб зрозуміти, що відбувається з набором даних, його потрібно організувати у формат, який можна зрозуміти людям, а також технологіям, які можуть далі аналізувати ці дані. Структура набору даних описує, як він організований, і може класифікуватися як структурований, неструктурований і напівавтоматизований. Ці типи структур варіюються залежно від джерела, але в кінцевому підсумку вписуються у ці три категорії.
### Сирі дані
Сирі дані — це дані, які надходять із джерела у своєму початковому стані і ще не були проаналізовані чи організовані. Щоб зрозуміти, що відбувається з набором даних, його потрібно організувати у формат, який буде зрозумілий як людям, так і технологіям, які вони можуть використовувати для подальшого аналізу. Структура набору даних описує, як він організований, і може бути класифікована як структурована, неструктурована або напівструктурована. Ці типи структури варіюються залежно від джерела, але зрештою вписуються в одну з трьох категорій.
### Кількісні Дані
Кількісні дані — це числові спостереження у наборі даних, які зазвичай можуть бути проаналізовані, виміряні та математично використані. Прикладами кількісних даних є: населення країни, зріст людини чи квартальні доходи компанії. З додатковим аналізом кількісні дані можна використати для виявлення сезонних тенденцій Індексу Якості Повітря (AQI) або оцінки ймовірності автомобільних заторів у звичайний робочий день.
### Кількісні дані
Кількісні дані — це числові спостереження в наборі даних, які зазвичай можна аналізувати, вимірювати та використовувати математично. Деякі приклади кількісних даних: населення країни, зріст людини або квартальний дохід компанії. З додатковим аналізом кількісні дані можуть бути використані для виявлення сезонних тенденцій індексу якості повітря (AQI) або оцінки ймовірності заторів у години пік у типовий робочий день.
### Якісні Дані
Якісні дані, також відомі як категоріальні дані, — це дані, які не можна виміряти об’єктивно, як це робиться з кількісними спостереженнями. Зазвичай це суб’єктивні дані в різних форматах, що відображають якість чогось, наприклад продукту або процесу. Іноді якісні дані числові, але їх зазвичай не використовують математично, як-от номери телефонів чи часові позначки. Прикладами якісних даних є: коментарі до відео, марка і модель автомобіля або улюблений колір близьких друзів. Якісні дані можна використати, щоб зрозуміти, які продукти подобаються споживачам, або визначити популярні ключові слова в резюме кандидатів.
### Якісні дані
Якісні дані, також відомі як категорійні дані, — це дані, які не можна виміряти об’єктивно, як кількісні спостереження. Це зазвичай різні формати суб’єктивних даних, які відображають якість чогось, наприклад продукту чи процесу. Іноді якісні дані є числовими, але зазвичай не використовуються математично, як-от телефонні номери чи часові позначки. Деякі приклади якісних даних: коментарі до відео, марка та модель автомобіля або улюблений колір ваших найближчих друзів. Якісні дані можуть бути використані для розуміння, які продукти споживачі люблять найбільше, або для визначення популярних ключових слів у резюме для подачі на роботу.
### Структуровані Дані
Структуровані дані — це дані, організовані у рядки та стовпці, де кожен рядок має однаковий набір стовпців. Стовпці представляють значення певного типу і мають ідентифікатор з ім’ям, що описує, що це за значення, а рядки містять власне значення. Часто до стовпців додають певні правила або обмеження на значення, щоб забезпечити точне представлення даних. Наприклад, у таблиці клієнтів кожен рядок повинен містити номер телефону, і в номерах телефонів не можуть бути літери. Можуть існувати правила для стовпця з номерами телефонів, які гарантують, що він ніколи не буде порожнім і міститиме лише цифри.
### Структуровані дані
Структуровані дані — це дані, організовані в рядки та стовпці, де кожен рядок має однаковий набір стовпців. Стовпці представляють значення певного типу та ідентифікуються за назвою, яка описує, що представляє значення, тоді як рядки містять фактичні значення. Стовпці часто мають певний набір правил або обмежень щодо значень, щоб гарантувати, що значення точно представляють стовпець. Наприклад, уявіть таблицю клієнтів, де кожен рядок повинен містити номер телефону, а номери телефонів ніколи не містять алфавітних символів. Можуть бути застосовані правила до стовпця номерів телефону, щоб переконатися, що він ніколи не порожній і містить лише цифри.
Перевага структурованих даних полягає в тому, що їх можна організувати так, щоб пов’язати з іншими структурованими даними. Проте через строгість структури внесення змін у загальну структуру може потребувати великих зусиль. Наприклад, додавання стовпця електронної пошти в таблицю клієнтів, який не може бути порожнім, означає, що потрібно з’ясувати, як додати ці значення у вже існуючі рядки клієнтів у наборі даних.
Перевага структурованих даних полягає в тому, що їх можна організувати таким чином, щоб вони були пов’язані з іншими структурованими даними. Однак через те, що дані спроектовані для організації певним чином, внесення змін до їх загальної структури може вимагати значних зусиль. Наприклад, додавання стовпця електронної пошти до таблиці клієнтів, який не може бути порожнім, означає, що вам потрібно буде вирішити, як додати ці значення до існуючих рядків клієнтів у наборі даних.
Приклади структурованих даних: електронні таблиці, реляційні бази даних, номери телефонів, банківські виписки
Приклади структурованих даних: таблиці, реляційні бази даних, номери телефонів, банківські виписки.
### Неструктуровані Дані
Неструктуровані дані зазвичай не піддаються класифікації у рядки чи стовпці і не мають формату або набору правил для дотримання. Через менші обмеження на структуру до неструктурованих даних легше додавати нову інформацію у порівнянні зі структурованими. Якщо датчик, що вимірює барометричний тиск кожні 2 хвилини, отримує оновлення, що дозволяє йому вимірювати температуру, неструктуровані дані не вимагають зміни вже наявних даних. Однак це може ускладнити аналіз або дослідження таких даних. Наприклад, вчений, який хоче знайти середню температуру за минулий місяць за даними датчиків, виявляє, що в деяких записах датчик замість числа поставив "e", щоб позначити, що він був несправний, через що дані неповні.
### Неструктуровані дані
Неструктуровані дані зазвичай не можна категоризувати в рядки чи стовпці і вони не містять формату чи набору правил для дотримання. Оскільки неструктуровані дані мають менше обмежень щодо своєї структури, їх легше доповнювати новою інформацією порівняно зі структурованим набором даних. Якщо датчик, який фіксує дані про барометричний тиск кожні 2 хвилини, отримав оновлення, яке тепер дозволяє йому вимірювати та записувати температуру, це не потребує зміни існуючих даних, якщо вони неструктуровані. Однак це може ускладнити аналіз або дослідження таких даних. Наприклад, вчений хоче знайти середню температуру за попередній місяць за даними датчика, але виявляє, що датчик записав "e" у деяких своїх даних, щоб позначити, що він був несправний, замість типового числа, що означає, що дані неповні.
Приклади неструктурованих даних: текстові файли, текстові повідомлення, відеофайли
Приклади неструктурованих даних: текстові файли, текстові повідомлення, відеофайли.
### Напівавтоматизовані Дані
Напівавтоматизовані дані мають характеристики обох типів — структурованих і неструктурованих. Зазвичай вони не відповідають формату рядків і стовпців, але організовані таким чином, що вважаються структурованими і можуть дотримуватись фіксованого формату або набору правил. Структура варіюється залежно від джерела — від чітко визначеної ієрархії до більш гнучкої, яка дозволяє легко інтегрувати нову інформацію. Метадані — це індикатори, які допомагають вирішити, як дані організовані і збережені, і мають різні назви залежно від типу даних. Звичні назви метаданих — теги, елементи, сутності та атрибути. Наприклад, типовий електронний лист має тему, текст і набір отримувачів, і може бути організований за відправником або датою відправлення.
### Напівструктуровані дані
Напівструктуровані дані мають характеристики, які роблять їх комбінацією структурованих і неструктурованих даних. Вони зазвичай не відповідають формату рядків і стовпців, але організовані таким чином, що вважаються структурованими і можуть дотримуватися фіксованого формату або набору правил. Структура варіюється залежно від джерел, наприклад, від чітко визначеної ієрархії до більш гнучкої, яка дозволяє легко інтегрувати нову інформацію. Метадані — це індикатори, які допомагають вирішити, як дані організовані та зберігаються, і мають різні назви залежно від типу даних. Деякі загальні назви для метаданих: теги, елементи, сутності та атрибути. Наприклад, типове електронне повідомлення матиме тему, текст і набір одержувачів і може бути організоване за тим, ким або коли воно було надіслане.
Приклади напівавтоматизованих даних: HTML, CSV-файли, JavaScript Object Notation (JSON)
Приклади напівструктурованих даних: HTML, файли CSV, JavaScript Object Notation (JSON).
## Джерела Даних
## Джерела даних
Джерело даних — це початкове розташування, де дані були згенеровані або де вони "знаходяться", і воно варіюється залежно від способу та часу збору. Дані, створені користувачем(-ми), відомі як первинні дані, тоді як вторинні дані надходять із джерела, яке зібрало дані для загального використання. Наприклад, група вчених, що збирає спостереження в дощовому лісі, вважається первинним джерелом, а якщо вони вирішать поділитися цими даними з іншими вченими, для них це вже буде вторинне джерело.
Джерело даних — це початкове місце, де дані були створені або де вони "живуть", і це залежить від того, як і коли вони були зібрані. Дані, створені їх користувачами, називаються первинними даними, тоді як вторинні дані надходять із джерела, яке зібрало дані для загального використання. Наприклад, група вчених, які збирають спостереження в тропічному лісі, вважається первинним джерелом, а якщо вони вирішать поділитися ними з іншими вченими, це буде вважатися вторинним джерелом для тих, хто їх використовує.
Бази даних є поширеним джерелом і покладаються на систему управління базами даних для розміщення та підтримки даних, де користувачі використовують команди, які називаються запитами, для дослідження даних. Файли як джерела даних можуть бути аудіо, зображеннями, відеофайлами, а також таблицями, такими як Excel. Інтернет-джерела є поширеним місцем для розміщення даних, де можна знайти як бази даних, так і файли. Інтерфейси програмування додатків, також відомі як API, дозволяють програмістам створювати способи обміну даними з зовнішніми користувачами через Інтернет, тоді як процес веб-скрапінгу витягує дані з веб-сторінки. [Уроки в розділі Робота з даними](../../../../../../../../../2-Working-With-Data) зосереджені на тому, як використовувати різні джерела даних.
Бази даних — це поширене джерело, яке використовує систему керування базами даних для розміщення і підтримки даних, де користувачі застосовують команди, що називаються запитами, для дослідження даних. Файли як джерела даних можуть бути аудіо-, зображеннями та відеофайлами, а також електронними таблицями типу Excel. Інтернет-джерела є поширеним місцем розміщення даних, де можна знайти як бази даних, так і файли. API (інтерфейси програмування додатків) дозволяють програмістам створювати способи обміну даними з зовнішніми користувачами через Інтернет, тоді як веб-скрапінг — це процес вилучення даних зі сторінки веб-сайту. [Уроки з роботи з даними](../../../../../../../../../2-Working-With-Data) зосереджені на тому, як використовувати різноманітні джерела даних.
## Висновок
У цьому уроці ми дізналися:
- Що таке дані
- Як описуються дані
- Як дані класифікуються та категоризуються
- Як описують дані
- Як класифікують і категоризують дані
- Де можна знайти дані
## 🚀 Виклик
Kaggle — чудове джерело відкритих наборів даних. Використовуйте [інструмент пошуку наборів даних](https://www.kaggle.com/datasets), щоб знайти кілька цікавих наборів даних і класифікувати 3-5 наборів даних за такими критеріями:
Kaggle — це відмінне джерело відкритих наборів даних. Використовуйте [інструмент пошуку наборів даних](https://www.kaggle.com/datasets), щоб знайти цікаві набори та класифікувати 3-5 наборів даних за такими критеріями:
- Чи є дані кількісними чи якісними?
- Чи є дані структурованими, неструктурованими чи напівструктурованими?
- Чи є дані структурованими, неструктурованими чи напівавтоматизованими?
## [Післялекційне опитування](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## [Тест після лекції](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Огляд і самостійне навчання
## Огляд та Самостійне Вивчення
- Цей модуль Microsoft Learn під назвою [Класифікуйте ваші дані](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) містить детальний опис структурованих, напівструктурованих і неструктурованих даних.
- Цей підрозділ Microsoft Learn під назвою [Ідентифікація форматів даних](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) має детальний розбір структурованих, напівавтоматизованих та неструктурованих даних.
## Завдання
@ -72,5 +73,7 @@ Kaggle — чудове джерело відкритих наборів дан
---
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -4,8 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Вступ до ймовірності та статистики\n",
"У цій записній книжці ми пограємося з деякими концепціями, які ми раніше обговорювали. Багато концепцій з ймовірності та статистики добре представлені у основних бібліотеках для обробки даних у Python, таких як `numpy` та `pandas`.\n"
"# Вступ до теорії ймовірностей і статистики\n",
"У цьому блокноті ми пограємо з деякими поняттями, які ми раніше обговорювали. Багато понять із теорії ймовірностей і статистики добре представлені у основних бібліотеках для обробки даних у Python, таких як `numpy` і `pandas`.\n"
]
},
{
@ -24,8 +24,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Випадкові величини та розподіли\n",
"Почнемо з вибірки з 30 значень з рівномірного розподілу від 0 до 9. Також обчислимо середнє та дисперсію.\n"
"## Випадкові змінні та розподіли\n",
"Почнемо з вибірки з 30 значень з рівномірного розподілу від 0 до 9. Ми також обчислимо середнє та дисперсію.\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Щоб візуально оцінити, скільки різних значень є в вибірці, ми можемо побудувати **гістограму**:\n"
"Щоб візуально оцінити, скільки різних значень присутні у вибірці, ми можемо побудувати **гістограму**:\n"
]
},
{
@ -63,7 +63,7 @@
"source": [
"## Аналіз реальних даних\n",
"\n",
"Середнє значення та дисперсія дуже важливі при аналізі реальних даних. Давайте завантажимо дані про бейсболістів із [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"Середнє та дисперсія дуже важливі при аналізі реальних даних. Давайте завантажимо дані про гравців бейсболу з [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Ми використовуємо пакет під назвою [**Pandas**](https://pandas.pydata.org/) для аналізу даних. Про Pandas та роботу з даними в Python ми поговоримо пізніше у цьому курсі.\n",
"> Тут ми використовуємо пакет під назвою [**Pandas**](https://pandas.pydata.org/) для аналізу даних. Пізніше на цьому курсі ми детальніше поговоримо про Pandas і роботу з даними в Python.\n",
"\n",
"Давайте обчислимо середні значення для віку, зросту та ваги:\n"
"Обчислимо середні значення для віку, зросту та ваги:\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Тепер зосередимося на зрості та обчислимо стандартне відхилення і дисперсію:\n"
"Тепер зосередимося на зрості та обчислимо стандартне відхилення та дисперсію: \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Окрім середнього значення, має сенс розглянути медіану та квартилі. Їх можна візуалізувати за допомогою **коробчастої діаграми**:\n"
"Окрім середнього, має сенс поглянути на медіану та квартилі. Їх можна візуалізувати за допомогою **box plot**:\n"
]
},
{
@ -136,7 +136,7 @@
"outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.boxplot(df['Height'].ffill(), orientation='horizontal', showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@ -146,7 +146,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ми також можемо створювати коробкові діаграми для підмножин нашого набору даних, наприклад, згрупованих за роллю гравця.\n"
"Ми також можемо створювати діаграми з вусами для підмножин нашого набору даних, наприклад, згрупованих за роллю гравця.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Примітка**: Ця діаграма свідчить, що в середньому зріст перших бейссменів вищий за зріст других бейссменів. Пізніше ми дізнаємося, як формально протестувати цю гіпотезу та як показати, що наші дані статистично значущі для цього. \n",
"> **Примітка**: ця діаграма свідчить про те, що в середньому зріст перших бейссменів вищий за зріст других бейссменів. Пізніше ми навчимося, як можна більш формально перевірити цю гіпотезу та як продемонструвати, що наші дані є статистично значущими для цього. \n",
"\n",
"Вік, зріст і вага — це всі неперервні випадкові змінні. Як ви гадаєте, який у них розподіл? Хороший спосіб дізнатись це — побудувати гістограму значень: \n"
"Вік, зріст і вага — це всі неперервні випадкові величини. Як ти вважаєш, який у них розподіл? Хороший спосіб дізнатися — побудувати гістограму значень: \n"
]
},
{
@ -188,9 +188,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normal Distribution\n",
"## Нормальний розподіл\n",
"\n",
"Давайте створимо штучну вибірку ваг, яка відповідає нормальному розподілу з таким самим середнім і дисперсією, як і наші реальні дані:\n"
"Давайте створимо штучну вибірку ваг, яка слідує нормальному розподілу з таким самим середнім значенням і дисперсією, як і наші реальні дані:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Оскільки більшість значень у реальному житті розподілені нормально, ми не повинні використовувати рівномірний генератор випадкових чисел для генерації вибіркових даних. Ось що відбувається, якщо ми спробуємо згенерувати ваги з рівномірним розподілом (згенерованим за допомогою `np.random.rand`):\n"
"Оскільки більшість значень у реальному житті мають нормальний розподіл, ми не повинні використовувати генератор випадкових чисел з рівномірним розподілом для створення вибіркових даних. Ось що відбувається, якщо ми спробуємо згенерувати ваги з рівномірним розподілом (згенеровані за допомогою `np.random.rand`):\n"
]
},
{
@ -251,7 +251,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Довіpчі інтервали\n",
"## Довірчі інтервали\n",
"\n",
"Тепер обчислимо довірчі інтервали для ваги та зросту бейсбольних гравців. Ми використаємо код [з цієї дискусії на stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
]
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -282,7 +282,7 @@
"source": [
"## Перевірка гіпотез\n",
"\n",
"Давайте дослідимо різні ролі в нашому наборі даних бейсбольних гравців:\n"
"Давайте розглянемо різні ролі у нашому наборі даних гравців у бейсбол:\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Давайте перевіримо гіпотезу, що перші бейсмені вищі за других бейсменів. Найпростіший спосіб зробити це — перевірити довірчі інтервали:\n"
"Давайте перевіримо гіпотезу, що першобейсмени вищі за другобейсменів. Найпростіший спосіб зробити це — перевірити довірчі інтервали:\n"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ми бачимо, що інтервали не перекриваються.\n",
"Ми бачимо, що інтервали не накладаються.\n",
"\n",
"Статистично більш коректний спосіб підтвердити гіпотезу — використати **t-тест Стьюдента**:\n"
"Статистично більш коректним способом довести гіпотезу є використання **t-тесту Стьюдента**:\n"
]
},
{
@ -338,18 +338,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Два значення, які повертає функція `ttest_ind`, є:\n",
"* p-значення можна розглядати як ймовірність того, що два розподіли мають однакове середнє. У нашому випадку воно дуже низьке, що означає, що є сильні докази на користь того, що першопластуни вищі.\n",
"* t-значення — це проміжне значення нормалізованої різниці середніх, яке використовується в t-тесті, і його порівнюють з пороговим значенням для заданого рівня довіри.\n"
"Два значення, які повертає функція `ttest_ind`, це:\n",
"* p-значення можна розглядати як ймовірність того, що два розподіли мають однакове середнє. У нашому випадку воно дуже низьке, що означає, що існують вагомі докази того, що першебази вищі.\n",
"* t-значення — це проміжне значення нормалізованої різниці середніх, яке використовується в t-тесті, і його порівнюють з пороговим значенням для даного рівня довіри.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Моделювання нормального розподілу за допомогою центральної граничної теореми\n",
"## Імітація нормального розподілу за допомогою центральної граничної теореми\n",
"\n",
"Псевдовипадковий генератор у Python призначений для надання нам рівномірного розподілу. Якщо ми хочемо створити генератор для нормального розподілу, ми можемо використати центральну граничну теорему. Щоб отримати нормально розподілене значення, ми просто обчислимо середнє значення вибірки, згенерованої рівномірно.\n"
"Псевдовипадковий генератор у Python створений для видачі рівномірного розподілу. Якщо ми хочемо створити генератор для нормального розподілу, ми можемо використати центральну граничну теорему. Щоб отримати значення з нормальним розподілом, ми просто обчислимо середнє значення вибірки, згенерованої рівномірно.\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Кореляція та Зла Бейсбольна Корпорація\n",
"## Кореляція та зла бейсбольна корпорація\n",
"\n",
"Кореляція дозволяє нам знаходити зв’язки між послідовностями даних. У нашому іграшковому прикладі уявімо, що існує зла бейсбольна корпорація, яка платить своїм гравцям відповідно до їхнього зросту — чим вищий гравець, тим більше він/вона отримує грошей. Припустимо, що базова зарплата становить 1000 доларів, а додатковий бонус коливається від 0 до 100 доларів, залежно від зросту. Ми візьмемо реальних гравців з MLB і порахуємо їхні уявні зарплати:\n"
"Кореляція дозволяє нам знаходити зв’язки між послідовностями даних. В нашому іграшковому прикладі уявімо, що існує зла бейсбольна корпорація, яка платить своїм гравцям залежно від їхнього зросту — чим вищий гравець, тим більше грошей він/вона отримує. Припустимо, що базова зарплата становить $1000, а додатковий бонус від $0 до $100 залежно від зросту. Ми візьмемо реальних гравців з MLB і порахуємо їхні уявні зарплати:\n"
]
},
{
@ -384,7 +384,7 @@
"metadata": {},
"outputs": [],
"source": [
"heights = df['Height'].fillna(method='pad')\n",
"heights = df['Height'].ffill()\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@ -393,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Давайте тепер обчислимо коваріацію та кореляцію цих послідовностей. `np.cov` дасть нам так звану **матриду коваріації**, яка є розширенням коваріації на кілька змінних. Елемент $M_{ij}$ матриці коваріації $M$ є коваріацією між вхідними змінними $X_i$ та $X_j$, а діагональні значення $M_{ii}$ — це дисперсія $X_{i}$. Аналогічно, `np.corrcoef` дасть нам **матриду кореляції**.\n"
"Тепер обчислимо коваріацію та кореляцію цих послідовностей. `np.cov` дасть нам так звану **матрицю коваріації**, яка є розширенням коваріації на декілька змінних. Елемент $M_{ij}$ матриці коваріації $M$ — це кореляція між вхідними змінними $X_i$ та $X_j$, а діагональні значення $M_{ii}$ — це дисперсія $X_{i}$. Аналогічно, `np.corrcoef` дасть нам **матрицю кореляції**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Кореляція, рівна 1, означає, що існує сильний **лінійний зв’язок** між двома змінними. Ми можемо візуально побачити лінійний зв’язок, побудувавши графік одного значення проти іншого:\n"
"Кореляція, рівна 1, означає, що між двома змінними існує сильний **лінійний зв’язок**. Ми можемо візуально побачити цей лінійний зв’язок, побудувавши графік одного значення проти іншого:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Давайте подивимося, що станеться, якщо залежність не буде лінійною. Припустимо, наша корпорація вирішила приховати очевидну лінійну залежність між зростом і зарплатою, і ввела деяку нелінійність у формулу, наприклад `sin`:\n"
"Подивімося, що станеться, якщо зв’язок не є лінійним. Припустімо, що наша корпорація вирішила приховати очевидну лінійну залежність між зростом і зарплатами та ввела деяку нелінійність у формулу, наприклад `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"У цьому випадку кореляція трохи менша, але все ще досить висока. Тепер, щоб зробити зв’язок ще менш очевидним, ми можемо додати трохи додаткової випадковості, додавши до зарплати випадкову змінну. Давайте подивимося, що станеся:\n"
"У цьому випадку кореляція трохи менша, але вона все ще досить висока. Тепер, щоб зробити зв’язок ще менш очевидним, ми можемо додати трохи додаткової випадковості, додавши випадкову змінну до зарплати. Подивимось, що станеться:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Чи можете ви здогадатися, чому крапки вирівнюються у вертикальні лінії саме так?\n",
"> Чи можете ви вгадати, чому крапки вирівнюються у вертикальні лінії саме так?\n",
"\n",
"Ми спостерігали кореляцію між штучно створеним поняттям, таким як зарплата, та спостережуваною змінною *зріст*. Давайте також перевіримо, чи корелюють між собою дві спостережувані змінні, такі як зріст і вага:\n"
"Ми спостерігали кореляцію між штучно створеною концепцією, такою як зарплата, і спостережуваною змінною *зріст*. Давайте також перевіримо, чи корелюють між собою дві спостережувані змінні, такі як зріст і вага:\n"
]
},
{
@ -494,9 +494,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"На жаль, ми не отримали жодних результатів — лише деякі дивні значення `nan`. Це пов’язано з тим, що деякі значення в нашому ряді невизначені, представлені як `nan`, що викликає також невизначений результат операції. Розглядаючи матрицю, ми бачимо, що проблемним стовпцем є `Weight`, оскільки обчислювалася самокореляція між значеннями `Height`.\n",
"На жаль, ми не отримали жодних результатів — лише деякі дивні значення `nan`. Це через те, що деякі значення в нашому ряді невизначені, представлені як `nan`, що призводить до того, що результат операції також стає невизначеним. Подивившись на матрицю, ми бачимо, що проблемною є колонка `Weight`, оскільки обчислювалася автокореляція між значеннями `Height`.\n",
"\n",
"> Цей приклад демонструє важливість **підготовки даних** та **очищення**. Без належних даних ми не можемо нічого обчислити.\n",
"> Цей приклад демонструє важливість **підготовки** та **очищення** даних. Без належних даних ми не можемо нічого обчислити.\n",
"\n",
"Давайте використаємо метод `fillna` для заповнення пропущених значень і обчислимо кореляцію:\n"
]
@ -507,14 +507,14 @@
"metadata": {},
"outputs": [],
"source": [
"np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
"np.corrcoef(df['Height'].ffill(), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Дійсно існує кореляція, але не така сильна, як у нашому штучному прикладі. Насправді, якщо подивитися на діаграму розсіяння одного значення проти іншого, зв’язок буде значно менш очевидним:\n"
"Дійсно існує кореляція, але не така сильна, як у нашому штучному прикладі. Насправді, якщо подивитися на діаграму розсіяння одного значення відносно іншого, зв’язок буде значно менш очевидним:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Висновок\n",
"\n",
"У цьому нотатнику ми навчились виконувати базові операції з даними для обчислення статистичних функцій. Тепер ми знаємо, як використовувати надійний апарат математики та статистики, щоб доводити деякі гіпотези, а також як обчислювати довірчі інтервали для довільних змінних на основі вибірки даних.\n"
"У цьому зошиті ми навчилися виконувати базові операції з даними для обчислення статистичних функцій. Тепер ми знаємо, як використовувати надійний апарат математики та статистики, щоб перевірити деякі гіпотези, а також як обчислювати довірчі інтервали для довільних змінних на основі вибірки даних. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Відмова від відповідальності**:\nЦей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ його рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується звертатися до професійного людського перекладу. Ми не несемо відповідальності за будь-які непорозуміння або неправильне тлумачення, що виникли внаслідок використання цього перекладу.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Відмова від відповідальності**:\nЦей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -568,12 +568,6 @@
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
},
"coopTranslator": {
"original_hash": "0f899e3c5019f948e7c787b22f3b2304",
"translation_date": "2026-01-16T21:24:40+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "uk"
}
},
"nbformat": 4,

@ -8,7 +8,7 @@
"\n",
"## Завантаження даних\n",
"\n",
"Ми будемо використовувати дані про інфікованих COVID-19, надані [Центром системних наук і інженерії](https://systems.jhu.edu/) (CSSE) при [Університеті Джонса Гопкінса](https://jhu.edu/). Набір даних доступний у [цьому репозиторії GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
"Ми будемо використовувати дані про інфікованих COVID-19, надані [Центром системної науки та інженерії](https://systems.jhu.edu/) (CSSE) при [Університеті Джонса Гопкінса](https://jhu.edu/). Набір даних доступний у [цьому репозиторії GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ми можемо завантажити найновіші дані безпосередньо з GitHub, використовуючи `pd.read_csv`. Якщо з якоїсь причини дані недоступні, ви завжди можете використати копію, що доступна локально в папці `data` - просто раскоментуйте рядок нижче, де визначається `base_url`:\n"
"Ми можемо завантажити найсвіжіші дані безпосередньо з GitHub за допомогою `pd.read_csv`. Якщо з якоїсь причини дані недоступні, ви завжди можете використати копію, що доступна локально у папці `data` — просто розкоментуйте рядок нижче, який визначає `base_url`:\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Тепер завантажимо дані про інфікованих осіб і подивимося, як виглядають ці дані:\n"
"Тепер давайте завантажимо дані про інфікованих осіб і подивимося, як виглядають ці дані:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ми можемо бачити, що кожен рядок таблиці визначає кількість інфікованих осіб для кожної країни та/або провінції, а стовпці відповідають датам. Подібні таблиці можна завантажити для інших даних, таких як кількість одужалих та кількість померлих.\n"
"Ми можемо побачити, що кожен рядок таблиці визначає кількість заражених осіб для кожної країни та/або провінції, а стовпці відповідають датам. Подібні таблиці можна завантажити для інших даних, таких як кількість одужалих та кількість смертей.\n"
]
},
{
@ -282,9 +282,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Розуміння даних\n",
"## Осмислення даних\n",
"\n",
"З таблиці вище роль стовпця province не зовсім зрозуміла. Давайте подивимось на різні значення, що присутні у стовпці `Province/State`:\n"
"З таблиці вище роль стовпця province не є зрозумілою. Давайте подивимось на різні значення, які присутні у стовпці `Province/State`:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"З назв ми можемо зробити висновок, що такі країни, як Австралія та Китай, мають більш детальний поділ за провінціями. Давайте знайдемо інформацію про Китай, щоб побачити приклад:\n"
"З назв можна зробити висновок, що такі країни, як Австралія та Китай, мають більш детальний розподіл за провінціями. Давайте пошукаємо інформацію про Китай, щоб побачити приклад:\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Попередня обробка даних\n",
"## Попередня обробка даних \n",
"\n",
"Нас не цікавить розбивка країн на подальші території, тому спочатку ми позбудемося цієї розбивки і додамо інформацію про всі території разом, щоб отримати інформацію про всю країну. Це можна зробити за допомогою `groupby`:\n"
"Нас не цікавить поділ країн на подальші території, тому спершу ми позбудемося цього поділу і додамо інформацію по всіх територіях разом, щоб отримати дані для всієї країни. Це можна зробити, використовуючи `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ви можете побачити, що завдяки використанню `groupby` всі DataFrame тепер мають індексацію за Country/Region. Таким чином, ми можемо отримати дані для конкретної країни за допомогою `.loc`:|\n"
"Ви можете бачити, що через використання `groupby` усі DataFrame тепер індексовані за Country/Region. Тому ми можемо отримати доступ до даних конкретної країни, використовуючи `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Примітка** зверніть увагу, як ми використовуємо `[3:]`, щоб видалити перші три елементи послідовності, що містять метадані, не пов’язані з датою (стовпці Провінція/Штат і геолокація). Також ми можемо повністю видалити ці три стовпці:\n"
"> **Зверніть увагу** на те, як ми використовуємо `[3:]` для видалення перших трьох елементів послідовності, які містять неметадані дати (стовпці Провінції/Штату та геолокації). Також ми можемо повністю вилучити ці три стовпці:\n"
]
},
{
@ -1627,7 +1627,7 @@
"source": [
"## Дослідження даних\n",
"\n",
"Тепер давайте перейдемо до дослідження конкретної країни. Створимо фрейм, що містить дані про інфекції, індексовані за датою:\n"
"Тепер перейдемо до дослідження конкретної країни. Створимо датафрейм, який містить дані про інфекції за датою:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Тепер давайте обчислимо кількість нових інфікованих кожного дня. Це дозволить нам побачити швидкість, з якою поширюється пандемія. Найпростіший спосіб зробити це — використати `diff`:\n"
"Тепер давайте обчислимо кількість нових інфікованих щодня. Це дозволить нам побачити швидкість, з якою прогресує пандемія. Найпростіший спосіб зробити це — використати `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ми бачимо великі коливання у даних. Давайте поглянемо ближче на один із місяців:\n"
"Ми бачимо великі коливання в даних. Давайте розглянемо ближче один із місяців:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Очевидно, що у даних є тижневі коливання. Оскільки ми хочемо бачити тренди, має сенс згладити криву, обчисливши ковзне середнє (тобто для кожного дня ми обчислюємо середнє значення попередніх кількох днів):\n"
"Очевидно, що в даних є щотижневі коливання. Оскільки ми хочемо бачити тренди, має сенс згладити криву, обчислюючи рухоме середнє (тобто для кожного дня ми обчислимо середнє значення за попередні кілька днів):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Щоб мати змогу порівнювати кілька країн, ми можемо врахувати населення країни та порівняти відсоток інфікованих осіб відносно населення країни. Щоб отримати населення країни, давайте завантажимо набір даних про країни:\n"
"Щоб мати можливість порівнювати кілька країн, можливо, ми захочемо врахувати населення країни та порівняти відсоток інфікованих осіб щодо населення країни. Щоб отримати населення країни, давайте завантажимо набір даних країн:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Оскільки цей набір даних містить інформацію як про країни, так і про провінції, щоб отримати населення всієї країни, нам потрібно бути трохи кмітливішими:\n"
"Оскільки цей набір даних містить інформацію як про країни, так і про провінції, щоб отримати населення всієї країни, нам потрібно бути трохи кмітливими: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Обчислення $R_t$\n",
"\n",
"Щоб зрозуміти, наскільки інфекційне захворювання, ми дивимося на **базове число репродукції** $R_0$, яке показує кількість людей, яких інфікована особа може заразити далі. Коли $R_0$ більше 1, епідемія, ймовірно, поширюватиметься.\n",
"Щоб побачити, наскільки хвороба є заразною, ми розглядаємо **основне репродуктивне число** $R_0$, яке вказує кількість людей, яких інфікована особа може заразити далі. Коли $R_0$ більше 1, ймовірно поширення епідемії.\n",
"\n",
"$R_0$ є властивістю самого захворювання і не враховує деякі захисні заходи, які люди можуть приймати для уповільнення пандемії. Під час розвитку пандемії ми можемо оцінити число репродукції $R_t$ у будь-який момент часу $t$. Було показано, що це число можна приблизно оцінити, взявши вікно шириною 8 днів і обчисливши $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"де $I_t$ — кількість нових інфікованих у день $t$.\n",
"$R_0$ є властивістю самої хвороби і не враховує деякі захисні заходи, які люди можуть вживати, щоб уповільнити пандемію. Протягом перебігу пандемії ми можемо оцінити репродуктивне число $R_t$ у будь-який момент часу $t$. Показано, що це число можна приблизно оцінити, беручи вікно в 8 днів та обчислюючи $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"де $I_t$ — кількість новоінфікованих осіб у день $t$.\n",
"\n",
"Давайте обчислимо $R_t$ для наших даних пандемії. Для цього ми візьмемо ковзне вікно шириною 8 значень `ninfected` і застосуємо функцію для обчислення вищенаведеного відношення:\n"
"Давайте обчислимо $R_t$ для наших даних пандемії. Для цього ми візьмемо ковзне вікно з 8 значень `ninfected` і застосуємо функцію для обчислення наведеного вище відношення:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ви можете помітити, що на графіку є деякі пропуски. Вони можуть бути викликані або `NaN`, якщо в наборі даних присутні значення `inf`. `inf` може бути спричинене діленням на 0, а `NaN` може вказувати на відсутні дані чи відсутність даних для обчислення результату (наприклад, на самому початку нашого фрейму, де ковзне вікно шириною 8 ще недоступне). Щоб зробити графік кращим, нам потрібно замінити ці значення за допомогою функцій `replace` та `fillna`.\n",
"Ви можете помітити, що на графіку є деякі пропуски. Вони можуть бути спричинені або `NaN`, або наявністю значень `inf` у наборі даних. `inf` може бути спричинене діленням на 0, а `NaN` може вказувати на відсутні дані або відсутність даних для обчислення результату (наприклад, на самому початку нашої рамки, коли ковзне вікно шириною 8 ще недоступне). Щоб зробити графік кращим, нам потрібно заповнити ці значення за допомогою функцій `replace` і `fillna`.\n",
"\n",
"Давайте детальніше розглянемо початок пандемії. Ми також обмежимо значення осі y, щоб показувати лише значення нижче 6, щоб краще бачити, і проведемо горизонтальну лінію на рівні 1.\n"
"Далі розглянемо початок пандемії. Ми також обмежимо значення по осі y, щоб відображати лише значення нижче 6, щоб краще бачити, і проведемо горизонтальну лінію на рівні 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ще одним цікавим показником пандемії є **похідна**, або **щоденна різниця** у нових випадках. Вона дозволяє нам чітко бачити, коли пандемія зростає або спадає.\n"
"Ще одним цікавим показником пандемії є **похідна**, або **щоденна різниця** в нових випадках. Вона дозволяє чітко бачити, коли пандемія зростає або спадає. \n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Враховуючи той факт, що у даних є багато коливань через звітування, має сенс згладити криву, застосувавши ковзне середнє, щоб отримати загальну картину. Знову зосередимося на перших місяцях пандемії:\n"
"Враховуючи той факт, що через звітування спостерігається багато коливань у даних, має сенс згладити криву, застосувавши ковзне середнє, щоб отримати загальну картину. Знову зосередьмося на перших місяцях пандемії:\n"
]
},
{
@ -2390,26 +2391,27 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Виклик\n",
"\n",
"Зараз настав час більше поекспериментувати з кодом і даними! Ось кілька пропозицій, з якими ви можете працювати:\n",
"* Подивіться на поширення пандемії в різних країнах.\n",
"Тепер настав час більше поекспериментувати з кодом та даними! Ось декілька пропозицій, з якими ви можете попрацювати:\n",
"* Подивіться, як поширювалася пандемія в різних країнах.\n",
"* Побудуйте графіки $R_t$ для кількох країн на одному графіку для порівняння або зробіть кілька графіків поруч.\n",
"* Подивіться, як кількість смертей і одужань корелює з кількістю інфікованих випадків.\n",
"* Спробуйте визначити, скільки триває типова хвороба, візуально порівнюючи рівень зараження і рівень смертності та шукаючи аномалії. Можливо, вам доведеться подивитися на різні країни, щоб це з’ясувати.\n",
"* Обчисліть рівень летальності та те, як він змінюється з часом. Можливо, вам захочеться врахувати тривалість хвороби у днях, щоб зсунути один часовий ряд перед проведенням обчислень.\n"
"* Подивіться, як кількість смертей та одужань корелює з кількістю інфікованих випадків.\n",
"* Спробуйте визначити, скільки зазвичай триває захворювання, візуально порівнюючи показники інфекції та смертності та шукаючи деякі аномалії. Можливо, вам доведеться подивитися на різні країни, щоб це з’ясувати.\n",
"* Обчисліть рівень летальності та як він змінюється з часом. Можливо, вам захочеться врахувати тривалість хвороби в днях, щоб зсунути один часовий ряд перед проведенням обчислень.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"## Посилання\n",
"\n",
"Ви можете ознайомитися з подальшими дослідженнями поширення епідемії COVID у наступних публікаціях:\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), блог Дмитра Сошникова [Dmitry Soshnikov](http://soshnikov.com)\n",
"* Т.Петрова, Д.Сошников, А.Грунин. [Оцінка чисельності репродукції, що залежить від часу, для глобальної спалахи COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Код для вищезазначеної роботи на GitHub](https://github.com/shwars/SlidingSIR)\n"
"* [Скользяща модель SIR для оцінки Rt під час пандемії COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), блог Дмитра Сошникова [Dmitry Soshnikov](http://soshnikov.com)\n",
"* Т.Петрова, Д.Сошников, А.Грунин. [Оцінка часозалежного числа відтворення для глобального спалаху COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Код для вище згаданої статті на GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Відмова від відповідальності**:\nЦей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний переклад носієм мови. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Відмова від відповідальності**:\nЦей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -1,31 +1,33 @@
# Проєкт візуалізації даних "Небезпечні зв'язки"
# Проєкт візуалізації даних Dangerous Liaisons
Щоб розпочати, переконайтеся, що у вас встановлені NPM і Node на вашому комп'ютері. Встановіть залежності (npm install), а потім запустіть проєкт локально (npm run serve):
Щоб почати, вам потрібно переконатися, що у вас на комп’ютері встановлені NPM і Node **>=20.0.0**. Встановіть залежності (npm install), а потім запустіть проєкт локально (npm run serve):
## Налаштування проєкту
```
npm install
```
### Компіляція та автоматичне оновлення для розробки
### Компільовано і гаряче перезавантаження для розробки
```
npm run serve
```
### Компіляція та мінімізація для продакшну
### Компільовано і мінімізовано для продакшена
```
npm run build
```
### Перевірка та виправлення файлів
### Лінтування та виправлення файлів
```
npm run lint
```
### Налаштування конфігурації
Дивіться [Довідник з конфігурації](https://cli.vuejs.org/config/).
Дивіться [Configuration Reference](https://cli.vuejs.org/config/).
---
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ мовою оригіналу слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,31 +1,33 @@
# Проєкт візуалізації даних "Небезпечні зв'язки"
# Проєкт візуалізації даних Dangerous Liaisons
Щоб розпочати, переконайтеся, що у вас встановлені NPM і Node на вашому комп'ютері. Встановіть залежності (npm install), а потім запустіть проєкт локально (npm run serve):
Щоб почати, вам потрібно переконатися, що у вас на комп’ютері встановлені NPM і Node версії **>=20.0.0**. Встановіть залежності (npm install), а потім запустіть проєкт локально (npm run serve):
## Налаштування проєкту
```
npm install
```
### Компіляція та автоматичне оновлення для розробки
### Компіляція та гаряче перезавантаження для розробки
```
npm run serve
```
### Компіляція та мінімізація для продакшну
### Компіляція та мінімізація для продакшна
```
npm run build
```
### Перевірка та виправлення файлів
### Лінтування та виправлення файлів
```
npm run lint
```
### Налаштування конфігурації
Дивіться [Довідник з конфігурації](https://cli.vuejs.org/config/).
Дивіться [Configuration Reference](https://cli.vuejs.org/config/).
---
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save