| ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|Definiranje Podataka - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
|Definiranje podataka - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
Podaci su činjenice, informacije, opažanja i mjerenja koja se koriste za otkrivanje novih saznanja i donošenje informiranih odluka. Točka podataka je pojedinačna jedinica podataka unutar skupa podataka, koji je zbirka točaka podataka. Skupovi podataka mogu dolaziti u različitim formatima i strukturama, a obično ovise o svom izvoru, odnosno odakle podaci potječu. Na primjer, mjesečni prihodi tvrtke mogu biti u proračunskoj tablici, dok podaci o otkucajima srca po satu s pametnog sata mogu biti u formatu [JSON](https://stackoverflow.com/a/383699). Uobičajeno je da se znanstvenici koji se bave podacima susreću s različitim vrstama podataka unutar skupa podataka.
Podaci su činjenice, informacije, opažanja i mjerenja koja se koriste za otkrivanja i podršku informiranim odlukama. Podatkovna točka je jedinstvena jedinica podataka unutar skupa podataka, koji je zbirka podatkovnih točaka. Skupovi podataka mogu biti u različitim formatima i strukturama, i obično se temelje na svom izvoru ili odakle podaci dolaze. Na primjer, mjesečni prihodi tvrtke mogu biti u proračunskoj tablici, ali podatak o otkucajima srca po satu sa pametnog sata može biti u [JSON](https://stackoverflow.com/a/383699) formatu. Uobičajeno je da znanstvenici podataka rade s različitim vrstama podataka unutar skupa podataka.
Ova lekcija usredotočuje se na prepoznavanje i klasifikaciju podataka prema njihovim karakteristikama i izvorima.
Ova lekcija se fokusira na identificiranje i klasifikaciju podataka prema njihovim karakteristikama i izvorima.
Sirovi podaci su podaci koji dolaze iz izvora u svom početnom stanju i nisu analizirani ili organizirani. Kako bi se razumjelo što se događa sa skupom podataka, potrebno ga je organizirati u format koji je razumljiv ljudima, kao i tehnologiji koju mogu koristiti za daljnju analizu. Struktura skupa podataka opisuje kako je organiziran i može se klasificirati kao strukturiran, nestrukturiran i polustrukturiran. Ove vrste struktura variraju ovisno o izvoru, ali će se na kraju uklopiti u ove tri kategorije.
### Neobrađeni podaci
Neobrađeni podaci su podaci koji su došli iz svog izvora u svom izvornom stanju i nisu analizirani niti organizirani. Kako bismo razumjeli što se događa s nekim skupom podataka, potrebno ga je organizirati u format koji mogu razumjeti ljudi kao i tehnologija koju koriste za daljnju analizu. Struktura skupa podataka opisuje kako je organizirana i može se klasificirati kao strukturirana, nestrukturirana i polustrukturirana. Ovi tipovi strukture variraju ovisno o izvoru, ali se konačno uklapaju u ove tri kategorije.
### Kvantitativni podaci
Kvantitativni podaci su numerička opažanja unutar skupa podataka i obično se mogu analizirati, mjeriti i koristiti matematički. Neki primjeri kvantitativnih podataka su: populacija zemlje, visina osobe ili kvartalni prihodi tvrtke. Uz dodatnu analizu, kvantitativni podaci mogu se koristiti za otkrivanje sezonskih trendova indeksa kvalitete zraka (AQI) ili procjenu vjerojatnosti prometne gužve u tipičnom radnom danu.
Kvantitativni podaci su numerička opažanja unutar skupa podataka i mogu se tipično analizirati, mjeriti i matematički koristiti. Neki primjeri kvantitativnih podataka su: populacija neke zemlje, visina osobe ili kvartalni prihodi tvrtke. Uz dodatnu analizu, kvantitativni podaci mogu se koristiti za otkrivanje sezonskih trendova indeksa kvalitete zraka (AQI) ili procjenu vjerojatnosti prometnog špica na uobičajeni radni dan.
### Kvalitativni podaci
Kvalitativni podaci, također poznati kao kategorijski podaci, su podaci koji se ne mogu objektivno mjeriti poput opažanja kvantitativnih podataka. Općenito su to različiti formati subjektivnih podataka koji bilježe kvalitetu nečega, poput proizvoda ili procesa. Ponekad su kvalitativni podaci numerički, ali se obično ne koriste matematički, poput telefonskih brojeva ili vremenskih oznaka. Neki primjeri kvalitativnih podataka su: komentari na videozapise, marka i model automobila ili omiljena boja vaših najbližih prijatelja. Kvalitativni podaci mogu se koristiti za razumijevanje koji proizvodi potrošačima najviše odgovaraju ili za identifikaciju popularnih ključnih riječi u životopisima za prijave na posao.
Kvalitativni podaci, poznati i kao kategorizirani podaci, su podaci koji se ne mogu objektivno mjeriti poput opažanja kvantitativnih podataka. Generalno su razni formati subjektivnih podataka koji bilježe kvalitetu nečega, poput proizvoda ili procesa. Ponekad kvalitativni podaci mogu biti numerički, ali se obično ne koriste matematički, kao što su brojevi telefona ili vremenski oznake. Neki primjeri kvalitativnih podataka su: komentari na video, marka i model automobila ili najdraža boja vaših najbližih prijatelja. Kvalitativni podaci mogu se koristiti za razumijevanje koji proizvodi su najpopularniji kod potrošača ili za prepoznavanje popularnih ključnih riječi u životopisima za posao.
### Strukturirani podaci
Strukturirani podaci su podaci organizirani u redove i stupce, gdje svaki red ima isti skup stupaca. Stupci predstavljaju vrijednost određenog tipa i identificirani su imenom koje opisuje što vrijednost predstavlja, dok redovi sadrže stvarne vrijednosti. Stupci često imaju određeni skup pravila ili ograničenja za vrijednosti kako bi se osiguralo da vrijednosti točno predstavljaju stupac. Na primjer, zamislite proračunsku tablicu s podacima o kupcima gdje svaki red mora imati telefonski broj, a telefonski brojevi nikada ne sadrže abecedne znakove. Mogu postojati pravila primijenjena na stupac telefonskog broja kako bi se osiguralo da nikada nije prazan i da sadrži samo brojeve.
Strukturirani podaci su podaci organizirani u retke i stupce, gdje svaki redak ima isti skup stupaca. Stupci predstavljaju vrijednost određenog tipa i bit će označeni imenom koje opisuje što vrijednost predstavlja, dok retci sadrže stvarne vrijednosti. Stupci često imaju specifičan skup pravila ili ograničenja na vrijednosti kako bi se osiguralo da vrijednosti točno predstavljaju stupac. Na primjer, zamislite proračunsku tablicu kupaca gdje svaki redak mora imati broj telefona i brojevi nikada ne smiju sadržavati slova. Mogu se primijeniti pravila na stupac broja telefona kako bi se osiguralo da nikada nije prazan i sadrži samo brojeve.
Prednost strukturiranih podataka je ta što se mogu organizirati na način da se mogu povezati s drugim strukturiranim podacima. Međutim, budući da su podaci dizajnirani da budu organizirani na specifičan način, promjene u njihovoj ukupnoj strukturi mogu zahtijevati puno truda. Na primjer, dodavanje stupca za e-mail u proračunsku tablicu kupaca koji ne može biti prazan znači da ćete morati smisliti kako dodati te vrijednosti postojećim redovima kupaca u skupu podataka.
Prednost strukturiranih podataka je što se mogu organizirati na način da se mogu povezati s drugim strukturiranim podacima. Međutim, budući da su podaci dizajnirani da budu organizirani na specifičan način, promjene u cjelokupnoj strukturi mogu zahtijevati mnogo truda. Na primjer, dodavanje stupca za e-poštu u tablicu kupaca koji ne smije biti prazan znači da ćete morati osmisliti kako te vrijednosti dodati postojećim redovima kupaca u skupu podataka.
Nestrukturirani podaci obično se ne mogu kategorizirati u redove ili stupce i ne sadrže format ili skup pravila koja treba slijediti. Budući da nestrukturirani podaci imaju manje ograničenja u svojoj strukturi, lakše je dodavati nove informacije u usporedbi sa strukturiranim skupom podataka. Ako senzor koji bilježi podatke o barometarskom tlaku svake 2 minute dobije ažuriranje koje mu omogućuje mjerenje i bilježenje temperature, to ne zahtijeva izmjenu postojećih podataka ako su nestrukturirani. Međutim, to može učiniti analizu ili istraživanje ovakvih podataka dugotrajnijim. Na primjer, znanstvenik koji želi pronaći prosječnu temperaturu prošlog mjeseca iz podataka senzora, ali otkrije da je senzor zabilježio "e" u nekim svojim podacima kako bi označio da je bio pokvaren umjesto tipičnog broja, što znači da su podaci nepotpuni.
Nestrukturirani podaci se obično ne mogu kategorizirati u retke ili stupce i nemaju format ili set pravila koja se slijede. Budući da nestrukturirani podaci imaju manje ograničenja svoje strukture, lakše je dodavati nove informacije u usporedbi sa strukturiranim skupom podataka. Ako senzor koji bilježi podatke o barometarskom pritisku svakih 2 minute dobije nadogradnju koja mu sada omogućuje mjerenje i bilježenje temperature, za nestrukturirane podatke nije potrebno mijenjati postojeće podatke. Međutim, to može otežati ili produžiti analizu i istraživanje takvih podataka. Na primjer, znanstvenik koji želi pronaći prosječnu temperaturu za prošli mjesec iz podataka senzora, ali otkrije da je senzor u nekim zapisima unio "e" da označi da je bio pokvaren umjesto očekivanog broja, što znači da su podaci nepotpuni.
Primjeri nestrukturiranih podataka: tekstualne datoteke, tekstualne poruke, video datoteke.
Primjeri nestrukturiranih podataka: tekstualne datoteke, tekstualne poruke, video datoteke
### Polustrukturirani podaci
Polustrukturirani podaci imaju značajke koje ih čine kombinacijom strukturiranih i nestrukturiranih podataka. Obično ne odgovaraju formatu redova i stupaca, ali su organizirani na način koji se smatra strukturiranim i mogu slijediti fiksni format ili skup pravila. Struktura će varirati između izvora, od dobro definirane hijerarhije do nečega fleksibilnijeg što omogućuje jednostavnu integraciju novih informacija. Metapodaci su pokazatelji koji pomažu u odlučivanju kako su podaci organizirani i pohranjeni te imaju različita imena, ovisno o vrsti podataka. Neka uobičajena imena za metapodatke su oznake, elementi, entiteti i atributi. Na primjer, tipična e-mail poruka imat će predmet, tijelo i skup primatelja te se može organizirati prema tome tko ju je poslao ili kada je poslana.
Polustrukturirani podaci imaju značajke koje ih čine kombinacijom strukturiranih i nestrukturiranih podataka. Obično ne slijede format redaka i stupaca, ali su organizirani na način koji se smatra strukturiranim i mogu slijediti fiksni format ili skup pravila. Struktura varira među izvorima, od jasno definiranih hijerarhija do fleksibilnijih formata koji omogućuju jednostavnu integraciju novih informacija. Metapodaci su indikatori koji pomažu odrediti kako su podaci organizirani i pohranjeni i imate različite nazive ovisno o vrsti podataka. Neki uobičajeni nazivi metapodataka su oznake, elementi, entiteti i atributi. Na primjer, tipična e-mail poruka ima predmet, tijelo i skup primatelja te može biti organizirana po tome tko ju je poslao ili kada.
Izvor podataka je početna lokacija gdje su podaci generirani ili gdje "žive" i varirat će ovisno o tome kako i kada su prikupljeni. Podaci generirani od strane korisnika poznati su kao primarni podaci, dok sekundarni podaci dolaze iz izvora koji je prikupio podatke za opću upotrebu. Na primjer, skupina znanstvenika koja prikuplja opažanja u prašumi smatra se primarnim izvorom, a ako odluče podijeliti podatke s drugim znanstvenicima, to bi se smatralo sekundarnim za one koji ih koriste.
Izvor podataka je početna lokacija gdje su podaci generirani ili gdje "žive" te varira ovisno o načinu i vremenu prikupljanja. Podatke koje generira korisnik (ili korisnici) nazivamo primarnim podacima, dok sekundarni podaci dolaze iz izvora koji je prikupio podatke za opću uporabu. Na primjer, skupina znanstvenika koji prikuplja opažanja u prašumi smatraju se primarnim izvorom podataka, a ako odluče podijeliti te podatke s drugim znanstvenicima, ti podaci postaju sekundarni za one koji ih koriste.
Baze podataka su uobičajeni izvor i oslanjaju se na sustav za upravljanje bazama podataka za hosting i održavanje podataka, gdje korisnici koriste naredbe zvane upiti za istraživanje podataka. Datoteke kao izvori podataka mogu biti audio, slike, video datoteke, kao i proračunske tablice poput Excela. Internetski izvori su uobičajena lokacija za hosting podataka, gdje se baze podataka kao i datoteke mogu pronaći. Programski sučelji aplikacija, također poznata kao API-ji, omogućuju programerima stvaranje načina za dijeljenje podataka s vanjskim korisnicima putem interneta, dok proces web scraping-a izvlači podatke s web stranice. [Lekcije u radu s podacima](../../../../../../../../../2-Working-With-Data) fokusiraju se na to kako koristiti različite izvore podataka.
Baze podataka su čest izvor i oslanjaju se na sustav za upravljanje bazama podataka koji domaćini i održavaju podatke gdje korisnici koriste naredbe zvane upiti za istraživanje podataka. Datoteke kao izvori podataka mogu biti audio, slikovne i video datoteke kao i proračunske tablice poput Excela. Internetski izvori su česta lokacija za pohranu podataka, gdje se mogu pronaći baze podataka kao i datoteke. Sučelja za programiranje aplikacija, poznata kao API-ji, omogućuju programerima stvaranje načina za dijeljenje podataka s vanjskim korisnicima putem interneta, dok proces web scrapinga izvlači podatke s web stranice. [Lekcije u radu s podacima](../../../../../../../../../2-Working-With-Data) fokusiraju se na korištenje raznih izvora podataka.
## Zaključak
U ovoj lekciji naučili smo:
U ovoj lekciji smo naučili:
- Što su podaci
- Kako se podaci opisuju
@ -54,22 +54,26 @@ U ovoj lekciji naučili smo:
## 🚀 Izazov
Kaggle je izvrstan izvor otvorenih skupova podataka. Koristite [alat za pretraživanje skupova podataka](https://www.kaggle.com/datasets) kako biste pronašli nekoliko zanimljivih skupova podataka i klasificirali 3-5 skupova podataka prema ovim kriterijima:
Kaggle je izvrstan izvor otvorenih skupova podataka. Koristi [alat za pretragu datasetova](https://www.kaggle.com/datasets) da pronađeš zanimljive skupove podataka i klasificiraj 3-5 skupova prema ovim kriterijima:
- Jesu li podaci kvantitativni ili kvalitativni?
- Jesu li podaci strukturirani, nestrukturirani ili polustrukturirani?
## [Kviz nakon predavanja](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Pregled i samostalno učenje
- Ova jedinica Microsoft Learn-a, pod nazivom [Klasificirajte svoje podatke](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) ima detaljan pregled strukturiranih, polustrukturiranih i nestrukturiranih podataka.
- Ovaj Microsoft Learn modul, pod nazivom [Identificiranje formata podataka](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) sadrži detaljan pregled strukturiranih, polustrukturiranih i nestrukturiranih podataka.
## Zadatak
[Klasifikacija skupova podataka](assignment.md)
[Klasificiranje skupova podataka](assignment.md)
---
**Odricanje od odgovornosti**:
Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Napomena**:
Ovaj dokument je preveden korištenjem AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.
"U ovom bilježniku ćemo se pozabaviti nekim od pojmova koje smo prethodno raspravljali. Mnogi pojmovi iz vjerojatnosti i statistike dobro su zastupljeni u glavnim knjižnicama za obradu podataka u Pythonu, poput `numpy` i `pandas`.\n"
"U ovom bilježniku, igrat ćemo se s nekim od pojmova koje smo prethodno raspravili. Mnogi pojmovi iz vjerojatnosti i statistike dobro su zastupljeni u glavnim bibliotekama za obradu podataka u Pythonu, poput `numpy` i `pandas`.\n"
]
},
{
@ -24,8 +24,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Slučajne varijable i distribucije\n",
"Počnimo s izvlačenjem uzorka od 30 vrijednosti iz jednolikog rasporeda od 0 do 9. Također ćemo izračunati srednju vrijednost i varijancu.\n"
"## Nasumične varijable i distribucije\n",
"Počnimo s izvlačenjem uzorka od 30 vrijednosti iz uniformne distribucije od 0 do 9. Također ćemo izračunati srednju vrijednost i varijancu.\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Za vizualno procjenu koliko različitih vrijednosti ima u uzorku, možemo nacrtati **histogram**:\n"
"Da bismo vizualno procijenili koliko različitih vrijednosti ima u uzorku, možemo nacrtati **histogram**:\n"
]
},
{
@ -63,7 +63,7 @@
"source": [
"## Analiza stvarnih podataka\n",
"\n",
"Srednja vrijednost i varijanca su vrlo važni pri analizi podataka iz stvarnog svijeta. Učitajmo podatke o igračima bejzbola s [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"Srednja vrijednost i varijanca vrlo su važni pri analizi podataka iz stvarnog svijeta. Učitajmo podatke o baseball igračima sa stranice [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,7 +80,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Koristimo paket pod nazivom [**Pandas**](https://pandas.pydata.org/) za analizu podataka. Više ćemo razgovarati o Pandasu i radu s podacima u Pythonu kasnije u ovom tečaju.\n",
"> Ovdje koristimo paket nazvan [**Pandas**](https://pandas.pydata.org/) za analizu podataka. Više ćemo govoriti o Pandasu i radu s podacima u Pythonu kasnije u ovom tečaju.\n",
"\n",
"Izračunajmo prosječne vrijednosti za dob, visinu i težinu:\n"
]
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Sada se fokusirajmo na visinu i izračunajmo standardnu devijaciju i varijansu:\n"
"Sada se usredotočimo na visinu i izračunajmo standardnu devijaciju i varijancu: \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Osim srednje vrijednosti, ima smisla pogledati i medijan i kvartile. Oni se mogu vizualizirati pomoću **box plot** grafa:\n"
"Osim aritmetičke sredine, smisleno je pogledati medijan i kvartile. Oni se mogu vizualizirati pomoću **box plota**:\n"
"Također možemo napraviti dijagrame kutija za podskupove našeg skupa podataka, na primjer, grupirane po ulozi igrača.\n"
"Također možemo napraviti grafove kutija za podskupove našeg skupa podataka, na primjer, grupirane prema ulozi igrača.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Napomena**: Ovaj dijagram sugerira da su prosječne visine prvih bazaša veće od visina drugih bazaša. Kasnije ćemo naučiti kako možemo formalnije testirati ovu hipotezu i kako pokazati da su naši podaci statistički značajni za to. \n",
"> **Napomena**: Ovaj dijagram sugerira da su prosječne visine prvih bazaša više od visina drugih bazaša. Kasnije ćemo naučiti kako ovu hipotezu možemo formalnije testirati i kako dokazati da su naši podaci statistički značajni za to. \n",
"\n",
"Dob, visina i težina su sve kontinuirane slučajne varijable. Što mislite kakva im je distribucija? Dobar način da to saznate je da nacrtate histogram vrijednosti: \n"
"Dob, visina i težina su sve kontinuirane slučajne varijable. Koja mislite da im je distribucija? Dobar način da saznate je da nacrtate histogram vrijednosti: \n"
]
},
{
@ -188,9 +188,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normalna raspodjela\n",
"## Normalna distribucija\n",
"\n",
"Napravimo umjetni uzorak težina koja slijedi normalnu raspodjelu s istim srednjim vrijednostima i varijancom kao i naši stvarni podaci:\n"
"Napravimo umjetni uzorak težina koji slijedi normalnu distribuciju s istim srednjim vrijednostima i varijancom kao i naši stvarni podaci:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Budući da je većina vrijednosti u stvarnom životu normalno raspoređena, ne bismo trebali koristiti jednolik generator slučajnih brojeva za generiranje uzoraka podataka. Evo što se događa ako pokušamo generirati težine s jednolikom raspodjelom (generirano pomoću `np.random.rand`):\n"
"Budući da je većina vrijednosti u stvarnom životu normalno raspoređena, ne bismo trebali koristiti uniformni generator slučajnih brojeva za generiranje uzoraka podataka. Evo što se događa ako pokušamo generirati težine s uniformnom raspodjelom (generirano pomoću `np.random.rand`):\n"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Intervali pouzdanosti\n",
"\n",
"Izračunajmo sada intervale pouzdanosti za težine i visine bejzbol igrača. Upotrijebit ćemo kod [iz ove rasprave na stackoverflowu](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Sada ćemo izračunati intervale pouzdanosti za težine i visine igrača bejzbola. Koristit ćemo kod [iz ove rasprave na stackoverflowu](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": [
"## Testiranje hipoteza\n",
"\n",
"Istražimo različite uloge u našem skupu podataka o bejzbol igračima:\n"
"Istražimo različite uloge u našem skupu podataka o igračima bejzbola:\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Testirajmo hipotezu da su prvašice (First Basemen) viši od drugara na drugoj osnovi (Second Basemen). Najjednostavniji način za to je testirati intervale pouzdanosti:\n"
"Testirajmo hipotezu da su Prvi bazni igrači viši od Drugih baznih igrača. Najjednostavniji način za to je testirati intervale pouzdanosti:\n"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vidimo da se intervali ne preklapaju.\n",
"Možemo vidjeti da intervali ne preklapaju.\n",
"\n",
"Statistički ispravniji način da se dokaže hipoteza je korištenje **Studentovog t-testa**:\n"
"Statistički točniji način za dokazivanje hipoteze je korištenje **Studentovog t-testa**:\n"
]
},
{
@ -339,17 +339,17 @@
"metadata": {},
"source": [
"Dvije vrijednosti koje vraća funkcija `ttest_ind` su:\n",
"* p-vrijednost se može smatrati vjerojatnošću da dvije distribucije imaju isti srednju vrijednost. U našem slučaju, vrlo je niska, što znači da postoji snažan dokaz koji podržava da su prva bazaši viši.\n",
"* t-vrijednost je međuvrijednost normalizirane razlike srednjih vrijednosti koja se koristi u t-testu, i uspoređuje se s graničnom vrijednošću za zadanu razinu pouzdanosti.\n"
"* p-vrijednost može se smatrati vjerojatnošću da dvije distribucije imaju isti srednju vrijednost. U našem slučaju, vrlo je niska, što znači da postoje snažni dokazi koji podržavaju da su prvi baseman viši.\n",
"* t-vrijednost je posredna vrijednost normalizirane razlike srednjih vrijednosti koja se koristi u t-testu i uspoređuje se s praga vrijednosti za zadanu vrijednost pouzdanosti.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulacija normalne distribucije pomoću središnjeg graničnog teorema\n",
"## Simulacija normalne distribucije s centralnim graničnim teoremom\n",
"\n",
"Pseudo-slučajni generator u Pythonu dizajniran je da nam daje uniformnu distribuciju. Ako želimo stvoriti generator za normalnu distribuciju, možemo koristiti središnji granični teorem. Da bismo dobili vrijednost koja je normalno distribuirana, jednostavno ćemo izračunati srednju vrijednost uzorka generiranog uniformno.\n"
"Pseudo-slučajni generator u Pythonu je dizajniran da nam daje uniformnu distribuciju. Ako želimo stvoriti generator za normalnu distribuciju, možemo koristiti centralni granični teorem. Za dobivanje vrijednosti s normalnom distribucijom samo ćemo izračunati srednju vrijednost uniformno generiranog uzorka.\n"
]
},
{
@ -375,7 +375,7 @@
"source": [
"## Korelacija i Evil Baseball Corp\n",
"\n",
"Korelacija nam omogućuje pronalaženje odnosa između nizova podataka. U našem primjeru, pretvarajmo se da postoji zla bejzbol korporacija koja plaća svoje igrače prema njihovoj visini - što je igrač viši, to više novca dobiva. Pretpostavimo da postoji osnovna plaća od 1000$, i dodatni bonus od 0 do 100$, ovisno o visini. Uzet ćemo prave igrače iz MLB-a i izračunati njihove imaginarne plaće:\n"
"Korelacija nam omogućuje pronalaženje odnosa između nizova podataka. U našem primjeru, pretvarajmo se da postoji zla bejzbol korporacija koja plaća svoje igrače prema njihovoj visini – što je igrač viši, to više novca dobiva. Pretpostavimo osnovnu plaću od 1000 dolara i dodatni bonus od 0 do 100 dolara, ovisno o visini. Uzet ćemo stvarne igrače iz MLB-a i izračunati njihove zamišljene plaće:\n"
"Sada ćemo izračunati kovarijancu i korelaciju tih nizova. `np.cov` će nam dati tzv. **matricu kovarijance**, koja je proširenje kovarijance na više varijabli. Element $M_{ij}$ matrice kovarijance $M$ je kovarijanca između ulaznih varijabli $X_i$ i $X_j$, a dijagonalne vrijednosti $M_{ii}$ su varijance $X_{i}$. Slično tome, `np.corrcoef` će nam dati **matricu korelacije**.\n"
"Izračunajmo sada kovarijancu i korelaciju tih nizova. `np.cov` će nam dati takozvanu **matricu kovarijance**, što je proširenje kovarijance na više varijabli. Element $M_{ij}$ matrice kovarijance $M$ je kovarijanca između ulaznih varijabli $X_i$ i $X_j$, a dijagonalne vrijednosti $M_{ii}$ su varijance od $X_{i}$. Slično tome, `np.corrcoef` će nam dati **matricu korelacije**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Korelacija jednaka 1 znači da postoji jaka **linearna veza** između dvije varijable. Linearna veza može se vizualno uočiti tako da se jedna vrijednost prikaže nasuprot druge:\n"
"Korelacija jednaka 1 znači da postoji jaka **linearno povezanost** između dvije varijable. Linearni odnos možemo vizualno vidjeti tako da nacrtamo jednu vrijednost nasuprot druge:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Pogledajmo što se događa ako odnos nije linearan. Pretpostavimo da je naša korporacija odlučila sakriti očitu linearnu ovisnost između visina i plaća, te je u formulu uvela neku nelinearnost, poput `sin`:\n"
"Pogledajmo što se događa ako relacija nije linearna. Pretpostavimo da je naša korporacija odlučila sakriti očitu linearnu ovisnost između visina i plaća te u formulu uvela neku nelinearnost, poput `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"U ovom slučaju, korelacija je nešto manja, ali je i dalje prilično visoka. Sada, kako bismo vezu učinili još manje očitom, možda ćemo htjeti dodati dodatnu slučajnost dodavanjem neke slučajne varijable na plaću. Pogledajmo što se događa:\n"
"U ovom slučaju, korelacija je malo manja, ali je i dalje prilično visoka. Sada, da bi veza bila još manje očita, mogli bismo dodati dodatnu slučajnost dodavanjem neke nasumične varijable na plaću. Pogledajmo što se događa:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Možete li pogoditi zašto se točkice poravnavaju u vertikalne linije ovako?\n",
"> Možete li pogoditi zašto se točke slažu u okomite linije ovako?\n",
"\n",
"Promatrali smo povezanost između umjetno konstruiranog koncepta poput plaće i promatrane varijable *visine*. Pogledajmo također hoće li se dvije promatrane varijable, poput visine i težine, također povezati:\n"
"Promatrali smo korelaciju između umjetno konstruiranog pojma poput plaće i promatrane varijable *visine*. Pogledajmo također je li i između dvije promatrane varijable, poput visine i težine, prisutna korelacija:\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Nažalost, nismo dobili nikakve rezultate - samo neke čudne vrijednosti `nan`. To je zbog činjenice da su neke vrijednosti u našoj seriji nedefinirane, predstavljene kao `nan`, što uzrokuje da i rezultat operacije bude nedefiniran. Promatrajući matricu možemo vidjeti da je `Weight` problematični stupac, jer je izračunata samokorelacija između vrijednosti `Height`.\n",
"Nažalost, nismo dobili nikakve rezultate - samo neke čudne vrijednosti `nan`. To je zbog činjenice da su neke vrijednosti u našoj seriji nedefinirane, predstavljene kao `nan`, što uzrokuje da rezultat operacije također bude nedefiniran. Promatrajući matricu možemo vidjeti da je `Weight` problematični stupac, jer je računan unakrsni korelacijski koeficijent između vrijednosti `Height`.\n",
"\n",
"> Ovaj primjer pokazuje važnost **pripreme podataka** i **čišćenja**. Bez ispravnih podataka ne možemo izračunati ništa.\n",
"> Ovaj primjer pokazuje važnost **pripreme podataka** i **čišćenja**. Bez odgovarajućih podataka ne možemo ništa izračunati.\n",
"\n",
"Koristimo metodu `fillna` za popunjavanje nedostajućih vrijednosti i izračunavanje korelacije:\n"
"Koristit ćemo metodu `fillna` za popunjavanje nedostajućih vrijednosti i izračunati korelaciju:\n"
"Doista postoji korelacija, ali ne tako snažna kao u našem umjetnom primjeru. Zapravo, ako pogledamo dijagram raspršenja jedne vrijednosti u odnosu na drugu, veza bi bila mnogo manje očita:\n"
"Postoji doista korelacija, ali ne tako jaka kao u našem umjetnom primjeru. Doista, ako pogledamo dijagram raspršenja jedne vrijednosti u odnosu na drugu, odnos bi bio mnogo manje očit:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Zaključak\n",
"\n",
"U ovom smo bilježnicu naučili kako izvoditi osnovne operacije nad podacima za izračun statističkih funkcija. Sada znamo kako koristiti solidan aparat matematike i statistike kako bismo dokazali neke hipoteze i kako izračunati intervale pouzdanosti za proizvoljne varijable s obzirom na uzorak podataka.\n"
"U ovom bilježniku naučili smo kako izvesti osnovne operacije nad podacima kako bismo izračunali statističke funkcije. Sada znamo kako koristiti pouzdan aparat matematike i statistike kako bismo dokazali neke hipoteze i kako izračunati intervale pouzdanosti za proizvoljne varijable s obzirom na uzorak podataka.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Napomena**:\nOvaj dokument preveden je pomoću AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na njegovom izvornom jeziku treba smatrati ovlaštenim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakve nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Napomena**:\nOvaj dokument je preveden korištenjem AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Koristit ćemo podatke o osobama zaraženim COVID-19, koje pruža [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) pri [Johns Hopkins University](https://jhu.edu/). Skup podataka je dostupan u [ovom GitHub spremištu](https://github.com/CSSEGISandData/COVID-19).\n"
"Koristit ćemo podatke o osobama zaraženim COVID-19, koje je pružio [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) na [Johns Hopkins University](https://jhu.edu/). Skup podataka dostupan je u [ovom GitHub Repozitoriju](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Najnovije podatke možemo učitati izravno s GitHub-a koristeći `pd.read_csv`. Ako iz nekog razloga podaci nisu dostupni, uvijek možete koristiti kopiju dostupnu lokalno u mapi `data` - samo uklonite komentar sa sljedećeg retka koji definira `base_url`:\n"
"Najnovije podatke možemo učitati izravno s GitHub-a koristeći `pd.read_csv`. Ako podaci iz nekog razloga nisu dostupni, uvijek možete koristiti kopiju dostupnu lokalno u mapi `data` - samo komentirajte liniju ispod koja definira `base_url`:\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Sada učitajmo podatke o zaraženim osobama i pogledajmo kako podaci izgledaju:\n"
"Sada učitajmo podatke za zaražene osobe i pogledajmo kako podaci izgledaju:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Možemo vidjeti da svaki redak tablice definira broj zaraženih osoba za svaku zemlju i/ili pokrajinu, a stupci odgovaraju datumima. Slične tablice mogu se učitati za druge podatke, poput broja izliječenih i broja smrtnih slučajeva.\n"
"Možemo vidjeti da svaki redak tablice definira broj zaraženih osoba za svaku zemlju i/ili provinciju, a stupci odgovaraju datumima. Slične tablice mogu se učitati za druge podatke, poput broja izliječenih i broja smrtnih slučajeva.\n"
]
},
{
@ -284,7 +284,7 @@
"source": [
"## Razumijevanje podataka\n",
"\n",
"Iz tablice gore nije jasno koja je uloga stupca pokrajine. Pogledajmo različite vrijednosti koje se nalaze u stupcu `Province/State`:\n"
"Iz tablice gore uloga stupca provincije nije jasna. Pogledajmo različite vrijednosti koje se pojavljuju u stupcu `Province/State`:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Iz imena možemo zaključiti da zemlje poput Australije i Kine imaju detaljniju razradu prema pokrajinama. Pogledajmo informacije o Kini kako bismo vidjeli primjer:\n"
"Iz naziva možemo zaključiti da zemlje poput Australije i Kine imaju detaljniji prikaz po provincijama. Pogledajmo informacije o Kini kako bismo vidjeli primjer:\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Pretprocesiranje podataka\n",
"## Predobrada podataka \n",
"\n",
"Nismo zainteresirani za razbijanje država na dodatne teritorije, stoga ćemo se najprije riješiti tog razlaganja i dodati informacije o svim teritorijima zajedno, kako bismo dobili podatke za cijelu državu. To se može napraviti pomoću `groupby`:\n"
"Nismo zainteresirani za razbijanje zemalja na daljnje teritorije, stoga ćemo se prvo riješiti ovog razbijanja i dodati informacije za sve teritorije zajedno, kako bismo dobili informacije za cijelu zemlju. To se može napraviti korištenjem `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Možete vidjeti da su zbog korištenja `groupby` svi DataFrameovi sada indeksirani po Državi/Regiji. Stoga možemo pristupiti podacima za određenu zemlju koristeći `.loc`:|\n"
"Možete vidjeti da su zbog korištenja `groupby` svi DataFrameovi sada indeksirani prema Državi/Regiji. Stoga možemo pristupiti podacima za određenu državu koristeći `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Napomena** kako koristimo `[3:]` za uklanjanje prva tri elementa sekvence koja sadrže metapodatke koji nisu datumi (provincija/država i stupci geolokacije). Također možemo u potpunosti ukloniti ta tri stupca:\n"
"> **Napomena** kako koristimo `[3:]` za uklanjanje prva tri elementa sekvence koja sadrže meta podatke koji nisu datum (stupci Provincija/Država i geolokacija). Također možemo potpuno ukloniti ta tri stupca:\n"
]
},
{
@ -1627,7 +1627,7 @@
"source": [
"## Istraživanje podataka\n",
"\n",
"Sada prijeđimo na istraživanje konkretne države. Napravimo okvir koji sadrži podatke o zarazama indeksirane prema datumu:\n"
"Sada ćemo prijeći na istraživanje specifične zemlje. Napravimo okvir koji sadrži podatke o zarazama indeksirane prema datumu:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Sada izračunajmo broj novozaraženih osoba svaki dan. To će nam omogućiti da vidimo brzinu kojom se pandemija odvija. Najlakši način za to je korištenje `diff`:\n"
"Sada izračunajmo broj novih zaraženih osoba svaki dan. To će nam omogućiti da vidimo brzinu kojom se pandemija širi. Najlakši način da to učinimo je korištenje `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vidimo velike oscilacije u podacima. Pogledajmo bliže jedan od mjeseci:\n"
"Možemo vidjeti velike fluktuacije u podacima. Pogledajmo bliže na jedan od mjeseci:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Jasno je da u podacima postoje tjedne fluktuacije. Budući da želimo moći vidjeti trendove, ima smisla izgladiti krivulju izračunavanjem pokretnog prosjeka (tj. za svaki dan izračunat ćemo prosječnu vrijednost prethodnih nekoliko dana):\n"
"Jasno je da postoje tjedne fluktuacije u podacima. Budući da želimo moći vidjeti trendove, smisleno je izgladiti krivulju izračunavanjem pomičnog prosjeka (tj. za svaki dan izračunat ćemo prosječnu vrijednost prethodnih nekoliko dana):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Kako bismo mogli usporediti nekoliko zemalja, možda ćemo htjeti uzeti u obzir stanovništvo zemlje i usporediti postotak zaraženih osoba u odnosu na stanovništvo zemlje. Kako bismo dobili stanovništvo zemlje, učitajmo skup podataka o zemljama:\n"
"Kako bismo mogli usporediti nekoliko zemalja, možda ćemo htjeti uzeti u obzir populaciju zemlje i usporediti postotak zaraženih u odnosu na populaciju zemlje. Kako bismo dobili populaciju zemlje, učitajmo skup podataka zemalja:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Budući da ovaj skup podataka sadrži informacije o zemljama i pokrajinama, kako bismo dobili populaciju cijele zemlje, moramo biti malo pametniji:\n"
"Budući da ovaj skup podataka sadrži informacije o državama i provincijama, da bismo dobili stanovništvo cijele zemlje, moramo biti malo pametniji: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Izračunavanje $R_t$\n",
"\n",
"Da bismo vidjeli koliko je bolest zarazna, promatramo **osnovni broj reprodukcije** $R_0$, koji označava broj ljudi koje će jedna zaražena osoba dodatno zaraziti. Kada je $R_0$ veći od 1, epidemija će se vjerojatno širiti.\n",
"Da bismo vidjeli koliko je bolest zarazna, promatramo **osnovni reprodukcijski broj** $R_0$, koji pokazuje broj ljudi koje jedna zaražena osoba može zaraziti. Kad je $R_0$ veći od 1, epidemija će se najvjerojatnije širiti.\n",
"\n",
"$R_0$ je svojstvo same bolesti i ne uzima u obzir neke zaštitne mjere koje ljudi mogu poduzeti kako bi usporili pandemiju. Tijekom tijeka pandemije, možemo procijeniti broj reprodukcije $R_t$ u bilo kojem trenutku $t$. Pokazalo se da se ovaj broj može grubo procijeniti uzimanjem prozora od 8 dana, i izračunavanjem $$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",
"$R_0$ je svojstvo same bolesti i ne uzima u obzir neke zaštitne mjere koje ljudi mogu poduzeti kako bi usporili pandemiju. Tijekom razvoja pandemije možemo procijeniti reprodukcijski broj $R_t$ u bilo kojem vremenu $t$. Pokazano je da se taj broj može otprilike procijeniti uzimanjem prozora od 8 dana i računanjem $$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",
"gdje je $I_t$ broj novozaraženih osoba na dan $t$.\n",
"\n",
"Izračunajmo $R_t$ za naše podatke o pandemiji. Za to ćemo uzeti klizni prozor od 8 vrijednosti `ninfected` i primijeniti funkciju za izračun omjera gore:\n"
"Izračunajmo $R_t$ za naše pandemijske podatke. Za to ćemo uzeti pomični prozor od 8 vrijednosti `ninfected` i primijeniti funkciju za računanje gore navedenog omjera:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Možete vidjeti da postoje neki praznini u grafikonu. Oni mogu biti uzrokovani ili `NaN`, ili prisustvom `inf` vrijednosti u skupu podataka. `inf` može biti uzrokovan dijeljenjem s 0, a `NaN` može označavati nedostajuće podatke, ili nedostatak podataka za izračun rezultata (kao na samom početku našeg okvira, gdje kotrljajući prozor širine 8 još nije dostupan). Da bismo grafikon učinili ljepšim, trebamo te vrijednosti popuniti koristeći funkcije `replace` i `fillna`.\n",
"Možete vidjeti da postoje određene praznine u grafikonu. One mogu biti uzrokovane ili `NaN`, ili prisutnošću vrijednosti `inf` u skupu podataka. `inf` može biti uzrokovano dijeljenjem s 0, a `NaN` može ukazivati na nedostajuće podatke, ili odsutnost podataka za izračun rezultata (kao na samom početku našeg okvira, gdje prozor pomičnog prosjeka širine 8 još nije dostupan). Kako bismo poboljšali izgled grafikona, trebamo popuniti te vrijednosti korištenjem funkcija `replace` i `fillna`.\n",
"\n",
"Pogledajmo dalje početak pandemije. Također ćemo ograničiti vrijednosti osi y da pokažemo samo vrijednosti ispod 6, kako bismo bolje vidjeli, i nacrtati horizontalnu liniju na 1.\n"
"Pogledajmo dalje na početak pandemije. Također ćemo ograničiti vrijednosti osi y da prikazuju samo vrijednosti ispod 6, kako bismo bolje vidjeli, i nacrtati horizontalnu liniju na 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Još jedan zanimljiv pokazatelj pandemije je **derivat**, ili **dnevna razlika** u novim slučajevima. Omogućuje nam jasno vidjeti kada pandemija raste ili opada.\n"
"Još jedan zanimljiv pokazatelj pandemije je **derivat**, ili **dnevna razlika** u novim slučajevima. Omogućuje nam jasno vidjeti kada pandemija raste ili opada.\n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Imajući u vidu da postoje brojne fluktuacije u podacima uzrokovane izvještavanjem, ima smisla izgladiti krivulju primjenom pokretnog prosjeka kako bismo dobili cjelokupnu sliku. Ponovo se usredotočimo na prve mjesece pandemije:\n"
"S obzirom na činjenicu da postoji mnogo fluktuacija u podacima uzrokovanih izvještavanjem, ima smisla izravnati krivulju pokretnim prosjekom kako bismo dobili cjelokupnu sliku. Ponovno se usredotočimo na prve mjesece pandemije:\n"
]
},
{
@ -2390,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Izazov\n",
"\n",
"Sada je vrijeme da se više igrate s kodom i podacima! Evo nekoliko prijedloga s kojima možete eksperimentirati:\n",
"Sad je vrijeme da se više igrate s kodom i podacima! Evo nekoliko prijedloga kojima možete eksperimentirati:\n",
"* Pogledajte širenje pandemije u različitim zemljama.\n",
"* Nacrtajte grafove $R_t$ za nekoliko zemalja na jednom grafikonu radi usporedbe, ili napravite nekoliko grafikona jedan uz drugi.\n",
"* Pogledajte kako se broj smrti i oporavaka korelira s brojem zaraženih slučajeva.\n",
"* Pokušajte saznati koliko tipično traje bolest vizualnim povezivanjem stope infekcije i stope smrtnosti te traženjem nekih anomalija. Možda ćete morati pogledati različite zemlje da biste to otkrili.\n",
"* Izračunajte stopu smrtnosti i kako se mijenja tijekom vremena. Možda ćete htjeti uzeti u obzir trajanje bolesti u danima kako biste pomaknuli jednu vremensku seriju prije izvođenja izračuna.\n"
"* Iscrtajte $R_t$ grafikone za nekoliko zemalja na jednom grafikonu radi usporedbe, ili napravite nekoliko grafikona jedan do drugog.\n",
"* Pogledajte kako se broj smrtnih slučajeva i oporavaka povezujer s brojem zaraženih slučajeva.\n",
"* Pokušajte saznati koliko tipična bolest traje vizualno povezujući stopu zaraze i stopu smrtnih slučajeva te tražeći neke anomalije. Možda ćete morati pogledati različite zemlje da biste to otkrili.\n",
"* Izračunajte stopu smrtnosti i kako se ona mijenja tijekom vremena. Možda ćete htjeti uzeti u obzir trajanje bolesti u danima kako biste pomaknuli jedan vremenski niz prije izvođenja izračuna.\n"
]
},
{
@ -2406,9 +2408,9 @@
"source": [
"## Reference\n",
"\n",
"Možete pogledati dodatne studije o širenju epidemije COVID u sljedećim publikacijama:\n",
"Možete pogledati daljnje studije širenja COVID epidemije u sljedećim publikacijama:\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), blog post od [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",
"* T.Petrova, D.Soshnikov, A.Grunin. [Procjena vremenski ovisnog reprodukcijskog broja za globalni izbijanje COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Kod za gore navedeni rad na GitHubu](https://github.com/shwars/SlidingSIR)\n"
]
},
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Odricanje od odgovornosti**: \nOvaj dokument je preveden korištenjem AI usluge prevođenja [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo postići točnost, molimo imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane ljudskog prevoditelja. Ne snosimo odgovornost za bilo kakva nesporazumevanja ili pogrešna tumačenja proizašla iz korištenja ovog prijevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Napomena**:\nOvaj dokument je preveden korištenjem AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
# Projekt vizualizacije podataka Dangerous Liaisons
# Projekt vizualizacije podataka Opasne veze
Za početak, potrebno je osigurati da imate NPM i Node instalirane na svom računalu. Instalirajte ovisnosti (npm install) i zatim pokrenite projekt lokalno (npm run serve):
Za početak, trebate osigurati da na vašem računalu imate instalirane NPM i Node **>=20.0.0**. Instalirajte ovisnosti (npm install) i zatim pokrenite projekt lokalno (npm run serve):
Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane ljudskog prevoditelja. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Napomena**:
Ovaj dokument je preveden korištenjem AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.
# Projekt vizualizacije podataka Dangerous Liaisons
# Projekt vizualizacije podataka Nesigurne veze
Za početak, potrebno je osigurati da imate instalirane NPM i Node na svom računalu. Instalirajte ovisnosti (npm install) i zatim pokrenite projekt lokalno (npm run serve):
Za početak, morate osigurati da imate NPM i Node **>=20.0.0** instalirane na vašem računalu. Instalirajte ovisnosti (npm install) i zatim pokrenite projekt lokalno (npm run serve):
## Postavljanje projekta
```
npm install
```
### Kompajlira i automatski osvježava za razvoj
### Kompajlira i automatski ponovno učitava za razvoj
Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane stručnjaka. Ne snosimo odgovornost za nesporazume ili pogrešne interpretacije koje mogu proizaći iz korištenja ovog prijevoda.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Napomena**:
Ovaj dokument je preveden korištenjem AI prevoditeljskog servisa [Co-op Translator](https://github.com/Azure/co-op-translator). Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.
|Definiranje podatkov - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
|Opredelitev podatkov - _Sketchnote avtorja [@nitya](https://twitter.com/nitya)_ |
Podatki so dejstva, informacije, opazovanja in meritve, ki se uporabljajo za odkrivanje novih spoznanj in podporo pri sprejemanju informiranih odločitev. Podatek je posamezna enota podatkov znotraj nabora podatkov, ki je zbirka podatkovnih točk. Nabori podatkov so lahko v različnih formatih in strukturah, običajno pa temeljijo na svojem viru oziroma na tem, od kod podatki izvirajo. Na primer, mesečni zaslužek podjetja je lahko v preglednici, medtem ko so podatki o srčnem utripu iz pametne ure lahko v formatu [JSON](https://stackoverflow.com/a/383699). Pogosto se podatkovni znanstveniki ukvarjajo z različnimi vrstami podatkov znotraj nabora podatkov.
Podatki so dejstva, informacije, opazovanja in meritve, ki se uporabljajo za odkritja in podporo informiranim odločitvam. Podatkovna točka je ena enota podatkov v podatkovnem naboru, ki je zbirka podatkovnih točk. Podatkovni nabori so lahko v različnih formatih in strukturah, običajno pa so odvisni od vira oziroma od kje podatki prihajajo. Na primer, mesečni prihodki podjetja so lahko v preglednici, medtem ko so podatki o srčnem utripu po urah iz pametne ure morda v formatu [JSON](https://stackoverflow.com/a/383699). Pogosto delajo podatkovni znanstveniki z različnimi vrstami podatkov znotraj podatkovnega nabora.
Ta lekcija se osredotoča na prepoznavanje in razvrščanje podatkov glede na njihove značilnosti in vire.
Surovi podatki so podatki, ki prihajajo iz svojega vira v začetnem stanju in niso bili analizirani ali organizirani. Da bi razumeli, kaj se dogaja z naborom podatkov, jih je treba organizirati v format, ki ga lahko razumejo ljudje, pa tudi tehnologija, ki jo lahko uporabijo za nadaljnjo analizo. Struktura nabora podatkov opisuje, kako je organiziran, in jo je mogoče razvrstiti kot strukturirano, nestrukturirano ali polstrukturirano. Te vrste struktur se razlikujejo glede na vir, vendar se na koncu uvrščajo v te tri kategorije.
Surovi podatki so podatki, ki so prišli iz vira v svoji začetni obliki in niso bili analizirani ali organizirani. Da bi razumeli, kaj se dogaja s podatkovnim naborom, jih je treba organizirati v obliko, ki je razumljiva ljudem in tehnologiji, ki jo lahko uporabi za nadaljnjo analizo. Struktura podatkovnega nabora opisuje, kako je organiziran in se lahko uvrsti na strukturiran, nestrukturiran in polstrukturiran. Te vrste struktur se razlikujejo glede na vir, a na koncu se uvrščajo v te tri kategorije.
### Kvantitativni podatki
Kvantitativni podatki so numerična opazovanja znotraj nabora podatkov, ki jih je mogoče običajno analizirati, meriti in matematično obdelovati. Nekateri primeri kvantitativnih podatkov so: populacija države, višina osebe ali četrtletni zaslužek podjetja. Z dodatno analizo bi lahko kvantitativni podatki razkrili sezonske trende indeksa kakovosti zraka (AQI) ali ocenili verjetnost prometne konice na običajen delovni dan.
Kvantitativni podatki so številčna opazovanja znotraj podatkovnega nabora, ki jih je običajno mogoče analizirati, meriti in uporabljati matematično. Nekaj primerov kvantitativnih podatkov so: prebivalstvo države, višina osebe ali četrtletni dobiček podjetja. Z dodatno analizo bi lahko kvantitativne podatke uporabili za odkrivanje sezonskih trendov indeksa kakovosti zraka (AQI) ali ocenjevanje verjetnosti prometnih konic na običajni delovni dan.
### Kvalitativni podatki
Kvalitativni podatki, znani tudi kot kategorijski podatki, so podatki, ki jih ni mogoče objektivno meriti, kot so opazovanja kvantitativnih podatkov. Na splošno gre za različne oblike subjektivnih podatkov, ki zajemajo kakovost nečesa, na primer izdelka ali procesa. Včasih so kvalitativni podatki numerični, vendar jih običajno ne uporabljamo matematično, kot so telefonske številke ali časovni žigi. Nekateri primeri kvalitativnih podatkov so: komentarji na videoposnetke, znamka in model avtomobila ali najljubša barva vaših najbližjih prijateljev. Kvalitativni podatki bi lahko pomagali razumeti, kateri izdelki so najbolj priljubljeni med potrošniki ali prepoznati priljubljene ključne besede v življenjepisih za prijave na delovna mesta.
Kvalitativni podatki, znani tudi kot kategorijalni podatki, so podatki, ki jih ni mogoče objektivno meriti, kot so opazovanja kvantitativnih podatkov. Običajno gre za različne oblike subjektivnih podatkov, ki zajemajo kakovost nečesa, na primer izdelka ali procesa. Včasih so kvalitativni podatki številčni, vendar jih običajno ne uporabljamo matematično, kot so telefonske številke ali časovne oznake. Nekaj primerov kvalitativnih podatkov so: komentarji pod videom, znamka in model avtomobila ali najljubša barva vaših najbližjih prijateljev. Kvalitativne podatke bi lahko uporabili za razumevanje, kateri izdelki so potrošnikom najbolj všeč ali za prepoznavanje priljubljenih ključnih besed v življenjepisih.
### Strukturirani podatki
Strukturirani podatki so podatki, ki so organizirani v vrstice in stolpce, kjer ima vsaka vrstica enak nabor stolpcev. Stolpci predstavljajo vrednost določenega tipa in so označeni z imenom, ki opisuje, kaj vrednost predstavlja, medtem ko vrstice vsebujejo dejanske vrednosti. Stolpci pogosto vsebujejo specifičen nabor pravil ali omejitev za vrednosti, da zagotovijo, da vrednosti natančno predstavljajo stolpec. Na primer, predstavljajte si preglednico strank, kjer mora vsaka vrstica imeti telefonsko številko, telefonske številke pa ne smejo vsebovati abecednih znakov. Na stolpec s telefonskimi številkami bi lahko bila uporabljena pravila, da nikoli ni prazen in vsebuje samo številke.
Strukturirani podatki so podatki organizirani v vrsticah in stolpcih, pri čemer ima vsaka vrstica enako množico stolpcev. Stolpci predstavljajo vrednost določenega tipa in so označeni z imenom, ki opisuje, kaj vrednost predstavlja, medtem ko vrstice vsebujejo dejanske vrednosti. Stolpci imajo pogosto določena pravila ali omejitve glede vrednosti, da se zagotovi, da vrednosti natančno predstavljajo stolpec. Na primer, predstavite si preglednico strank, kjer mora imeti vsaka vrstica telefonsko številko, pri čemer telefonske številke nikoli ne vsebujejo črk. Na stolpec s telefonskimi številkami so lahko uporabljena pravila, da nikoli ni prazen in vsebuje samo številke.
Prednost strukturiranih podatkov je, da jih je mogoče organizirati na način, ki omogoča povezovanje z drugimi strukturiranimi podatki. Vendar pa lahko zaradi tega, ker so podatki zasnovani tako, da so organizirani na določen način, spremembe celotne strukture zahtevajo veliko truda. Na primer, dodajanje stolpca za e-pošto v preglednico strank, ki ne sme biti prazen, pomeni, da morate ugotoviti, kako boste dodali te vrednosti obstoječim vrsticam strank v naboru podatkov.
Prednost strukturiranih podatkov je v tem, da jih je mogoče organizirati tako, da so povezani z drugimi strukturiranimi podatki. Vendar pa zaradi zasnove strukture podatkov spremembe v njeni celotni strukturi lahko zahtevajo veliko truda. Na primer, dodajanje stolpca z elektronsko pošto v preglednico strank, ki ne sme biti prazna, pomeni, da boste morali ugotoviti, kako dodati te vrednosti v obstoječe vrstice strank v podatkovnem naboru.
Nestrukturirani podatki običajno ne morejo biti kategorizirani v vrstice ali stolpce in ne vsebujejo formata ali niza pravil, ki bi jih morali upoštevati. Ker imajo nestrukturirani podatki manj omejitev glede svoje strukture, je lažje dodajati nove informacije v primerjavi s strukturiranim naborom podatkov. Če senzor, ki zajema podatke o barometričnem tlaku vsakih 2 minuti, prejme posodobitev, ki mu omogoča merjenje in beleženje temperature, ni treba spreminjati obstoječih podatkov, če so nestrukturirani. Vendar pa lahko to oteži analizo ali preiskovanje takšnih podatkov. Na primer, znanstvenik, ki želi ugotoviti povprečno temperaturo prejšnjega meseca iz podatkov senzorja, odkrije, da je senzor v nekaterih svojih zapisih zabeležil "e", da označi, da je bil pokvarjen, namesto običajne številke, kar pomeni, da so podatki nepopolni.
Nestrukturirani podatki običajno niso razporejeni v vrstice ali stolpce in nimajo formata ali niza pravil, ki jih je treba upoštevati. Ker imajo nestrukturirani podatki manj omejitev glede strukture, je dodajanje novih informacij lažje v primerjavi z strukturiranim podatkovnim naborom. Če senzor, ki beleži podatke o barometričnem tlaku vsaki 2 minuti, prejme posodobitev, ki mu zdaj omogoča merjenje in zapis temperature, ni treba spreminjati obstoječih podatkov, če so nestrukturirani. Vendar pa lahko analiza ali preiskava take vrste podatkov traja dlje. Na primer, znanstvenik, ki želi najti povprečno temperaturo iz prejšnjega meseca s podatki senzorjev, odkrije, da je senzor v nekaterih svojih zabeleženih podatkih zapisal "e" za označitev, da je bil pokvarjen, namesto običajne številke, kar pomeni, da so podatki nepopolni.
Primeri nestrukturiranih podatkov: besedilne datoteke, besedilna sporočila, video datoteke.
Primeri nestrukturiranih podatkov: besedilne datoteke, besedilna sporočila, video datoteke
### Polstrukturirani podatki
Polstrukturirani podatki imajo značilnosti, zaradi katerih so kombinacija strukturiranih in nestrukturiranih podatkov. Običajno ne ustrezajo formatu vrstic in stolpcev, vendar so organizirani na način, ki velja za strukturiranega, in lahko sledijo določenemu formatu ali nizu pravil. Struktura se razlikuje glede na vire, od dobro definirane hierarhije do nečesa bolj prilagodljivega, kar omogoča enostavno vključevanje novih informacij. Metapodatki so kazalniki, ki pomagajo določiti, kako so podatki organizirani in shranjeni, ter imajo različna imena glede na vrsto podatkov. Nekatera pogosta imena za metapodatke so oznake, elementi, entitete in atributi. Na primer, tipično e-poštno sporočilo bo imelo zadevo, telo in nabor prejemnikov ter ga je mogoče organizirati glede na to, kdo ali kdaj je bilo poslano.
Polstrukturirani podatki imajo značilnosti, ki jih naredijo kombinacijo strukturiranih in nestrukturiranih podatkov. Običajno niso oblikovani po vrsticah in stolpcih, so pa organizirani na način, ki velja za strukturiran in lahko sledijo določenemu formatu ali sklopu pravil. Struktura se razlikuje med viri, od dobro definirane hierarhije do nečesa bolj prilagodljivega, kar omogoča enostavno integracijo novih informacij. Metapodatki so kazalci, ki pomagajo ugotoviti, kako so podatki organizirani in shranjeni, ter imajo različna imena, glede na vrsto podatkov. Nekaj pogostih imen za metapodatke so označbe (tags), elementi, entitete in atributi. Na primer, tipično elektronsko sporočilo ima zadevo, telo in nabor prejemnikov ter je lahko organizirano po tem, kdo ali kdaj je bilo poslano.
Vir podatkov je začetna lokacija, kjer so bili podatki ustvarjeni ali kjer "živijo", in se razlikuje glede na to, kako in kdaj so bili zbrani. Podatki, ki jih ustvarijo uporabniki, so znani kot primarni podatki, medtem ko sekundarni podatki prihajajo iz vira, ki je zbral podatke za splošno uporabo. Na primer, skupina znanstvenikov, ki zbira opazovanja v deževnem gozdu, bi veljala za primarne podatke, če pa jih delijo z drugimi znanstveniki, bi ti podatki veljali za sekundarne za tiste, ki jih uporabljajo.
Vir podatkov je začetna lokacija, kjer so bili podatki ustvarjeni ali kjer "bivajo" in se razlikuje glede na to, kako in kdaj so bili zbrani. Podatki, ki jih ustvarijo njihovi uporabniki, so znani kot primarni podatki, medtem ko sekundarni podatki prihajajo iz vira, ki je zbral podatke za splošno uporabo. Na primer, skupina znanstvenikov, ki zbira opazovanja v deževnem gozdu, bi veljala za primarno, če pa se odločijo te podatke deliti z drugimi znanstveniki, bi ti bili za uporabnike sekundarni.
Baze podatkov so pogost vir in se zanašajo na sistem za upravljanje baz podatkov, ki gosti in vzdržuje podatke, kjer uporabniki uporabljajo ukaze, imenovane poizvedbe, za raziskovanje podatkov. Datoteke kot viri podatkov so lahko zvočne, slikovne in video datoteke ter preglednice, kot je Excel. Internetni viri so pogosta lokacija za gostovanje podatkov, kjer je mogoče najti baze podatkov in datoteke. Programski vmesniki aplikacij, znani tudi kot API-ji, omogočajo programerjem ustvarjanje načinov za deljenje podatkov z zunanjimi uporabniki prek interneta, medtem ko proces spletnega strganja pridobiva podatke s spletne strani. [Lekcije o delu s podatki](../../../../../../../../../2-Working-With-Data) se osredotočajo na to, kako uporabljati različne vire podatkov.
Baze podatkov so pogost vir in se zanašajo na sistem za upravljanje baz podatkov, ki gosti in vzdržuje podatke, pri čemer uporabniki uporabljajo ukaze, imenovane poizvedbe, za raziskovanje podatkov. Datoteke kot viri podatkov so lahko avdio, slikovne in video datoteke, kot tudi preglednice, npr. Excel. Internetni viri so pogosta lokacija za gostovanje podatkov, kjer lahko najdemo baze podatkov in datoteke. Application programming interfaces, znani tudi kot API-ji, omogočajo programerjem ustvarjanje načinov za deljenje podatkov z zunanjimi uporabniki preko interneta, medtem ko postopek spletnega strganja (web scraping) izvleče podatke s spletne strani. [Lekcije v delu z podatki](../../../../../../../../../2-Working-With-Data) se osredotočajo na uporabo različnih virov podatkov.
## Zaključek
@ -51,26 +50,30 @@ V tej lekciji smo se naučili:
- Kaj so podatki
- Kako so podatki opisani
- Kako so podatki razvrščeni in kategorizirani
- Kje je mogoče najti podatke
- Kje lahko podatke najdemo
## 🚀 Izziv
Kaggle je odličen vir odprtih naborov podatkov. Uporabite [orodje za iskanje naborov podatkov](https://www.kaggle.com/datasets), da najdete nekaj zanimivih naborov podatkov in razvrstite 3-5 naborov podatkov po teh kriterijih:
Kaggle je odličen vir odprtih podatkovnih nizov. Uporabite [orodje za iskanje podatkovnih nizov](https://www.kaggle.com/datasets), da poiščete nekaj zanimivih datasettov in razvrstite 3-5 podatkovnih nizov glede na naslednja merila:
- Ali so podatki kvantitativni ali kvalitativni?
- Ali so podatki strukturirani, nestrukturirani ali polstrukturirani?
## [Kviz po predavanju](https://ff-quizzes.netlify.app/en/ds/quiz/5)
- Enota Microsoft Learn, naslovljena [Razvrščanje vaših podatkov](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), vsebuje podroben pregled strukturiranih, polstrukturiranih in nestrukturiranih podatkov.
- Ta Microsoft Learn enota z naslovom [Prepoznajte formate podatkov](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) ima podrobno razčlenitev strukturiranih, polstrukturiranih in nestrukturiranih podatkov.
## Naloga
## Domača naloga
[Razvrščanje naborov podatkov](assignment.md)
[Razvrščanje podatkovnih nizov](assignment.md)
---
**Omejitev odgovornosti**:
Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitna napačna razumevanja ali napačne interpretacije, ki bi nastale zaradi uporabe tega prevoda.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Omejitev odgovornosti**:
Ta dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za kritične informacije je priporočljiv strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.
"V tem zvezku se bomo igrali z nekaterimi koncepti, o katerih smo že govorili. Veliko konceptov iz verjetnosti in statistike je dobro predstavljeno v glavnih knjižnicah za obdelavo podatkov v Pythonu, kot sta `numpy` in `pandas`.\n"
"V tem zvezku se bomo igrali z nekaterimi koncepti, o katerih smo že govorili. Veliko konceptov iz verjetnosti in statistike je dobro zastopanih v pomembnih knjižnicah za obdelavo podatkov v Pythonu, kot sta `numpy` in `pandas`.\n"
]
},
{
@ -25,7 +25,7 @@
"metadata": {},
"source": [
"## Naključne spremenljivke in porazdelitve\n",
"Začnimo z vlečenjem vzorca 30 vrednosti iz enakomerne porazdelitve od 0 do 9. Izračunali bomo tudi povprečje in varianco.\n"
"Začnimo z vzorčenjem 30 vrednosti iz enakomerne porazdelitve od 0 do 9. Prav tako bomo izračunali povprečje in varianco.\n"
]
},
{
@ -63,7 +63,7 @@
"source": [
"## Analiza dejanskih podatkov\n",
"\n",
"Povprečje in varianca sta zelo pomembna pri analizi podatkov iz resničnega sveta. Naložimo podatke o igralcih baseballa z [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"Povprečje in varianca sta zelo pomembna pri analizi podatkov iz resničnega sveta. Naložimo podatke o igralcih baseballa iz [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,7 +80,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Tukaj za analizo podatkov uporabljamo paket [**Pandas**](https://pandas.pydata.org/). Kasneje v tem tečaju bomo več govorili o Pandas in delu s podatki v Pythonu.\n",
"> Tukaj uporabljamo paket, imenovan [**Pandas**](https://pandas.pydata.org/), za analizo podatkov. Kasneje v tem tečaju bomo več govorili o Pandas in delu s podatki v Pythonu.\n",
"\n",
"Izračunajmo povprečne vrednosti za starost, višino in težo:\n"
]
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Sedaj se osredotočimo na višino ter izračunajmo standardni odklon in varianco:\n"
"Osredotočimo se zdaj na višino ter izračunajmo standardni odklon in varianco:\n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Poleg povprečja je smiselno pogledati tudi mediano in kvartile. Te lahko vizualiziramo z uporabo **škatlastega diagrama**:\n"
"Poleg povprečja je smiselno pogledati tudi median in kvartile. Prikazati jih je mogoče z uporabo **škatlastega diagrama**:\n"
"Lahko tudi naredimo škatlaste diagrame podskupin našega nabora podatkov, na primer razvrščene po vlogi igralca.\n"
"Lahko naredimo tudi škatlaste diagrame za podmnožice našega nabora podatkov, na primer razvrščene po vlogi igralca.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Opomba**: Ta diagram nakazuje, da so povprečne višine prvo baznih igralcev višje od višin drugobaznih igralcev. Kasneje se bomo naučili, kako lahko to hipotezo bolj formalno testiramo in kako dokazati, da so naši podatki statistično značilni za to. \n",
"> **Opomba**: Ta diagram nakazuje, da so povprečne višine prvih metačev višje kot višine drugih metačev. Kasneje se bomo naučili, kako to hipotezo preizkusiti bolj formalno in kako dokazati, da so naši podatki statistično pomembni za to. \n",
"\n",
"Starost, višina in teža so vse zvezne naključne spremenljivke. Kakšna mislite, da je njihova porazdelitev? Dobro je to ugotoviti z risanjem histograma vrednosti: \n"
"Starost, višina in teža so vse zvezne naključne spremenljivke. Kaj mislite, kakšna je njihova porazdelitev? Dobro je, da narišemo histogram vrednosti: \n"
]
},
{
@ -188,9 +188,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normalna porazdelitev\n",
"## Normalna distribucija\n",
"\n",
"Ustvarimo umetni vzorec teže, ki sledi normalni porazdelitvi z enakim povprečjem in varianco kot naši dejanski podatki:\n"
"Ustvarimo umetni primer teže, ki sledi normalni distribuciji z istim povprečjem in varianco kot naši dejanski podatki:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ker je večina vrednosti v resničnem življenju normalno porazdeljena, ne bi smeli uporabljati generatorja enakomerno porazdeljenih naključnih števil za generiranje vzorčnih podatkov. Tukaj je, kaj se zgodi, če poskušamo generirati teže z enakomerno porazdelitvijo (generirano z `np.random.rand`):\n"
"Ker je večina vrednosti v resničnem svetu normalno porazdeljenih, ne bi smeli uporabljati generatorja naključnih števil z enakomerno porazdelitvijo za generiranje vzorčnih podatkov. Tukaj je, kaj se zgodi, če poskusimo generirati teže z enakomerno porazdelitvijo (generirano z `np.random.rand`):\n"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Intervali zaupanja\n",
"\n",
"Izračunajmo intervale zaupanja za težo in višino bejzbol igralcev. Uporabili bomo kodo [iz te razprave na stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Sedaj izračunajmo intervale zaupanja za težo in višino bejzbolskih igralcev. Uporabili bomo kodo [iz te razprave na 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": [
"## Testiranje hipotez\n",
"\n",
"Raziščimo različne vloge v našem naboru podatkov bejzbolskih igralcev:\n"
"Raziščimo različne vloge v našem naboru podatkov o baseball igralcih:\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Preizkusimo hipotezo, da so prvi igralci na bazi višji od drugih igralcev na bazi. Najenostavnejši način za to je testiranje intervalov zaupanja:\n"
"Preizkusimo hipotezo, da so prvi bazni igralci višji od drugih baznih igralcev. Najenostavnejši način za to je, da preizkusimo intervale zaupanja:\n"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Lahko vidimo, da se intervali ne prekrivajo.\n",
"Vidimo lahko, da se intervali ne prekrivajo.\n",
"\n",
"Statistično bolj pravilno potrditev hipoteze izvedemo z uporabo **Studentove t-teste**:\n"
"Statistično bolj pravilen način za dokazovanje hipoteze je uporaba **Studentovega t-testa**:\n"
]
},
{
@ -338,8 +338,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Dve vrednosti, ki jih vrne funkcija `ttest_ind`, sta:\n",
"* p-vrednost lahko razumemo kot verjetnost, da imata dve porazdelitvi enak povprečje. V našem primeru je zelo nizka, kar pomeni, da obstajajo trdni dokazi, da so prve baze višje.\n",
"Dve vrednosti, ki ju vrne funkcija `ttest_ind`, sta:\n",
"* p-vrednost lahko obravnavamo kot verjetnost, da imata dve porazdelitvi isti povprečni vrednost. V našem primeru je zelo nizka, kar pomeni, da obstajajo močni dokazi, da so prvi bazni igralci višji.\n",
"* t-vrednost je vmesna vrednost normalizirane razlike povprečij, ki se uporablja v t-testu, in se primerja z mejno vrednostjo za dano stopnjo zaupanja.\n"
]
},
@ -349,7 +349,7 @@
"source": [
"## Simulacija normalne porazdelitve s centralnim limitnim izrekom\n",
"\n",
"Generator psevdonaključnih števil v Pythonu je zasnovan tako, da nam daje enakomerno porazdelitev. Če želimo ustvariti generator za normalno porazdelitev, lahko uporabimo centralni limitni izrek. Da dobimo normalno porazdeljeno vrednost, bomo preprosto izračunali povprečje vzorca, ki je ustvarjen z enakomerno porazdelitvijo.\n"
"Psevdonaključni generator v Pythonu je zasnovan tako, da nam da enakomerno porazdelitev. Če želimo ustvariti generator za normalno porazdelitev, lahko uporabimo centralni limitni izrek. Za pridobitev normalno porazdeljene vrednosti bomo preprosto izračunali povprečje vzorca, ki ga generira enakomerna porazdelitev.\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Korelacija in Zlobna Baseball Korporacija\n",
"## Korelacija in Zlobni baseball korporat\n",
"\n",
"Korelacija nam omogoča, da najdemo povezave med podatkovnimi zaporedji. V našem preprostemu primeru si zamislimo, da obstaja zlobna baseball korporacija, ki svojim igralcem plačuje glede na njihovo višino - višji kot je igralec, več denarja prejme. Predpostavimo, da je osnovna plača 1000 $, in dodatna nagrada od 0 do 100 $, odvisno od višine. Vzamemo resnične igralce iz MLB in izračunamo njihove namišljene plače:\n"
"Korelacija nam omogoča, da najdemo odnose med zaporedji podatkov. V našem preprostem primeru si predstavljajmo, da obstaja zlobna baseball korporacija, ki svojim igralcem plačuje glede na njihovo višino - višji ko je igralec, več denarja dobi. Privzemimo, da je osnovna plača 1000 $, in dodatni bonus od 0 do 100 $, odvisno od višine. Vzamemo prave igralce iz MLB in izračunamo njihove namišljene plače:\n"
"Izračunajmo zdaj kovarianco in korelacijo teh zaporedij. `np.cov` nam bo dala t.i. **kovariančno matriko**, ki je razširitev kovariance na več spremenljivk. Element $M_{ij}$ kovariančne matrike $M$ je korelacija med vhodnima spremenljivkama $X_i$ in $X_j$, diagonalne vrednosti $M_{ii}$ pa so varianca $X_i$. Podobno nam bo `np.corrcoef` dala **korelacijsko matriko**.\n"
"Izračunajmo zdaj kovarianco in korelacijo teh zaporedij. `np.cov` nam bo dal t.i. **kovariančno matriko**, ki je razširitev kovariance na več spremenljivk. Element $M_{ij}$ kovariančne matrike $M$ je korelacija med vhodnima spremenljivkama $X_i$ in $X_j$, diagonalne vrednosti $M_{ii}$ pa so varianca $X_{i}$. Podobno nam bo `np.corrcoef` dal **matriko korelacije**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Korelacija enaka 1 pomeni, da obstaja močna **linearna povezava** med dvema spremenljivkama. Linearno povezavo lahko vizualno vidimo z risanjem vrednosti ene spremenljivke proti drugi:\n"
"Korelacija, enaka 1, pomeni, da obstaja močna **linearno razmerje** med dvema spremenljivkama. Linearno razmerje lahko vizualno vidimo z risanjem ene vrednosti proti drugi:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Poglejmo, kaj se zgodi, če relacija ni linearna. Predpostavimo, da se je naše podjetje odločilo skriti očitno linearno odvisnost med višino in plačami ter uvedlo nekaj nelinearnosti v formulo, kot je `sin`:\n"
"Poglejmo, kaj se zgodi, če odnos ni linearen. Recimo, da se je naše podjetje odločilo skriti očitno linearno odvisnost med višino in plačami ter uvedlo nekaj nelinearnosti v formulo, na primer `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"V tem primeru je korelacija nekoliko manjša, a je še vedno precej visoka. Zdaj, da bi razmerje naredili še manj očitno, bi morda želeli dodati nekaj dodatne naključnosti tako, da bi k plači dodali neko naključno spremenljivko. Poglejmo, kaj se zgodi:\n"
"V tem primeru je korelacija nekoliko manjša, vendar je še vedno precej visoka. Zdaj, da bi razmerje naredili še manj očitno, bi morda želeli dodati še nekaj naključnosti tako, da dodamo naključno spremenljivko k plači. Poglejmo, kaj se zgodi:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Uganete, zakaj se pikice poravnajo v navpične črte tako?\n",
"> Ali uganiš, zakaj so pike poravnane v navpične črte tako?\n",
"\n",
"Opazili smo korelacijo med umetno zasnovanim konceptom, kot je plača, in opazovano spremenljivko *višina*. Oglejmo si tudi, ali se dve opazovani spremenljivki, kot sta višina in teža, prav tako korelirata:\n"
"Opazili smo korelacijo med umetno zasnovanim konceptom, kot je plača, in opazovano spremenljivko *višina*. Poglejmo tudi, ali sta med seboj povezani dve opazovani spremenljivki, kot sta višina in teža:\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Na žalost nismo dobili nobenih rezultatov - samo nekaj nenavadnih vrednosti `nan`. To je posledica dejstva, da so nekatere vrednosti v naši seriji nedefinirane, predstavljene kot `nan`, kar tudi povzroči, da je rezultat operacije nedefiniran. Če pogledamo matriko, vidimo, da je problematičen stolpec `Weight`, ker je bila izračunana samokorelacija med vrednostmi `Height`.\n",
"Na žalost nismo dobili nobenih rezultatov - le nekaj nenavadnih vrednosti `nan`. To je posledica dejstva, da so nekatere vrednosti v naši seriji nedefinirane, predstavljene kot `nan`, kar povzroči, da je rezultat operacije prav tako nedefiniran. Če pogledamo matriko, vidimo, da je problematičen stolpec `Weight`, saj je samokorelacija med vrednostmi `Height` izračunana.\n",
"\n",
"> Ta primer prikazuje pomen **priprave podatkov** in **čiščenja**. Brez ustreznih podatkov ne moremo izračunati ničesar.\n",
"> Ta primer kaže pomembnost **priprave podatkov** in **čiščenja**. Brez pravih podatkov ne moremo ničesar izračunati.\n",
"\n",
"Uporabimo metodo `fillna` za zapolnitev manjkajočih vrednosti in izračunajmo korelacijo:\n"
"Uporabimo metodo `fillna` za zapolnitev manjkajočih vrednosti in izračunamo korelacijo:\n"
"Res je, da obstaja korelacija, vendar ne tako močna kot v našem umetnem primeru. Pravzaprav, če pogledamo razpršeni diagram ene vrednosti glede na drugo, bi bila povezava veliko manj očitna:\n"
"Obstaja res korelacija, a ne tako močna kot v našem umetnem primeru. Res je, če pogledamo razpršen graf ene vrednosti proti drugi, bi bila zveza veliko manj očitna:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Zaključek\n",
"\n",
"V tem zapisku smo se naučili, kako izvajati osnovne operacije na podatkih za izračun statističnih funkcij. Sedaj vemo, kako uporabiti ustrezno orodje matematike in statistike za dokazovanje nekaterih hipotez ter kako izračunati intervale zaupanja za poljubne spremenljivke, glede na vzorec podatkov.\n"
"V tem zvezku smo se naučili izvajati osnovne operacije na podatkih za izračun statističnih funkcij. Sedaj vemo, kako uporabiti učinkovit nabor matematičnih in statističnih orodij za preverjanje hipotez ter kako izračunati intervale zaupanja za poljubne spremenljivke glede na vzorec podatkov.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Omejitev odgovornosti**:\nTa dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, upoštevajte, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvorno jeziku se šteje za avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazuma ali napačne interpretacije, ki bi izhajali iz uporabe tega prevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Omejitev odgovornosti**:\nTa dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za kritične informacije je priporočljiv strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Uporabili bomo podatke o okuženih z COVID-19, ki jih zagotavlja [Center za sisteme znanosti in inženiringa](https://systems.jhu.edu/) (CSSE) na [Univerzi Johns Hopkins](https://jhu.edu/). Nabor podatkov je na voljo v [tem GitHub repozitoriju](https://github.com/CSSEGISandData/COVID-19).\n"
"Uporabili bomo podatke o okuženih z COVID-19, ki jih je zagotovil [Center za sistemsko znanost in inženirstvo](https://systems.jhu.edu/) (CSSE) na [Univerzi Johns Hopkins](https://jhu.edu/). Nabor podatkov je na voljo v [tem GitHub repozitoriju](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Najnovejše podatke lahko naložimo neposredno z GitHuba z uporabo `pd.read_csv`. Če podatki iz nekega razloga niso na voljo, lahko vedno uporabite kopijo, ki je lokalno na voljo v mapi `data` - samo odkomentirajte spodnjo vrstico, ki definira `base_url`:\n"
"Najnovejše podatke lahko neposredno naložimo z GitHuba z uporabo `pd.read_csv`. Če iz kakršnega koli razloga podatki niso na voljo, lahko vedno uporabite kopijo, ki je shranjena lokalno v mapi `data` - preprosto odkomentirajte spodnjo vrstico, ki določa `base_url`:\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Naložimo podatke za okužene posameznike in si oglejmo, kako podatki izgledajo:\n"
"Zdaj pa naložimo podatke za okužene osebe in poglejmo, kako podatki izgledajo:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vidimo lahko, da vsak vrstica tabele določa število okuženih posameznikov za vsako državo in/ali provinca, stolpci pa ustrezajo datumom. Podobne tabele je mogoče naložiti tudi za druge podatke, kot so število ozdravljenih in število smrti.\n"
"Vidimo lahko, da vsak vrstica tabele določa število okuženih posameznikov za vsako državo in/ali provinco, stolpci pa ustrezajo datumom. Podobne tabele je mogoče naložiti za druge podatke, kot sta število okrevalcev in število umrlih.\n"
]
},
{
@ -284,7 +284,7 @@
"source": [
"## Razumevanje podatkov\n",
"\n",
"Iz zgornje tabele ni jasno, kakšna je vloga stolpca province. Poglejmo si različne vrednosti, ki so prisotne v stolpcu `Province/State`:\n"
"Iz zgornje tabele ni jasno, kakšna je vloga stolpca province. Oglejmo si različne vrednosti, ki so prisotne v stolpcu `Province/State`:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Iz imen lahko sklepamo, da imajo države, kot sta Avstralija in Kitajska, bolj podroben razrez po provincah. Poiščimo informacije o Kitajski, da vidimo primer:\n"
"Iz imen lahko sklepamo, da imajo države, kot sta Avstralija in Kitajska, bolj podroben razčlenjen prikaz po provincah. Poglejmo informacije o Kitajski, da vidimo primer:\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Predobdelava podatkov\n",
"## Predobdelava podatkov\n",
"\n",
"Nas ne zanima nadaljnja razčlenitev držav na ozemlja, zato se bomo najprej znebili te razčlenitve in dodali informacije o vseh ozemljih skupaj, da dobimo podatke za celotno državo. To lahko storimo z uporabo `groupby`:\n"
"Ne zanimamo se za razdruževanje držav na nadaljnje teritorije, zato se bomo najprej znebili te razčlenitve in vse informacije za vse teritorije združili, da dobimo podatke za celotno državo. To lahko storimo z uporabo `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Lahko vidite, da so zaradi uporabe `groupby` vsi DataFrame-i zdaj indeksirani po Državi/Regiji. Tako lahko dostopamo do podatkov za določeno državo z uporabo `.loc`:|\n"
"Vidite lahko, da so zaradi uporabe `groupby` vsi DataFrame-i zdaj indeksirani po državi/regiji. Zato lahko do podatkov za določeno državo dostopamo z uporabo `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Opomba** kako uporabljamo `[3:]` za odstranitev prvih treh elementov zaporedja, ki vsebujejo metapodatke, ki niso datum (stolpci Province/State in geolokacija). Lahko pa tudi popolnoma odstranimo te tri stolpce:\n"
"> **Opomba** kako uporabimo `[3:]`, da odstranimo prva tri elemente zaporedja, ki vsebujejo metapodatke, ki niso datumi (provinca/država in stolpci geolokacije). Ti trije stolpci pa se lahko tudi popolnoma odstranijo:\n"
]
},
{
@ -1627,7 +1627,7 @@
"source": [
"## Preiskovanje podatkov\n",
"\n",
"Zdaj preklopimo na preiskovanje določene države. Ustvarimo okvir, ki vsebuje podatke o okužbah, indeksirane po datumu:\n"
"Zdaj pa preidimo na preiskovanje določene države. Ustvarimo okvir, ki vsebuje podatke o okužbah, indeksiranih po datumu:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Zdaj izračunajmo število novih okuženih oseb vsak dan. To nam bo omogočilo, da vidimo hitrost, s katero napreduje pandemija. Najlažji dan, da to storimo, je uporaba `diff`:\n"
"Zdaj izračunajmo število novo okuženih ljudi vsak dan. To nam bo omogočilo, da vidimo hitrost, s katero napreduje pandemija. Najlažji način za to je uporaba `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"V podatkih lahko vidimo velike nihaje. Poglejmo si bolj natančno enega izmed mesecev:\n"
"V podatkih lahko opazimo velike nihaje. Oglejmo si podrobneje enega od mesecev:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Jasno je, da so v podatkih tedenske nihanja. Ker želimo videti trende, je smiselno zgladiti krivuljo z izračunom tekočega povprečja (tj. za vsak dan bomo izračunali povprečno vrednost prejšnjih nekaj dni):\n"
"Jasno je, da podatki kažejo tedenske nihaje. Ker želimo lahko videti trende, je smiselno, da povprečje poravnamo s tekočim povprečjem (tj. za vsak dan bomo izračunali povprečno vrednost prejšnjih nekaj dni):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Da bi lahko primerjali več držav, bi morda želeli upoštevati prebivalstvo države in primerjati odstotek okuženih oseb glede na prebivalstvo države. Da bi dobili prebivalstvo države, naložimo nabor podatkov o državah:\n"
"Da bi lahko primerjali več držav, bi bilo morda koristno upoštevati prebivalstvo države in primerjati odstotek okuženih oseb glede na prebivalstvo države. Da dobimo prebivalstvo države, naložimo podatkovni niz držav:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ker ta podatkovni niz vsebuje informacije tako o državah kot provincah, moramo biti malo bolj iznajdljivi, da dobimo populacijo celotne države:\n"
"Ker ta podatkovni niz vsebuje informacije tako o državah kot o provincah, moramo biti nekoliko pametnejši, da dobimo prebivalstvo cele države: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Izračun $R_t$\n",
"\n",
"Za oceno nalezljivosti bolezni si ogledamo **osnovno reprodukcijsko število** $R_0$, ki označuje število ljudi, ki jih okužena oseba nakaže naprej. Ko je $R_0$ večje od 1, se epidemija verjetno širi.\n",
"## Izračunajmo $R_t$\n",
"\n",
"$R_0$ je lastnost same bolezni in ne upošteva nekaterih zaščitnih ukrepov, ki jih ljudje lahko sprejmejo za upočasnitev pandemije. Med potekom pandemije lahko pri katerem koli času $t$ ocenimo reprodukcijsko število $R_t$. Pokazalo se je, da je to število mogoče približno oceniti tako, da vzamemo okno 8 dni ter izračunamo $$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",
"kjer je $I_t$ število novo okuženih posameznikov na dan $t$.\n",
"Da vidimo, kako nalezljiva je bolezen, pogledamo **osnovno reprodukcijsko število** $R_0$, ki kaže število ljudi, ki jih okužena oseba okuži naprej. Ko je $R_0$ večje od 1, se epidemija verjetno širi.\n",
"\n",
"Izračunajmo $R_t$ za naše podatke o pandemiji. Za to bomo vzeli tekoče okno 8 vrednosti `ninfected` in uporabili funkcijo za izračun zgornjega razmerja:\n"
"$R_0$ je lastnost same bolezni in ne upošteva nekaterih zaščitnih ukrepov, ki jih ljudje morda sprejmejo za upočasnitev pandemije. Med potekom pandemije lahko ocenimo reprodukcijsko število $R_t$ ob katerem koli času $t$. Ugotovljeno je bilo, da je to število približno mogoče oceniti z uporabo okna 8 dni in izračunom $$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",
"kjer je $I_t$ število novookuženih oseb na dan $t$.\n",
"\n",
"Izračunajmo $R_t$ za naše podatke pandemije. Za to bomo vzeli drseče okno 8 vrednosti `ninfected` in uporabili funkcijo za izračun zgornjega razmerja:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Lahko vidite, da so v grafu nekateri premori. Ti so lahko povzročeni bodisi z `NaN`, če so v podatkovnem naboru prisotne vrednosti `inf`. `inf` je lahko posledica deljenja z 0, `NaN` pa lahko pomeni manjkajoče podatke ali ni na voljo podatkov za izračun rezultata (npr. na samem začetku našega okvira, kjer okno drsenja širine 8 še ni na voljo). Da bo graf lepši, moramo te vrednosti zapolniti z uporabo funkcij `replace` in `fillna`.\n",
"V grafu lahko vidite, da so nekateri presledki. Do njih lahko pride bodisi zaradi `NaN`, če so v podatkovnem naboru prisotne vrednosti `inf`. Vrednosti `inf` so lahko posledica deljenja z 0, `NaN` pa lahko pomeni manjkajoče podatke ali ni na voljo podatkov za izračun rezultata (npr. na samem začetku našega okvira, kjer drseče okno širine 8 še ni na voljo). Da bo graf lepši, moramo te vrednosti zapolniti z uporabo funkcij `replace` in `fillna`.\n",
"\n",
"Poglejmo zdaj še začetek pandemije. Omejili bomo tudi vrednosti osi y, da bomo prikazali samo vrednosti pod 6, da se bolje vidi, ter narisali vodoravno črto pri 1.\n"
"Oglejmo si še začetek pandemije. Omejili bomo vrednosti na osi y, da bodo prikazane samo vrednosti pod 6, da bomo bolje videli, ter narisali vodoravno črto pri 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Še en zanimiv pokazatelj pandemije je **derivat**, ali **dnevna razlika** v novih primerih. Omogoča nam jasno videti, kdaj pandemija narašča ali upada.\n"
"Še en zanimiv pokazatelj pandemije je **odvod**, ali **dnevna razlika** v novih primerih. Omogoča nam jasno videti, kdaj pandemija narašča ali upada.\n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Glede na dejstvo, da je v podatkih veliko nihanj zaradi poročanja, je smiselno zgladiti krivuljo z izvajanjem tekočega povprečja, da dobimo splošno sliko. Osredotočimo se ponovno na prve mesece pandemije:\n"
"Glede na dejstvo, da je v podatkih veliko nihanj zaradi poročanja, ima smisel gladiti krivuljo z uporabo drsečega povprečja, da dobimo celotno sliko. Ponovno se osredotočimo na prve mesece pandemije:\n"
]
},
{
@ -2390,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Izziv\n",
"\n",
"Zdaj je čas, da se z igro s kodo in podatki še bolj poigrate! Tukaj je nekaj predlogov, s katerimi lahko eksperimentirate:\n",
"Zdaj je čas, da se več igrate s kodo in podatki! Tukaj je nekaj predlogov, s katerimi lahko eksperimentirate:\n",
"* Oglejte si širjenje pandemije v različnih državah.\n",
"* Narišite grafe $R_t$ za več držav na enem grafu za primerjavo ali naredite več grafov drug poleg drugega.\n",
"* Preverite, kako število smrti in ozdravitev korelira s številom okuženih.\n",
"* Poskusite ugotoviti, kako dolgo tipično traja bolezen z vizualno korelacijo stopnje okužb in stopnje smrti ter iskanjem anomalij. Morda boste morali pogledati različne države, da to ugotovite.\n",
"* Izračunajte stopnjo smrtnosti in kako se spreminja skozi čas. Morda boste želeli upoštevati dolžino bolezni v dneh, da pred izračuni premaknete eno časovno serijo.\n"
"* Prikažite grafe $R_t$ za več držav na enem grafu za primerjavo ali naredite več grafov drugi ob drugem\n",
"* Oglejte si, kako se število smrti in okrevanj korelira s številom okuženih primerov.\n",
"* Poskusite ugotoviti, kako dolgo običajno traja bolezen, tako da vizualno korelirate stopnjo okužb in stopnjo smrtnih primerov ter iščete nekatere anomalije. Morda boste morali pogledati različne države, da to ugotovite.\n",
"* Izračunajte stopnjo smrtnosti in kako se spreminja skozi čas. Upoštevati boste morda želeli dolžino trajanja bolezni v dneh, da pred izračuni za eno časovno serijo naredite zamik.\n"
]
},
{
@ -2406,8 +2408,8 @@
"source": [
"## Reference\n",
"\n",
"Za nadaljnje študije širjenja epidemije COVID lahko pogledate v naslednje publikacije:\n",
"* [Model drsečega SIR za oceno Rt med pandemijo COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), blog zapis avtorja [Dmitry Soshnikov](http://soshnikov.com)\n",
"Lahko si ogledate nadaljnje študije širjenja epidemije COVID v naslednjih publikacijah:\n",
"* [Drseči SIR model za oceno Rt med pandemijo COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), blog zapis avtorja [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Ocena časovno odvisnega reprodukcijskega števila za globalni izbruh COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Koda za zgornji članek na GitHub](https://github.com/shwars/SlidingSIR)\n"
]
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Opozorilo**:\nTa dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatski prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v maternem jeziku velja za avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Omejitev odgovornosti**:\nTa dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za kritične informacije je priporočljiv strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
# Projekt vizualizacije podatkov Dangerous Liaisons
# Vizualizacija podatkov projekta Nevarne povezave
Za začetek se prepričajte, da imate na svojem računalniku nameščena NPM in Node. Namestite odvisnosti (npm install) in nato projekt zaženite lokalno (npm run serve):
Za začetek morate zagotoviti, da imate na svojem računalniku nameščen NPM in Node **>=20.0.0**. Namestite odvisnosti (npm install) in nato zaženite projekt lokalno (npm run serve):
Oglejte si [Configuration Reference](https://cli.vuejs.org/config/).
---
**Omejitev odgovornosti**:
Ta dokument je bil preveden z uporabo storitve za strojno prevajanje [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki izhajajo iz uporabe tega prevoda.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Omejitev odgovornosti**:
Ta dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za kritične informacije je priporočljiv strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.
# Projekt vizualizacije podatkov Dangerous Liaisons
Za začetek se prepričajte, da imate na svojem računalniku nameščena NPM in Node. Namestite odvisnosti (npm install) in nato zaženite projekt lokalno (npm run serve):
Za začetek morate zagotoviti, da imate na svojem računalniku nameščen NPM in Node **>=20.0.0**. Namestite odvisnosti (npm install) in nato zaženite projekt lokalno (npm run serve):
Oglejte si [Reference konfiguracije](https://cli.vuejs.org/config/).
---
**Omejitev odgovornosti**:
Ta dokument je bil preveden z uporabo storitve za strojno prevajanje [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki izhajajo iz uporabe tega prevoda.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Omejitev odgovornosti**:
Ta dokument je bil preveden z uporabo AI prevajalske storitve [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za kritične informacije je priporočljiv strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.
| ](../../sketchnotes/03-DefiningData.png)|
| ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|Дефинисање података - _Скетч од [@nitya](https://twitter.com/nitya)_ |
|Дефинисање података - _Sketchnote од [@nitya](https://twitter.com/nitya)_ |
Подаци су чињенице, информације, запажања и мерења која се користе за открића и подршку информисаним одлукама. Једна јединица података унутар скупа података назива се тачка података, а скуп података је колекција тих тачака. Скупови података могу бити у различитим форматима и структурама, и обично ће зависити од извора, односно одакле потичу подаци. На пример, месечни приходи компаније могу бити у табели, док подаци о срчаном пулсу на сат из паметног сата могу бити у [JSON](https://stackoverflow.com/a/383699) формату. Уобичајено је да научници који се баве подацима раде са различитим типовима података унутар једног скупа података.
Подаци су чињенице, информације, посматрања и мерења која се користе за открића и подршку информисаним одлукама. Појединачна јединица података унутар скупа података је појединачна тачка података, а скуп података је збирка таквих тачака. Скупови података могу имати различите формате и структуре, и обично зависи од извора или од места одакле подаци потичу. На пример, месечни приходи компаније могу бити у табелиу програму за табеларне прорачуне, док подаци о срчаном ритму по сату са паметног сатa могу бити у [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 минута добије ажурирање које му омогућава да мери и бележи температуру, не захтева измену постојећих података ако су неструктурисани. Међутим, то може учинити анализу или истраживање оваквих података дужим процесом. На пример, научник који жели да пронађе просечну температуру претходног месеца из података сензора, али открије да је сензор забележио "е" у неким својим подацима како би означио да је био покварен уместо типичног броја, што значи да су подаци непотпуни.
### Неструктурирани подаци
Неструктурирани подаци обично не могу бити категорисани у редове или колоне и немају одређен формат или скуп правила. Пошто су ови подаци мање ограничени у структури, лакше је додавати нове информације у поређењу са структурираним скупом података. Ако сензор који записује атмосферски притисак на свака 2 минута добије ажурирање које му омогућава мерење и температуре, не мора да мења постојеће податке ако су неструктурирани. Међутим, ово може учинити анализу или истраживање таквих података дуже. На пример, научник који жели да пронађе просечну температуру претходног месеца из података сензора, али открије да је сензор у неким записима уместо броја ставио „e“ да би означио да је био неисправан, што значи да су подаци непотпуни.
Примери неструктурисаних података: текстуалне датотеке, текстуалне поруке, видео датотеке.
Примери неструктурираних података: текстуални фајлови, СМС поруке, видео фајлови
### Полуструктурисани подаци
Полуструктурисани подаци имају карактеристике које их чине комбинацијом структурисаних и неструктурисаних података. Обично не одговарају формату редова и колона, али су организовани на начин који се сматра структурисаним и могу следити фиксни формат или сет правила. Структура ће варирати између извора, од добро дефинисане хијерархије до нечег флексибилнијег што омогућава лаку интеграцију нових информација. Метаподаци су показатељи који помажу у одлучивању како су подаци организовани и складиштени и имају различита имена, у зависности од типа података. Неки уобичајени називи за метаподатке су ознаке, елементи, ентитети и атрибути. На пример, типична порука е-поште ће имати тему, тело и сет прималаца и може се организовати према томе ко је послао или када је послата.
### Полу-структурирани подаци
Полу-структурирани подаци имају особине које их чине комбинацијом структурираних и неструктурираних података. Они обично не прате формат редова и колона, али су организовани на начин који се сматра структурисаним и могу пратити фиксни формат или скуп правила. Структура варира у зависности од извора, од добро дефинисане хијерархије до нечег флексибилнијег што омогућава лаку интеграцију нових информација. Мета-подаци су показатељи који помажу у одређивању како су подаци организовани и чувају се под различитим именима у зависности од типа података. Нека уобичајена имена за метаподатке су тагови, елементи, ентитети и атрибути. На пример, типична имејл порука има предмет, тело поруке и скуп прималаца и може се организовати према томе коју је и када послао.
Извор података је почетна локација где су подаци генерисани или где "живе" и варираће у зависности од тога како и када су прикупљени. Подаци генерисани од стране корисника називају се примарни подаци, док секундарни подаци долазе из извора који је прикупио податке за општу употребу. На пример, група научника која прикупља запажања у прашуми сматра се примарним извором, а ако одлуче да их поделе са другим научницима, то би се сматрало секундарним за оне који их користе.
Извор података је почетна локација где су подаци генерисани или где „живе“ и варира у зависности од начина и времена прикупљања. Подаци које генеришу њихови корисници познати су као примарни подаци, док секундарни подаци долазе из извора који је прикупио податке за општу употребу. На пример, група научника која прикупља посматрања у прашуми би се сматрала примарним извором, а ако одлуче да те податке деле са другим научницима, онда за оне који их користе ти подаци постају секундарни.
Базе података сууобичајени извор и ослањају се на систем за управљање базама података за хостовање и одржавање података, где корисници користе команде назване упити за истраживање података. Датотеке као извори података могу бити аудио, сликовне и видео датотеке, као и табеле попут Excel-а. Интернет извори су уобичајена локација за хостовање података, где се могу наћи базе података као и датотеке. Интерфејси за програмирање апликација, познати као API-ји, омогућавају програмерима да креирају начине за дељење података са спољним корисницима преко интернета, док процес веб скрепинга извлачи податке са веб странице. [Лекције у раду са подацима](../../../../../../../../../2-Working-With-Data) фокусирају се на то како користити различите изворе података.
Базе података сучест извор и ослањају се на систем за управљање базама података који је домаћин и одржава податке, где корисници користе команде зване упити да би истражили податке. Фајлови као извори података могу бити аудио, сликовни, и видео фајлови као и табеле као што је Excel. Интернет извори су уобичајена локација за хостовање података, где се могу наћи базе података као и фајлови. Апликациони програмски интерфејси, познати као API-ји, омогућавају програмерима да креирају начине за дељење података са спољним корисницима преко интернета, док процес web scraping-а издваја податке са веб странице. [Лекције у одељку Рад са подацима](../../../../../../../../../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)
## Преглед и самостално учење
## Ревизија и самостални рад
- Ова јединица на Microsoft Learn-у, под називом [Класификујте своје податке](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), има детаљан преглед структурисаних, полуструктурисаних и неструктурисаних података.
- Ова Microsoft Learn јединица, под називом [Identify data formats](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). Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.
"У овом нотебуку ћемо се играти са неким од концепата које смо раније дискутовали. Многи концепти из вероватноће и статистике су добро представљени у главним библиотекама за обраду података у Python-у, као што су `numpy` и `pandas`.\n"
"У овом бележнику ћемо се поиграти са неким од концепата које смо раније поменули. Многи концепти из вероватноће и статистике добро су представљени у важним библиотекама за обраду података у Питону, као што су `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-у и раду са подацима у Питону касније у овом курсу.\n",
"> Овде користимо пакет који се зове [**Pandas**](https://pandas.pydata.org/) за анализу података. Више ћемо разговарати о Pandas-у и раду са подацима у Питону касније у овом курсу.\n",
"\n",
"Израчунaјмо просечне вредности за старост, висину и тежину:\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"
"Такође можемо направити кутијасте дијаграме за подскупове нашег скупа података, на пример, груписане по улози играча.\n"
"Такође можемо направити дијаграме кутија за подскупове нашег скупа података, на пример, груписано по улози играча.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Напомена**: Овај дијаграм сугерише да су просечне висине првих базмена веће од висина других базмена. Касније ћемо научити како можемо формалније тестирати ову хипотезу и како показати да су наши подаци статистички значајни за то.\n",
"> **Напомена**: Овај дијаграм сугерише да су просечне висине првих бајсмена веће од висина других бајсмена. Касније ћемо научити како формалније тестирати ову хипотезу и како показати да су наши подаци статистички значајни да то потврде. \n",
"\n",
"Године, висина и тежина су све континуиране случајне променљиве. Шта мислите какав им је распоред? Добар начин да то сазнате је да исцртате хистограм вредности:\n"
"Године, висина и тежина су све континуалне случајне променљиве. Како мислите који је њихов распоред? Добар начин да сазнате је да нацртате хистограм вредности:\n"
]
},
{
@ -190,7 +190,7 @@
"source": [
"## Нормална расподела\n",
"\n",
"Хајде да креирамо вештачки узорак тежина који следи нормалну расподелу са истим средњом вредношћу и варијансом као и наши стварни подаци:\n"
"Хајде да направимо вештачки узорак тежина који прати нормалну расподелу са истом средњом вредношћу и варијансом као и наши стварни подаци:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Пошто су већина вредности у стварном животу нормално распоређене, не бисмо требали користити униформни генератор случајних бројева за генерисање узорка података. Ево шта се дешава ако покушамо да генеришемо тежине са униформном дистрибуцијом (генерисано помоћу `np.random.rand`):\n"
"Пошто је већина вредности у стварном животу нормално распоређена, не бисмо требали користити јединствени генератор насумичних бројева за генерисање узорка података. Ево шта се дешава када покушамо да генеришемо тежине са једноликом расподелом (генерисано помоћу `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}\")"
]
},
@ -282,7 +282,7 @@
"source": [
"## Тестирање хипотеза\n",
"\n",
"Хајде да истражимо различите улоге у нашем скупу података о бејзбол играчима:\n"
"Хајде да истражимо различите улоге у нашем скупу података играча бејзбола:\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Хајде да тестирамо хипотезу да суиграчи прве базе виши од играча друге базе. Најједноставнији начин да то урадимо је да тестирамо интервале поузданости:\n"
"Хајде да тестирамо хипотезу да супрви базни играчи виши од других базних играча. Најједноставнији начин да се то уради је да се тестирају интервали поверења:\n"
]
},
{
@ -319,7 +319,7 @@
"source": [
"Можемо видети да се интервали не преклапају.\n",
"\n",
"Статистички исправнији начин да се докаже хипотеза је коришћењем **Student t-теста**:\n"
"Статистички исправнији начин да се докаже хипотеза је коришћење **Student t-теста**:\n"
]
},
{
@ -339,17 +339,17 @@
"metadata": {},
"source": [
"Две вредности које враћа функција `ttest_ind` су:\n",
"* p-вредност семоже сматрати вероватноћом да две дистрибуције имају исти просек. У нашем случају, она је врло ниска, што значи да постоје чврсти докази који подржавају да су први базични играчи виши.\n",
"* t-вредност јепосредна вредност нормализоване разлике просека која се користи у t-тесту, и упоређује сеса праговном вредношћу за дати ниво поверења.\n"
"* p-вредност можесе сматрати вероватноћом да две дистрибуције имају исти просек. У нашем случају, она је веома ниска, што значи да постоје снажни докази који подржавају да су први бекови виши.\n",
"* t-вредност јеинтермедијарна вредност нормализоване разлике просека која се користи у t-тесту и упоређује сеса праговом вредношћу за дати ниво поверења.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Симулација нормалне расподеле помоћу централне граничне теореме\n",
"## Симулирање нормалне расподеле помоћу централне граничне теореме\n",
"\n",
"Псеудо-рандом генератор у Пајтону је дизајниран да нам да једноличну расподелу. Ако желимо да креирамо генератор за нормалну расподелу, можемо користити централну граничну теорему. Да бисмо добили нормално распоређену вредност, једноставно ћемо израчунати средњу вредност узорка добијеног једноличним генератором.\n"
"Псеудо-случајни генератор у Пајтону је дизајниран да нам обезбеди једнаку расподелу. Ако желимо да направимо генератор за нормалну расподелу, можемо користити централну граничну теорему. Да бисмо добили вредност са нормалном расподелом, једноставно ћемо израчунати средњу вредност узорка генерисаног једнаком расподелом.\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Корелација и Зла бејзбол корпорација\n",
"## Корелација и Зли бејзбол корпорација\n",
"\n",
"Корелација нам омогућава да пронађемо везе између секвенци података. У нашем примеру за игру, претпоставимо да постоји зла бејзбол корпорација која плаћа своје играче у зависности од њихове висине - што је играч виши, то више новца добија. Претпоставимо да постоји базична плата од 1000 долара и додатни бонус од 0 до 100 долара, у зависности од висине. Узећемо праве играче из МЛБ-а и израчунати њихове замишљене плате:\n"
"Корелација нам омогућава да пронађемо везе између секвенци података. У нашем примерку, претварамо се да постоји једна зла бејзбол корпорација која плаћа своје играче у складу са њиховом висином - што је играч виши, то више новца добија. Претпоставимо да постоји основна плата од 1000$, и додатни бонус од 0 до 100$, у зависности од висине. Узећемо праве играче из МЛБ и израчунаћемо њихове замишљене плате:\n"
"Хајде сада да израчунамо коваринацију и корелацију тих секвенци. `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,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Нажалост, нисмо добили никакве резултате - само неке чудне `nan` вредности. Тоје због тога што су неке вредности у нашој серији неодређене, представљене као `nan`, што узрокује да и резултат операције буде неодређен. Гледајући матрицу можемо видети да је `Weight` проблематичан колона, зато што је израчуната аутокорелација између вредности `Height`.\n",
"Нажалост, нисмо добили никакве резултате - само неке чудне `nan` вредности. Тоје због тога што су неке од вредности у нашој серији неидефинисане, представљене као `nan`, што узрокује да и резултат операције буде неидефинисан. Гледајући матрицу можемо видети да је `Weight` проблематичан колона, јерје израчуната само-корелација између вредности `Height`.\n",
"\n",
"> Овај пример показује значај **припреме података** и **чишћења**. Без одговарајућих података не можемо ништа израчунати.\n",
"> Овај пример показује важност **припреме података** и **чишћења**. Без правилних података не можемо ништа израчунати.\n",
"\n",
"Хајде да користимо методу `fillna` да попунимо недостајуће вредности и израчунамо корелацију:\n"
"Хајде да користимо метод `fillna` да попунимо недостајуће вредности и израчунамо корелацију:\n"
"Постоји заиста корелација, али не толико јака као у нашем вештачком примеру. Заиста, ако погледамо дијаграм распршења једне вредности у односу на другу, веза би била знатно мање очигледна:\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Овај документ је преведен коришћењем 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Овај документ је преведен коришћењем услуге за аутоматски превод [Co-op Translator](https://github.com/Azure/co-op-translator). Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Користићемо податке о инфицираним особама вирусом COVID-19, које је обезбедио [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) на [Johns Hopkins University](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": [
"Можемо учитати најновије податке директно саГитХаба користећи `pd.read_csv`. Ако из неког разлога подаци нису доступни, увек можете користити копију која јеналази локално у фолдру `data` - једноставно уклоните коментар са линије испод која дефинише `base_url`:\n"
"Можемо учитати најновије податке директно саGitHub-а помоћу `pd.read_csv`. Ако из неког разлога подаци нису доступни, увек можете користити копију која једоступна локално у фасцикли `data` - само уклоните коментар испод који дефинише `base_url`:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Можемо видети да сваки ред табеле дефинише број заражених појединца за сваку земљу и/или провинцију, а колоне одговарају датумима. Сличне табеле могу се учитати и за друге податке, као што субројопорављених и број умрлих.\n"
"Можемо видети да сваки ред табеле дефинише број заражених појединаца за сваку земљу и/или покрајину, а колоне одговарају датумима. Сличне табеле могу се учитати за друге податке, као што субројизлечених и број умрлих.\n"
]
},
{
@ -284,7 +284,7 @@
"source": [
"## Разумевање података\n",
"\n",
"Из табеле изнад није јасна улога колоне провинције. Хајде да видимо различите вредности које се налазе у колони `Province/State`:\n"
"Са горње табеле улога колоне покрајина није јасна. Хајде да погледамо различите вредности које се налазе у колони `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-ови сада индексирани по Држави/Региону. Тако можемо приступити подацима за одређену државу користећи `.loc`:|\n"
"Можете видети да су услед коришћења `groupby` сви DataFrame-ови сада индексирани по земљи/региону. Стога можемо приступити подацима за одређену земљу коришћењем `.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",
"* Нацртај графиконе $R_t$ за неколико земаља на једном графикону ради поређења, или направи неколико графикона постављених један поред другог.\n",
"* Погледај како број смртних случајева и опоравка корелира са бројем заражених.\n",
"* Покушај да откријеш колико типично траје болест визуелним корелирањем стопе инфекције и стопе смртности и тражењем неких аномалија. Можда ћеш морати да погледаш различите земље да би то сазнао.\n",
"* Израчунај стопу смртности и како се она мења током времена. Можда ћеш желети да узмеш у обзир дужину трајања болести у данима да помераш један временски низ пре него што урадиш прорачуне.\n"
"Сада је време да се више игратеса кодом и подацима! Ево неколико предлога са којима можете експериментисати:\n",
"* Погледајте ширење пандемије у различитим земљама.\n",
"* Нацртајте графиконе $R_t$ за неколико земаља на једном графикону ради поређења, или направите неколико графикона један поред другог\n",
"* Погледајте какосеброј смртних случајева и опоравка корелира са бројем заражених случајева.\n",
"* Покушајте да сазнате колико типична болест траје визуелно корелирајући стопу инфекције и стопу смртности и тражећи неке аномалије. Можда ћете морати да погледате различите земље да бисте то сазнали.\n",
"* Израчунајте стопу смртности и како се она мења током времена. Можда ћете желети да узмете у обзир дужину трајања болести у данима да бисте померили једну временску серију пре израчунавања\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",
"* [Code for the above paper on GitHub](https://github.com/shwars/SlidingSIR)\n"
"Можете погледати даље студије о ширењу епидемије ковидау следећим публикацијама:\n",
"* [Слајдинг СИР модел за процену Рт током ковид пандемије](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), блог пост од [Дмитрија Сошникова](http://soshnikov.com)\n",
"* Т.Петрова, Д.Сошников, А.Грунин. [Процена временски зависног репродуктивног броја за глобалну ковид-19 појаву](https://www.preprints.org/manuscript/202006.0289/v1). *Препринтс* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Код за горњи рад на Гитхабу](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"
# Пројекат визуализације података Dangerous Liaisons
# Пројекат визуализације података Џенерал Лијаизонс
Да бисте започели, потребно је да се уверите да су NPM и Node инсталирани и покренути на вашем рачунару. Инсталирајте зависности (npm install) и затим покрените пројекат локално (npm run serve):
Да бисте почели, морате да обезбедите да имате НПМ и Ноде **>=20.0.0** који раде на вашем рачунару. Инсталирајте зависности (npm install) и затим покрените пројекат локално (npm run serve):
## Подешавање пројекта
```
npm install
```
### Компилација и аутоматско освежавање за развој
### Компилација и хотрелоад током развоја
```
npm run serve
```
### Компилација и минимизација за продукцију
### Компилација и минификовање за продукцију
```
npm run build
```
### Провера и исправљање датотека
### Проверa и исправка датотека
```
npm run lint
```
### Прилагођавање конфигурације
Погледајте [Референцу за конфигурацију](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). Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.
# Пројекат визуализације података 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
```
@ -27,5 +27,7 @@ npm run lint
---
**Одрицање од одговорности**:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [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). Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.