| ](../../sketchnotes/03-DefiningData.png)|
| ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|Определяне на данни - _Скетч от [@nitya](https://twitter.com/nitya)_ |
|Дефиниране на Данни - _Скетчноут от [@nitya](https://twitter.com/nitya)_ |
Данните са факти, информация, наблюдения и измервания, които се използват за открития и за подкрепа на информирани решения. Една точка от данни е единична единица данни в рамките на набор от данни, който представлява колекция от точки от данни. Наборите от данни могат да бъдат в различни формати и структури и обикновено се базират на техния източник или откъде идват данните. Например, месечните приходи на една компания може да са в електронна таблица, но данните за сърдечния ритъм на час от смарт часовник може да са във формат [JSON](https://stackoverflow.com/a/383699). Често специалистите по данни работят с различни типове данни в рамките на един набор от данни.
Данните са факти, информация, наблюдения и измервания, които се използват за правене на открития и за подпомагане на информирани решения. Точка от данни е една единица данни в набор от данни, който е колекция от точки данни. Наборите от данни могат да имат различни формати и структури, обикновено базирани на техния източник или откъде произхождат данните. Например месечните приходи на компанията може да са в електронна таблица, но почасовите данни за сърдечния ритъм от смартчасовник могат да са във формат [JSON](https://stackoverflow.com/a/383699). Обичайно е за специалистите по данни да работят с различни видове данни в рамките на набор от данни.
Този урок се фокусира върху идентифицирането и класифицирането на данни според техните характеристики и източници.
Този урок се фокусира върху идентифициране и класифициране на данните според техните характеристики и източници.
## [Тест преди лекцията](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Как се описват данните
### Сурови данни
Суровите данни са данни, които идват от своя източник в първоначалното си състояние и не са анализирани или организирани. За да се разбере какво се случва сдаден набор от данни, той трябва да бъде организиран във формат, който може да бъде разбран както от хората, така и от технологиите, които те могат да използват за по-нататъшен анализ. Структурата на набора от данни описва как е организиран и може да бъде класифициран като структуриран, неструктуриран и полуструктуриран. Тези типове структури ще варират в зависимост от източника, но в крайна сметка ще попаднат в тези три категории.
### Необработени Данни
Необработените данни са данни, които са дошли от своя източник в първоначалното си състояние и не са анализирани или организирани. За да се разбере какво се случва с набора от данни, той трябва да бъде организиран в формат, който може да бъде разбран както от хората, така и от използваните технологии за по-нататъшен анализ. Структурата на набора от данни описва как е организиран и може да бъде класифицирана като структурирана, неструктурирана и полуструктурирана. Тези типове структура ще варират в зависимост от източника, но в крайна сметка попадат в тези три категории.
### Количествени данни
Количествените данни са числови наблюдения в рамките на набор от данни и обикновено могат да бъдат анализирани, измервани и използвани математически. Някои примери за количествени данни са: населението на дадена страна, височината на човек или тримесечните приходи на компания. С допълнителен анализ количествените данни могат да се използват за откриване на сезонни тенденции в индекса за качество на въздуха (AQI) или за оценка на вероятността за трафик в час пик в типичен работен ден.
### Количествени Данни
Количествените данни са числени наблюдения в даден набор от данни, които обикновено могат да бъдат анализирани, измерени и използвани математически. Някои примери за количествени данни са: населението на дадена страна, ръстът на човек или тримесечните приходи на компания. С допълнителен анализ количествените данни могат да се използват за откриване на сезонни тенденции на Индекса за качество на въздуха (AQI) или за оценка вероятността от задръствания по време на обичайните часове на пиково движение.
### Качествени данни
Качествените данни, известни още като категорийни данни, са данни, които не могат да бъдат измерени обективно като наблюденията на количествени данни. Те обикновеноса различни формати на субективни данни, които улавят качеството на нещо, като продукт или процес. Понякога качествените данни са числови, но не се използват математически, като телефонни номера или времеви отпечатъци. Някои примери за качествени данни са: коментари към видеоклипове, марка и модел на автомобил или любимият цвят на най-близките ви приятели. Качествените данни могат да се използват за разбиране кои продукти потребителите харесват най-много или за идентифициране на популярни ключови думи в автобиографии за работа.
### Качествени Данни
Качествените данни, известни още като категорични данни, са данни, които не могат да бъдат измерени обективно като количествените данни. Обикновено товаса различни формати на субективни данни, които улавят качеството на нещо, като продукт или процес. Понякога качествените данни са числени, но обичайно не се използват математически, като телефонни номера или времеви марки. Някои примери за качествени данни са: видеокоментари, марка и модел на кола или любимият цвят на най-близките ти приятели. Качествените данни могат да се използват да се разбере кои продукти са най-харесвани от потребителите или да се идентифицират популярни ключови думи в автобиографии за работа.
### Структурирани данни
Структурираните данни са данни, които саорганизирани в редове и колони, където всеки ред има един и същ набор от колони. Колоните представляват стойност от определен тип и се идентифицират с име, описващо какво представлява стойността, докато редовете съдържат действителните стойности. Колоните често имат специфичен набор от правила или ограничения за стойностите, за да се гарантира, че стойностите точно представят колоната. Например, представете си електронна таблица с клиенти, където всеки ред трябва да има телефонен номер и телефонните номера никога не съдържат буквени символи. Може да има правила, приложени към колоната за телефонен номер, за да се гарантира, че тя никога не е празна и съдържа само числа.
### Структурирани Данни
Структурираните данни са данни, организирани в редове и колони, където всеки ред има същия набор от колони. Колоните представят стойност от определен тип и са идентифицирани с имена, описващи какво представлява стойността, докато редовете съдържат действителните стойности. Колоните често имат специфичен набор от правила или ограничения за стойностите, за да се гарантира, че стойностите точно представляват колоната. Например, представете си електронна таблица с клиенти, където всеки ред трябва да има телефонен номер и телефонните номера никога не съдържат буквени символи. Могат да се прилагат правила за колоната с телефонни номера, за да се гарантира, че никога не е празна и съдържа само числа.
Предимство на структурираните данни е, че те могат да бъдат организирани по начин, който позволява връзкас други структурирани данни. Въпреки това, тъй като данните са проектирани да бъдат организирани по специфичен начин, промяната на цялостната им структура може да изисква много усилия. Например, добавянето на колона за имейл към таблицатас клиенти, която не може да бъде празна, означава, че ще трябва да измислите как да добавите тези стойности към съществуващите редовес клиенти в набора от данни.
Предимството на структурирани данни е, че те могат да бъдат организирани така, че да могат да се свързватс други структурирани данни. Въпреки това, тъй като данните са проектирани да бъдат организирани по определен начин, правенето на промени в цялостната им структура може да изисква много усилия. Например, добавянето на колона за имейл към таблица с клиенти, която не може да е празна, означава, че трябва да разберете как да добавите тези стойности към вече съществуващите редове в набора от данни.
Примери за структурирани данни: електронни таблици, релационни бази данни, телефонни номера, банкови извлечения.
Примери за структурирани данни: електронни таблици, релационни бази данни, телефонни номера, банкови извлечения
### Неструктурирани данни
Неструктурираните данни обикновено не могат да бъдат категоризирани в редове или колони и не съдържат формат или набор от правила за следване. Тъй като неструктурираните данни имат по-малко ограничения върху структурата си, е по-лесно да се добавя нова информация в сравнение със структуриран набор от данни. Ако сензор, който записва данни за барометрично налягане на всеки 2 минути, получи актуализация, която му позволява да измерва и записва температура, това не изисква промяна на съществуващите данни, ако теса неструктурирани. Въпреки това, анализирането или изследването на този тип данни може да отнеме повече време. Например, учен, който иска да намери средната температура за предходния месец от данните на сензора, но открива, че сензорът е записал "e" в някои от своите данни, за да отбележи, че е бил повреден, вместо типично число, което означава, че данните са непълни.
### Неструктурирани Данни
Неструктурираните данни обикновено не могат да бъдат категоризирани в редове или колони и не съдържат формат или набор от правила за следване. Тъй като нестуктурираните данни имат по-малко ограничения върху структурата си, е по-лесно да се добави нова информация в сравнение със структуриран набор от данни. Ако сензор, който измерва барометричното налягане на всеки 2 минути, получи актуализация, която му позволява да мери и записва температура, не е нужно да се изменят съществуващите данни, акоса неструктурирани. Въпреки това, това може да направи анализа или изследването на този тип данни по-бавно. Например, учен, който иска да намери средната температура за предходния месец от сензорните данни, но открива, че сензорът е записал "е" в някои от записите си, за да отбележи, че е бил повреден, вместо обичайно число, което означава, че данните са непълни.
Примери за неструктурирани данни: текстови файлове, текстови съобщения, видео файлове.
Примери за неструктурирани данни: текстови файлове, текстови съобщения, видео файлове
### Полуструктурирани данни
Полуструктурираните данни имат характеристики, които ги правят комбинация от структурирани и неструктурирани данни. Те обикновено не се съобразяват с формат на редове и колони, но са организирани по начин, който се счита за структуриран и може да следва фиксиран формат или набор от правила. Структурата ще варира между източниците, като например добре дефинирана йерархия или нещо по-гъвкаво, което позволява лесна интеграция на нова информация. Метаданните са индикатори, които помагат да сереши как данните са организирани и съхранявани и ще имат различни имена, в зависимост от типа данни. Някои често срещани имена за метаданни са тагове, елементи, обекти и атрибути. Например, типично съобщение по имейл ще има тема, тяло и набор от получатели и може да бъде организирано според това кой или кога гое изпратил.
### Полу-структурирани Данни
Полу-структурираните данни имат характеристики на комбинация от структурирани и неструктурирани данни. Те обикновено не съответстват на формат на редове и колони, но са организирани по начин, който се счита за структуриран и могат да следват фиксиран формат или набор от правила. Структурата варира в зависимост от източника, като може да е добре дефинирана йерархия или нещо по-гъвкаво, което позволява лесна интеграция на нова информация. Метаданните са индикатори, които помагат да сеопредели как са организирани и съхранявани данните и имат различни имена в зависимост от вида на данните. Някои чести имена за метаданни са тагове, елементи, единици и атрибути. Например типично имейл съобщение има тема, тяло и набор получатели и може да бъде организирано по това кой или кога е изпратено.
Източникът на данни е първоначалното местоположение, където данните са генерирани или където "живеят" и ще варира в зависимост от това как и кога са събрани. Данните, генерирани от техните потребители, са известни като първични данни, докато вторичните данни идват от източник, който е събрал данни за общо ползване. Например, група учени, които събират наблюдения в тропическа гора, биха се считали за първичен източник, а ако решат да ги споделят с други учени, това би се считало за вторичен източник за тези, които ги използват.
Източник на данни е първоначалното място, където са генерирани данните или където „живеят“ и варира в зависимост от начина и времето на събирането им. Данните, генерирани от техния потребител(и), се наричат първични данни, докато вторичните данни идват от източник, който е събрал данни за обща употреба. Например група учени, събиращи наблюдения в тропическа гора, биха били считани за първичен източник, а ако решат да споделят данните с други учени, те ще са вторичен източник за тези, които ги използват.
Базите данни са често срещан източник и разчитат на система за управление на бази данни, за да хостват и поддържат данните, където потребителите използват команди, наречени заявки, за да изследват данните. Файловете като източници на данни могат да бъдат аудио, изображения и видео файлове, както и електронни таблици като Excel. Интернет източниците са често срещано място за хостване на данни, където могат да се намерят както бази данни, така и файлове. Програмните интерфейси за приложения, известни още като APIs, позволяват на програмистите да създават начини за споделяне на данни с външни потребители чрез интернет, докато процесът на уеб скрапинг извлича данни от уеб страница. [Уроците в Работа с данни](../../../../../../../../../2-Working-With-Data) се фокусират върху това как да се използват различни източници на данни.
Базите данни са често срещан източник и разчитат на система за управление на бази данни, за да хостват и поддържат данните, като потребителите използват команди, наречени заявки, за да изследват данните. Файловете като източници на данни могат да са аудио, изображения и видео файлове, както и електронни таблици като Excel. Интернет източниците са често място за хостване на данни, където могат да се намерят както бази данни, така и файлове. Програмните интерфейси за приложения, известни още като API, позволяват на програмистите да създават начини за споделяне на данни с външни потребители чрез интернет, докато процесът на уеб скрейпинг извлича данни от уеб страница. [Уроците за работа с данни](../../../../../../../../../2-Working-With-Data) са съсредоточени върху това как да се използват различни източници на данни.
## Заключение
В този урок научихме:
- Какво представляват данните
- Какво са данните
- Как се описват данните
- Как се класифицират и категоризират данните
- Къде могат да бъдат намерени данните
- Къде могат да се намерят данните
## 🚀 Предизвикателство
Kaggle е отличен източник на отворени набори от данни. Използвайте [инструмента за търсене на набори от данни](https://www.kaggle.com/datasets), за да намерите някои интересни набори от данни и класифицирайте 3-5 набора от данни според следните критерии:
Kaggle е отличен източник на отворени набори от данни. Използвайте [инструмента за търсене на набори от данни](https://www.kaggle.com/datasets), за да намерите някои интересни набори и класифицирайте 3-5 набора данни според следните критерии:
- Данните количествени ли са или качествени?
- Данните структурирани, неструктурирани или полуструктурирани ли са?
- Количествени или качествени са данните?
- Структурирани, неструктурирани или полу-структурирани ли са данните?
## [Тест след лекцията](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Преглед и самостоятелно обучение
- Този модул на Microsoft Learn, озаглавен [Класифициране на вашите данни](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), съдържа подробно описание на структурирани, полуструктурирани и неструктурирани данни.
## Задание
## Преглед и Самообучение
- Тази единица на Microsoft Learn, озаглавена [Идентифициране на формати на данни](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) съдържа детайлен анализ на структурирани, полу-структурирани и неструктурирани данни.
## Задача
[Класифициране на набори от данни](assignment.md)
---
**Отказ от отговорност**:
Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от отговорност**:
Този документ е преведен с помощта на AI преводачески услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
"В тази тетрадка ще се поразиграем с някои от концепциите, които вече обсъждахме. Много концепции от вероятността и статистиката са добре представени в основните библиотеки за обработка на данни в Python, като `numpy` и `pandas`.\n"
"В тази бележка ще си поиграем с някои от понятията, които вече дискутирахме. Много понятия от вероятността и статистиката са добре представени в основните библиотеки за обработка на данни в Python, като `numpy` и `pandas`.\n"
]
},
{
@ -25,7 +25,7 @@
"metadata": {},
"source": [
"## Случайни променливи и разпределения\n",
"Нека започнем с изтегляне на проба от 30 стойности от еднородно разпределение от 0 до 9. Ще изчислим и средната стойност и дисперсията.\n"
"Нека започнем с извадка от 30 стойности от равномерно разпределение от 0 до 9. Ще изчислим и средна стойност и дисперсия.\n"
]
},
{
@ -61,9 +61,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Анализ на реални данни\n",
"## Анализиране на реални данни\n",
"\n",
"Средната стойност и дисперсията са много важни при анализа на реални данни. Нека заредим данните за бейзболистите от [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"Средната стойност и вариацията са много важни при анализиране на данни от реалния свят. Нека заредим данните за бейзболисти от [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,7 +80,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Използваме пакет, наречен [**Pandas**](https://pandas.pydata.org/) тук за анализ на данни. Ще говорим повече за Pandas и работа с данни в Python по-нататък в този курс.\n",
"> Тук използваме пакет, наречен [**Pandas**](https://pandas.pydata.org/) за анализ на данни. Ще говорим повече за Pandas и работа с данни в Python по-нататък в този курс.\n",
"\n",
"Нека изчислим средните стойности за възраст, ръст и тегло:\n"
]
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Сега нека се съсредоточим върху височината и изчислим стандартното отклонение и дисперсията:\n"
"Сега нека се съсредоточим върху височината и изчислим стандартното отклонение и дисперсията:\n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"В допълнение към средната стойност, има смисъл да се разгледа медианата и квартили. Те могат да бъдат визуализирани с помощта на **box plot**:\n"
"В допълнение към средната стойност, логично е да се разгледат медианата и квартилите. Те могат да бъдат визуализирани с помощта на **коробкова диаграма**:\n"
"Можем също да направим кутии диаграми на подмножества от нашия набор от данни, например групирани по роля на играча.\n"
"Можем също така да направим кутиеобразни диаграми за подмножества от нашия набор от данни, например групирани по роля на играча.\n"
]
},
{
@ -165,7 +165,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Бележка**: Тази диаграма подсказва, че средно височините на първите бейзмени са по-големи от височините на вторите бейзмени. По-късно ще научим как можем да тестваме тази хипотеза по-формално и как да демонстрираме, че нашите данни са статистически значими, за да го покажем. \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"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Интервали на доверие\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"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Можем да видим, че интервалите не се припокриват.\n",
"Виждаме, че интервалите не се припокриват.\n",
"\n",
"Статистически по-коректен начин да докажем хипотезата е да използваме **тест на Стюдент (Student t-test)**:\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",
"Псевдо-случайният генератор в Python епроектиран да ни даде равно разпределение. Ако искаме да създадем генератор за нормално разпределение, можем да използваме централната гранична теорема. За да получим стойност с нормално разпределение, просто ще изчислим средноаритметичното на проба, генерирана с равно разпределение.\n"
"Псевдослучайният генератор в Python есъздаден да ни дава равномерно разпределение. Ако искаме да създадем генератор за нормално разпределение, можем да използваме теоремата за централната граница. За да получим стойност с нормално разпределение, просто ще изчислим средна стойност на проба, генерирана равномерно.\n"
]
},
{
@ -375,7 +375,7 @@
"source": [
"## Корелация и Evil Baseball Corp\n",
"\n",
"Корелацията ни позволява да намерим връзки между поредици от данни. В нашия опростен пример, нека си представим, че съществува зла бейзболна корпорация, която плаща на играчите си според техния ръст - колкото по-висок е играчът, толкова повече пари получава. Да приемем, че има базова заплата от 1000 долара и допълнителен бонус от 0 до 100 долара, в зависимост от ръста. Ще вземем реалните играчи от MLB и ще изчислим техните въображаеми заплати:\n"
"Корелацията ни позволява да намерим връзки между последователности от данни. В нашия пример за игра, нека си представим, че има зла бейзболна корпорация, която плаща на играчите си според тяхната височина - колкото по-висок е играчът, толкова повече пари получава. Да предположим, че има основна заплата от $1000 и допълнителен бонус от $0 до $100, в зависимост от височината. Ще вземем реалните играчи от MLB и ще пресметнем техните въображаеми заплати:\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,9 +494,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"За съжаление, не получихме никакви резултати - само някои странни стойности `nan`. Това се дължи на факта, че някои от стойностите в нашата серия са неопределени, представени като `nan`, което води до това резултатът от операцията също да е неопределен. Като погледнем матрицата, можем да видим, че колоната `Weight` е проблематична, защото е изчислена самокорелация между стойностите на `Height`.\n",
"За съжаление не получихме никакви резултати - само някои странни стойности `nan`. Това се дължи на факта, че някои от стойностите в нашата серия са неопределени, представени като `nan`, което прави резултата от операцията също неопределен. Като погледнем матрицата можем да видим, че `Weight` е проблемният стълб, защото е изчислена самокорелация между стойностите на `Height`.\n",
"\n",
"> Този пример показва значението на **подготовката на данните** и **почистването** им. Без подходящи данни не можем да изчислим нищо.\n",
"> Този пример показва важността на **подготовката на данните** и **почистването**. Без правилни данни не можем да изчислим нищо.\n",
"\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Този документ е преведен с помощта на AI преводачески услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Ще използваме данни за инфектирани с COVID-19, предоставени от [Центъра за системни науки и инженерство](https://systems.jhu.edu/) (CSSE) към [Университета Джонс Хопкинс](https://jhu.edu/). Наборът от данни е наличен в [този GitHub репозиторий](https://github.com/CSSEGISandData/COVID-19).\n"
"Ще използваме данни за инфектирани с COVID-19 лица, предоставени от [Центъра за науки и инженеринг на системи](https://systems.jhu.edu/) (CSSE) към [Университета Джон Хопкинс](https://jhu.edu/). Наборът от данни е наличен в [този GitHub хранилище](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Можем да заредим най-новите данни директно от GitHub, използвайки `pd.read_csv`. Ако по някаква причина данните не са налични, винаги можете да използвате копието, съхранено локално в папката `data` - просто махнете коментарите от реда по-долу, който дефинира `base_url`:\n"
"Можем да заредим най-новите данни директно от GitHub, като използваме `pd.read_csv`. Ако по някаква причина данните не са налични, винаги можете да използвате копието, налично локално в папката `data` - просто премахнете коментара от реда по-долу, който дефинира `base_url`:\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Нека сега заредим данните за заразените лица и да видим как изглеждат данните:\n"
"Сега нека заредим данните за заразените лица и да видим как изглеждат данните:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Можем да видим, че всеки ред от таблицата определя броя на заразените лица за всяка страна и/или провинция, а колоните съответстват на дати. Подобни таблици могат да бъдат заредени за други данни, като например броя на оздравелите и броя на починалите.\n"
"Виждаме, че всеки ред от таблицата определя броя на заразените лица за всяка държава и/или провинция, а колоните съответстват на дати. Подобни таблици могат да бъдат заредени за други данни, като брой на излекуваните и брой на смъртните случаи.\n"
]
},
{
@ -282,9 +282,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Разбиране на данните\n",
"## Осмисляне на данните\n",
"\n",
"От таблицата по-горе ролята на колоната провинция не е ясна. Нека видим различните стойности, които присъстват в колоната `Province/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"
]
},
{
@ -1625,9 +1625,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Разследване на данните\n",
"## Изследване на данните\n",
"\n",
"Нека сега преминем към разследване на конкретна държава. Нека създадем рамка, която съдържа данните за инфекции, индексирани по дата:\n"
"Сега нека преминем към изследване на конкретна страна. Нека създадем рамка, която съдържа данните за инфекциите, индексирани по дата:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Сега нека изчислим броя на новозаразените хора всеки ден. Това ще ни позволи да видим скоростта, с която пандемията прогресира. Най-лесният начин да го направим е да използваме `diff`:\n"
"Сега нека изчислим броя на новоинфектираните хора всеки ден. Това ще ни позволи да видим скоростта, с която се развива пандемията. Най-лесният начин да го направим е да използваме `diff`:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Явно има седмични колебания в данните. Тъй като искаме да можем да видим тенденциите, има смисъл да изгладим кривата, като изчислим подвижната средна стойност (т.е. за всеки ден ще изчислим средната стойност на предходните няколко дни):\n"
"Явно има седмични колебания в данните. Тъй като искаме да можем да видим тенденциите, има смисъл да изгладим кривата чрез изчисляване на подвижно средно (т.е. за всеки ден ще изчислим средната стойност на предходните няколко дни):\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Тъй като този набор от данни съдържа информация както за страни, така и за провинции, за да получим населението на цялата страна, трябва да бъдем малко по-умни:\n"
"Тъй като този набор от данни съдържа информация както за държавите, така и за провинциите, за да получим населението на цялата страна, трябва да бъдем малко по-умни:\n"
]
},
{
@ -2261,12 +2261,13 @@
"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"
]
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Можете да видите, че в графиката има някои пропуски. Те могат да бъдат причинени или от `NaN`, или ако в набора от данни присъстват стойности `inf`. `inf` може да бъде причинено от деление на 0, а `NaN` може да показва липсващи данни или липса на данни за изчисляване на резултата (като в самото начало на нашия фрейм, където подвижният прозорец с ширина 8 все още не е наличен). За да направим графиката по-красива, трябва да запълним тези стойности, като използваме функциите `replace` и `fillna`.\n",
"Можете да видите, че има някои пропуски в графиката. Те могат да бъдат причинени или от `NaN`, ако `inf` стойности присъстват в набора от данни. `inf` може да бъде причинено от деление на 0, а `NaN` може да обозначава липсващи данни или липса на данни за изчисляване на резултата (като в самото начало на нашия фрейм, където плъзгащият прозорец с ширина 8 все още не е наличен). За да направим графиката по-красива, трябва да запълним тези стойности, използвайки функциите `replace` и `fillna`.\n",
"\n",
"Нека разгледаме по-отблизо началото на пандемията. Ще ограничим и стойностите на y-оста, за да показва само стойности под 6, за да се вижда по-добре, и ще начертаем хоризонтална линия на 1.\n"
"Нека разгледаме по-детайлно началото на пандемията. Също така ще ограничим стойностите по оста y да показват само стойности под 6, за да можем да видим по-добре, и ще начертаем хоризонтална линия на 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Друг интересен индикатор на пандемията е **производната**, или **дневната разлика** в новите случаи. Той ни позволява ясно да видим кога пандемията се увеличава или намалява.\n"
"Друг интересен индикатор за пандемията е **производната**, или **дневната разлика** в новите случаи. Тя ни позволява ясно да видим кога пандемията нараства или намалява. \n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Предвид факта, че има много колебания в данните, причинени от отчетността, има смисъл да се изглади кривата чрез изчисляване на подвижна средна, за да се получи цялостната картина. Нека отновосе съсредоточим върху първите месеци на пандемията:\n"
"Като се има предвид фактът, че има много колебания в данните, причинени от отчитането, е разумно да се изглади кривата чрез изчисляване на движеща се средна стойност, за да се получи общата картина. Отново некасе съсредоточим върху първите месеци на пандемията:\n"
]
},
{
@ -2390,26 +2391,27 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Предизвикателство\n",
"\n",
"Сегае време да поиграете повече с кода и данните! Ето няколко предложения, с които може да експериментирате:\n",
"Сегае време да експериментирате повече с кода и данните! Ето няколко предложения, с които можете да експериментирате:\n",
"* Вижте разпространението на пандемията в различни страни.\n",
"* Начертайте графики на $R_t$ за няколко страни на една графика за сравнение, или направете няколко графики една до друга.\n",
"* Вижте как броят на смъртните случаи и излекуваните се корелира с броя на заразените случаи.\n",
"* Опитайте да разберете колко дълго обикновено продължава болестта, като визуално корелирате скоростта на инфекция и скоростта на смъртност и търсите някои аномалии. Може да се наложи да разгледате различни страни, за да разберете това.\n",
"* Изчислете смъртността и как тя се променя с времето. Може да искате да вземете предвид продължителността на болестта в дни, за да изместите един времеви ред преди да направите изчисления.\n"
"* Графики на $R_t$ за няколко страни в един график за сравнение, или направете няколко графики една до друга.\n",
"* Вижте как броят на смъртните случаи и възстановяванията корелира с броя на инфектираните случаи.\n",
"* Опитайте седа разберете колко дълго обикновено продължава заболяването, като визуално корелирате степента на заразяване и смъртността и търсите някои аномалии. Може да трябва да разгледате различни страни, за да разберете това.\n",
"* Изчислете смъртността и как тя се променя стечение на времето. Може да искате да вземете предвид продължителността на болестта в дни, за да изместите една времева серия преди да направите изчисленията.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"## Препратки\n",
"\n",
"Можете да разгледате допълнителни изследвания за разпространението на епидемията от COVID в следните публикации:\n",
"* [Модел Sliding SIR за оценка на Rt по време на пандемията от COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), блог пост от [Дмитрий Сошников](http://soshnikov.com)\n",
"* Т.Петрова, Д.Сошников, А.Грунин. [Оценка на времевозависимия коефициент на възпроизводство за глобалната COVID-19 епидемия](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Код за горното изследване в GitHub](https://github.com/shwars/SlidingSIR)\n"
"Можете да разгледате по-нататъшни изследвания на разпространението на епидемията от COVID в следните публикации:\n",
"* [Модел Sliding SIR за оценка на Rt по време на пандемията COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), блог пост от [Дмитрий Сошников](http://soshnikov.com)\n",
"* Т.Петрова, Д.Сошников, А.Грунин. [Оценка на времевозависимия репродуктивен брой за глобалното разпространение на COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Код за гореспоменатата статия в GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Отказ от отговорност**:\nТози документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, възникнали от употребата на този превод.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Отказ от отговорност**:\nТози документ е преведен с помощта на AI преводачески услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
# Проект за визуализация на данни Dangerous Liaisons
За да започнете, трябва да се уверите, че имате инсталирани NPM и Node на вашата машина. Инсталирайте зависимостите (npm install) и след това стартирайте проекта локално (npm run serve):
За да започнете, трябва да сте сигурни, че имате NPM и Node **>=20.0.0** инсталирани и работещи на вашата машина. Инсталирайте зависимостите (npm install), след което стартирайте проекта локално (npm run serve):
## Настройка на проекта
```
npm install
```
### Компилира и автоматично презарежда за разработка
### Компилира и презарежда при разработка
```
npm run serve
```
@ -27,5 +27,7 @@ npm run lint
---
**Отказ от отговорност**:
Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от отговорност**:
Този документ е преведен с помощта на AI преводачески услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
# Проект за визуализация на данни Dangerous Liaisons
За да започнете, трябва да се уверите, че имате инсталирани NPM и Node на вашата машина. Инсталирайте зависимостите (npm install) и след това стартирайте проекта локално (npm run serve):
За да започнете, трябва да сте сигурни, че имате NPM и Node **>=20.0.0** инсталирани и работещи на вашата машина. Инсталирайте зависимостите (npm install), след което стартирайте проекта локално (npm run serve):
## Настройка на проекта
```
npm install
```
### Компилиране и автоматично презареждане за разработка
### Компилира и презарежда за разработка
```
npm run serve
```
### Компилиране и минимизиране за продукция
### Компилира и минимизира за продукция
```
npm run build
```
### Проверка и корекция на файлове
### Проверява и поправя файлове
```
npm run lint
```
### Персонализиране на конфигурацията
Вижте [Референция за конфигурация](https://cli.vuejs.org/config/).
Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от отговорност**:
Този документ е преведен с помощта на AI преводачески услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
|Definirea Datelor - _Sketchnote de [@nitya](https://twitter.com/nitya)_ |
Datele reprezintă fapte, informații, observații și măsurători utilizate pentru a face descoperiri și pentru a susține deciziile informate. Un punct de date este o unitate individuală de date dintr-un set de date, care este o colecție de puncte de date. Seturile de date pot avea formate și structuri diferite și, de obicei, se bazează pe sursa lor sau pe locul de unde provin datele. De exemplu, câștigurile lunare ale unei companii ar putea fi într-un fișier Excel, în timp ce datele despre ritmul cardiac orar de la un smartwatch ar putea fi în format [JSON](https://stackoverflow.com/a/383699). Este obișnuit ca oamenii de știință în domeniul datelor să lucreze cu diferite tipuri de date într-un set de date.
Datele sunt fapte, informații, observații și măsurători folosite pentru a face descoperiri și pentru a susține decizii informate. Un punct de date este o unitate unică de date dintr-un set de date, care este o colecție de puncte de date. Seturile de date pot veni în diferite formate și structuri și vor fi de obicei bazate pe sursa lor, sau de unde provin datele. De exemplu, veniturile lunare ale unei companii pot fi într-un tabel de calcul, dar datele orare privind ritmul cardiac de la un smartwatch pot fi în format [JSON](https://stackoverflow.com/a/383699). Este comun ca oamenii de știință care lucrează cu date să utilizeze diferite tipuri de date în cadrul unui set de date.
Această lecție se concentrează pe identificarea și clasificarea datelor în funcție de caracteristicile și sursele lor.
Această lecție se concentrează pe identificarea și clasificarea datelor după caracteristicile și sursele lor.
## [Chestionar înainte de lecție](https://ff-quizzes.netlify.app/en/ds/quiz/4)
Datele brute sunt date care provin din sursa lor în starea inițială și nu au fost analizate sau organizate. Pentru a înțelege ce se întâmplă cu un set de date, acesta trebuie organizat într-un format care să poată fi înțeles atât de oameni, cât și de tehnologia pe care aceștia o pot folosi pentru a-l analiza mai departe. Structura unui set de date descrie modul în care este organizat și poate fi clasificată ca fiind structurată, nestructurată sau semi-structurată. Aceste tipuri de structuri vor varia în funcție de sursă, dar în cele din urmă se vor încadra în aceste trei categorii.
Datele brute sunt date care provin de la sursa lor în starea lor inițială și care nu au fost analizate sau organizate. Pentru a înțelege ce se întâmplă cu un set de date, acesta trebuie organizat într-un format care poate fi înțeles atât de oameni, cât și de tehnologia pe care o pot utiliza pentru a le analiza mai departe. Structura unui set de date descrie modul în care este organizat și poate fi clasificată în structurat, nestructurat și semi-structurat. Aceste tipuri de structuri vor varia în funcție de sursă, dar în cele din urmă se încadrează în aceste trei categorii.
### Date cantitative
Datele cantitative sunt observații numerice dintr-un set de date și, de obicei, pot fi analizate, măsurate și utilizate matematic. Câteva exemple de date cantitative sunt: populația unei țări, înălțimea unei persoane sau câștigurile trimestriale ale unei companii. Cu o analiză suplimentară, datele cantitative ar putea fi utilizate pentru a descoperi tendințe sezoniere ale Indicelui de Calitate a Aerului (AQI) sau pentru a estima probabilitatea traficului la orele de vârf într-o zi obișnuită de lucru.
Datele cantitative sunt observații numerice într-un set de date și pot fi de obicei analizate, măsurate și folosite matematic. Câteva exemple de date cantitative sunt: populația unei țări, înălțimea unei persoane sau veniturile unei companii pe trimestru. Cu o analiză suplimentară, datele cantitative ar putea fi folosite pentru a descoperi tendințele sezoniere ale Indicele de Calitate a Aerului (AQI) sau pentru a estima probabilitatea traficului în orele de vârf într-o zi obișnuită de lucru.
### Date calitative
Datele calitative, cunoscute și sub denumirea de date categorice, sunt date care nu pot fi măsurate obiectiv, precum observațiile datelor cantitative. În general, acestea sunt diverse formate de date subiective care surprind calitatea unui produs sau proces. Uneori, datele calitative sunt numerice, dar nu ar fi utilizate în mod obișnuit matematic, cum ar fi numerele de telefon sau marcajele temporale. Câteva exemple de date calitative sunt: comentarii video, marca și modelul unei mașini sau culoarea preferată a celui mai bun prieten. Datele calitative ar putea fi utilizate pentru a înțelege care produse sunt cele mai apreciate de consumatori sau pentru a identifica cuvinte-cheie populare în CV-urile pentru aplicații de joburi.
Datele calitative, cunoscute și ca date categorice, sunt date care nu pot fi măsurate obiectiv, așa cum sunt observațiile pentru datele cantitative. Ele sunt în general diferite formate de date subiective care surprind calitatea a ceva, cum ar fi un produs sau un proces. Uneori, datele calitative sunt numerice și nu sunt utilizate în mod tipic matematic, cum ar fi numerele de telefon sau timpii înregistrați. Câteva exemple de date calitative sunt: comentarii video, marca și modelul unei mașini sau culoarea preferată a prietenilor apropiați. Datele calitative pot fi folosite pentru a înțelege care produse sunt preferate de consumatori sau pentru a identifica cuvinte cheie populare în CV-urile pentru joburi.
### Date structurate
Datele structurate sunt date organizate în rânduri și coloane, unde fiecare rând va avea același set de coloane. Coloanele reprezintă o valoare de un anumit tip și vor fi identificate printr-un nume care descrie ce reprezintă valoarea, în timp ce rândurile conțin valorile propriu-zise. Coloanele vor avea adesea un set specific de reguli sau restricții asupra valorilor, pentru a se asigura că valorile reprezintă corect coloana. De exemplu, imaginați-vă un fișier Excel cu clienți, unde fiecare rând trebuie să aibă un număr de telefon, iar numerele de telefon nu conțin caractere alfabetice. Pot exista reguli aplicate coloanei de număr de telefon pentru a se asigura că aceasta nu este niciodată goală și conține doar numere.
Datele structurate sunt date organizate în rânduri și coloane, unde fiecare rând are același set de coloane. Coloanele reprezintă o valoare de un anumit tip și vor fi identificate printr-un nume care descrie ce reprezintă valoarea, în timp ce rândurile conțin valorile efective. Coloanele au adesea un set specific de reguli sau restricții asupra valorilor, pentru a asigura că valorile reprezintă cu acuratețe coloana. De exemplu, imaginați-vă un tabel de clienți unde fiecare rând trebuie să aibă un număr de telefon și numerele de telefon nu conțin niciodată caractere alfabetice. Pot exista reguli aplicate coloanei numărului de telefon pentru a asigura că nu este niciodată goală și conține doar cifre.
Un avantaj al datelor structurate este că pot fi organizate astfel încât să fie relaționate cu alte date structurate. Totuși, deoarece datele sunt concepute pentru a fi organizate într-un mod specific, modificarea structurii generale poate necesita mult efort. De exemplu, adăugarea unei coloane de e-mail în fișierul Excel al clienților care nu poate fi goală înseamnă că va trebui să găsiți o modalitate de a adăuga aceste valori la rândurile existente ale clienților din setul de date.
Un beneficiu al datelor structurate este că pot fi organizate astfel încât să poată fi relaționate cu alte date structurate. Totuși, deoarece datele sunt concepute să fie organizate într-un mod specific, efectuarea de modificări asupra structurii sale generale poate necesita mult efort. De exemplu, adăugarea unei coloane cu email-urile clienților în tabelul de clienți, care să nu poată fi goală, înseamnă că va trebui să găsiți cum să adăugați aceste valori pentru rândurile existente din setul de date.
Exemple de date structurate: fișiere Excel, baze de date relaționale, numere de telefon, extrase bancare.
Exemple de date structurate: tabele de calcul, baze de date relaționale, numere de telefon, extrase bancare
### Date nestructurate
Datele nestructurate, de obicei, nu pot fi categorisite în rânduri sau coloane și nu conțin un format sau un set de reguli de urmat. Deoarece datele nestructurate au mai puține restricții asupra structurii lor, este mai ușor să adăugați informații noi în comparație cu un set de date structurat. Dacă un senzor care captează date despre presiunea barometrică la fiecare 2 minute a primit o actualizare care îi permite acum să măsoare și să înregistreze temperatura, nu este necesar să modificați datele existente dacă acestea sunt nestructurate. Totuși, acest lucru poate face ca analiza sau investigarea acestui tip de date să dureze mai mult. De exemplu, un om de știință care dorește să găsească temperatura medie a lunii precedente din datele senzorului, dar descoperă că senzorul a înregistrat un "e" în unele dintre datele sale pentru a nota că era defect, în loc de un număr obișnuit, ceea ce înseamnă că datele sunt incomplete.
### Date nestrucrate
Datele nestrucrate nu pot fi de obicei categorisite în rânduri sau coloane și nu conțin un format sau un set de reguli de urmat. Deoarece datele nestrucrate au mai puține restricții asupra structurii lor, este mai ușor să se adauge informații noi în comparație cu un set de date structurat. Dacă un senzor care capturează date despre presiunea barometrică la fiecare 2 minute primește o actualizare care îi permite să măsoare și să înregistreze temperatura, nu este necesar să se modifice datele existente dacă sunt nestrucrate. Totuși, acest lucru poate face ca analizarea sau investigarea acestui tip de date să dureze mai mult. De exemplu, un om de știință care vrea să găsească temperatura medie a lunii precedente din datele senzorilor, dar descoperă că senzorul a înregistrat o literă „e” în unele date pentru a nota că a fost defect, în loc de un număr tipic, ceea ce înseamnă că datele sunt incomplete.
Exemple de date nestructurate: fișiere text, mesaje text, fișiere video.
Exemple de date nestrucrate: fișiere text, mesaje text, fișiere video
### Date semi-structurate
Datele semi-structurate au caracteristici care le fac o combinație între date structurate și nestructurate. De obicei, nu se conformează unui format de rânduri și coloane, dar sunt organizate într-un mod considerat structurat și pot urma un format fix sau un set de reguli. Structura va varia între surse, cum ar fi o ierarhie bine definită sau ceva mai flexibil care permite integrarea ușoară a informațiilor noi. Metadatele sunt indicatori care ajută la deciderea modului în care datele sunt organizate și stocate și vor avea diverse denumiri, în funcție de tipul de date. Câteva denumiri comune pentru metadate sunt etichete, elemente, entități și atribute. De exemplu, un mesaj tipic de e-mail va avea un subiect, un corp și un set de destinatari și poate fi organizat în funcție de cine sau când a fost trimis.
### Semi-structurate
Datele semi-structurate au caracteristici care le fac o combinație între date structurate și nestrucrate. De obicei, nu respectă formatul de rânduri și coloane, dar sunt organizate într-un mod considerat structurat și pot urma un format fix sau un set de reguli. Structura variază între surse, de la o ierarhie bine definită până la ceva mai flexibil care permite integrarea ușoară a unor informații noi. Metadatele sunt indicatori care ajută la decizia modului în care datele sunt organizate și stocate și au diverse denumiri, în funcție de tipul de date. Câteva denumiri comune pentru metadate sunt etichete, elemente, entități și atribute. De exemplu, un mesaj tipic de email va avea un subiect, corp și un set de destinatari și poate fi organizat după cine l-a trimis sau când a fost trimis.
Exemple de date semi-structurate: HTML, fișiere CSV, JavaScript Object Notation (JSON).
Exemple de date semi-structurate: HTML, fișiere CSV, JavaScript Object Notation (JSON)
## Surse de date
O sursă de date este locația inițială de unde au fost generate datele sau unde "trăiesc" și va varia în funcție de modul și momentul în care au fost colectate. Datele generate de utilizator(i) sunt cunoscute ca date primare, în timp ce datele secundare provin dintr-o sursă care a colectat date pentru utilizare generală. De exemplu, un grup de oameni de știință care colectează observații într-o pădure tropicală ar fi considerat primar, iar dacă decid să le împărtășească altor oameni de știință, acestea ar fi considerate secundare pentru cei care le utilizează.
O sursă de date este locația inițială de unde au fost generate datele, sau unde „trăiesc” și va varia în funcție de cum și când au fost colectate. Datele generate de utilizator(i) sunt cunoscute ca date primare, în timp ce datele secundare provin dintr-o sursă care a colectat date pentru uz general. De exemplu, un grup de oameni de știință care colectează observații într-o pădure tropicală ar fi considerați primari, iar dacă decid să le împărtășească altor oameni de știință, acestea ar fi considerate secundare pentru cei care le folosesc.
Baze de date sunt o sursă comună și se bazează pe un sistem de gestionare a bazelor de date pentru a găzdui și menține datele, unde utilizatorii folosesc comenzi numite interogări pentru a explora datele. Fișierele ca surse de date pot fi fișiere audio, imagine și video, precum și fișiere Excel. Sursele de internet sunt o locație comună pentru găzduirea datelor, unde pot fi găsite atât baze de date, cât și fișiere. Interfețele de programare a aplicațiilor, cunoscute și sub denumirea de API-uri, permit programatorilor să creeze modalități de a partaja date cu utilizatori externi prin internet, în timp ce procesul de web scraping extrage date de pe o pagină web. [Lecțiile din Lucrul cu Date](../../../../../../../../../2-Working-With-Data) se concentrează pe modul de utilizare a diferitelor surse de date.
Bazele de date sunt o sursă comună și se bazează pe un sistem de administrare a bazelor de date pentru a găzdui și menține datele, unde utilizatorii folosesc comenzi numite interogări pentru a explora datele. Fișierele ca surse de date pot fi fișiere audio, imagine și video, precum și tabele de calcul precum Excel. Sursele de internet sunt o locație comună pentru găzduirea datelor, unde pot fi găsite atât baze de date, cât și fișiere. Interfețele de programare a aplicațiilor, cunoscute și ca API-uri, permit programatorilor să creeze modalități de a partaja date cu utilizatori externi prin internet, în timp ce procesul de web scraping extrage date de pe o pagină web. [Lecțiile din Lucrul cu datele](../../../../../../../../../2-Working-With-Data) se concentrează pe cum să se utilizeze diverse surse de date.
## Concluzie
@ -55,22 +54,26 @@ Baze de date sunt o sursă comună și se bazează pe un sistem de gestionare a
## 🚀 Provocare
Kaggle este o sursă excelentă de seturi de date deschise. Folosiți [instrumentul de căutare a seturilor de date](https://www.kaggle.com/datasets) pentru a găsi câteva seturi de date interesante și clasificați 3-5 seturi de date conform acestui criteriu:
Kaggle este o sursă excelentă de seturi deschise de date. Folosește [instrumentul de căutare a seturilor de date](https://www.kaggle.com/datasets) pentru a găsi câteva seturi interesante și clasifică 3-5 seturi de date conform acestui criteriu:
- Datele sunt cantitative sau calitative?
- Datele sunt structurate, nestructurate sau semi-structurate?
- Datele sunt structurate, nestrucrate sau semi-structurate?
## [Chestionar după lecție](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Recapitulare și Studiu Individual
## Recapitulare și Studiu individual
- Această unitate Microsoft Learn, intitulată [Clasificarea Datelor](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), oferă o descriere detaliată a datelor structurate, semi-structurate și nestructurate.
- Această unitate Microsoft Learn, intitulată [Identificarea formatelor de date](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) are o descriere detaliată a datelor structurate, semi-structurate și nestrucrate.
## Temă
[Clasificarea Seturilor de Date](assignment.md)
[Clasificarea seturilor de date](assignment.md)
---
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Declinare a responsabilității**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.
"În acest caiet, ne vom juca cu unele dintre conceptele pe care le-am discutat anterior. Multe concepte din probabilitate și statistică sunt bine reprezentate în biblioteci majore pentru procesarea datelor în Python, precum `numpy` și `pandas`.\n"
"# Introducere în probabilitate și statistică\n",
"În acest caiet, vom experimenta cu unele dintre conceptele pe care le-am discutat anterior. Multe concepte din probabilitate și statistică sunt bine reprezentate în biblioteci majore pentru procesarea datelor în Python, cum ar fi `numpy` și `pandas`.\n"
]
},
{
@ -24,8 +24,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Variabile aleatorii și distribuții\n",
"Să începem prin a extrage un eșantion de 30 de valori dintr-o distribuție uniformă de la 0 la 9. Vom calcula, de asemenea, media și varianța.\n"
"## Variabile aleatoare și distribuții\n",
"Să începem prin a genera un eșantion de 30 de valori dintr-o distribuție uniformă de la 0 la 9. Vom calcula, de asemenea, media și varianța.\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Pentru a estima vizual câte valori diferite există în eșantion, putem realiza un **histogramă**:\n"
"Pentru a estima vizual câte valori diferite există în eșantion, putem realiza **histograma**:\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Folosim un pachet numit [**Pandas**](https://pandas.pydata.org/) aici pentru analiza datelor. Vom vorbi mai multe despre Pandas și lucrul cu date în Python mai târziu în acest curs.\n",
"> Folosim aici un pachet numit [**Pandas**](https://pandas.pydata.org/) pentru analiza datelor. Vom discuta mai multe despre Pandas și lucrul cu date în Python mai târziu în acest curs.\n",
"\n",
"Să calculăm valorile medii pentru vârstă, înălțime și greutate:\n"
"Haideți să calculăm valorile medii pentru vârstă, înălțime și greutate:\n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Pe lângă medie, este util să analizăm valoarea mediană și categoriile quartile. Acestea pot fi vizualizate utilizând un **diagramă cutie**:\n"
"Pe lângă medie, are sens să ne uităm la valoarea mediană și la quartile. Acestea pot fi vizualizate folosind un **diagramă box plot**:\n"
"Putem, de asemenea, să realizăm diagrame box-plot pentru subseturi ale setului nostru de date, de exemplu, grupate după rolul jucătorului.\n"
"Putem crea, de asemenea, diagrame tip cutie pentru subseturi ale setului nostru de date, de exemplu, grupate după rolul jucătorului.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Notă**: Acest diagram sugerează că, în medie, înălțimile primilor basiști sunt mai mari decât înălțimile celor de la al doilea bază. Mai târziu vom învăța cum putem testa această ipoteză mai formal și cum să demonstrăm că datele noastre sunt statistic semnificative pentru a arăta acest lucru.\n",
"> **Notă**: Acest diagramă sugerează că, în medie, înălțimile primilor baze sunt mai mari decât înălțimile secundilor baze. Mai târziu vom învăța cum putem testa această ipoteză mai formal și cum să demonstrăm că datele noastre sunt statistic semnificative pentru a arăta acest lucru.\n",
"\n",
"Vârsta, înălțimea și greutatea sunt toate variabile aleatoare continue. Ce crezi că este distribuția lor? O metodă bună de a afla este să reprezentăm histograma valorilor:\n"
"Vârsta, înălțimea și greutatea sunt toate variabile aleatoare continue. Ce crezi că este distribuția lor? Un mod bun de a afla este să reprezentăm grafic histograma valorilor: \n"
]
},
{
@ -190,7 +190,7 @@
"source": [
"## Distribuția Normală\n",
"\n",
"Să creăm un eșantion artificial de greutăți care urmează o distribuție normală cu aceeași medie și variață ca și datele noastre reale:\n"
"Hai să creăm un eșantion artificial de greutăți care urmează o distribuție normală cu aceeași medie și variață ca și datele noastre reale:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Deoarece majoritatea valorilor în viața reală sunt distribuite normal, nu ar trebui să folosim un generator de numere aleatoare uniforme pentru a genera date de probă. Iată ce se întâmplă dacă încercăm să generăm greutăți cu o distribuție uniformă (generată de `np.random.rand`):\n"
"Deoarece majoritatea valorilor în viața reală sunt distribuite normal, nu ar trebui să folosim un generator de numere aleatoare uniforme pentru a genera date de eșantion. Iată ce se întâmplă dacă încercăm să generăm greutăți cu o distribuție uniformă (generate de `np.random.rand`):\n"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Intervale de încredere\n",
"\n",
"Să calculăm acum intervalele de încredere pentru greutățile și înălțimile jucătorilor de baseball. Vom folosi codul [din această discuție pe stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Să calculăm acum intervalele de încredere pentru greutățile și înălțimile jucătorilor de baseball. Vom folosi codul [din această discuție de pe 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": [
"## Testarea ipotezelor\n",
"\n",
"Să explorăm diferite roluri în setul nostru de date al jucătorilor de baseball:\n"
"Să explorăm roluri diferite în setul nostru de date cu jucători de baseball:\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Să testăm ipoteza că Prima bază este mai înaltă decât a Doua bază. Cel mai simplu mod de a face acest lucru este să testăm intervalele de încredere:\n"
"Să testăm ipoteza că Prima Bază este mai înaltă decât a Doua Bază. Cel mai simplu mod de a face acest lucru este să testăm intervalele de încredere:\n"
]
},
{
@ -319,7 +319,7 @@
"source": [
"Putem vedea că intervalele nu se suprapun.\n",
"\n",
"O metodă statistic mai corectă de a demonstra ipoteza este să folosim un **test t Student**:\n"
"O modalitate statistic mai corectă de a demonstra ipoteza este să utilizăm un **test t al lui Student**:\n"
]
},
{
@ -339,8 +339,8 @@
"metadata": {},
"source": [
"Cele două valori returnate de funcția `ttest_ind` sunt:\n",
"* valoarea p poate fi considerată ca probabilitatea ca două distribuții să aibă aceeași medie. În cazul nostru, este foarte mică, ceea ce înseamnă că există dovezi puternice care susțin că jucătorii de primă bază sunt mai înalți.\n",
"* valoarea t este valoarea intermediară a diferenței normale a mediilor utilizată în testul t și este comparată cu o valoare prag pentru un anumit nivel de încredere.\n"
"* valoarea p poate fi considerată ca probabilitatea ca două distribuții să aibă aceeași medie. În cazul nostru, este foarte mică, ceea ce înseamnă că există dovezi puternice care susțin că prima bazăș este mai înaltă.\n",
"* valoarea t este valoarea intermediară a diferenței medii normalizate folosită în testul t, și este comparată cu o valoare prag pentru o anumită valoare de încredere.\n"
]
},
{
@ -349,7 +349,7 @@
"source": [
"## Simularea unei distribuții normale cu Teorema Limitei Centrale\n",
"\n",
"Generatorul pseudo-aleator din Python este conceput să ne ofere o distribuție uniformă. Dacă vrem să creăm un generator pentru distribuția normală, putem folosi teorema limitei centrale. Pentru a obține o valoare distribuită normal, vom calcula pur și simplu media unui eșantion generat uniform.\n"
"Generatorul pseudo-aleator în Python este proiectat să ne ofere o distribuție uniformă. Dacă dorim să creăm un generator pentru distribuția normală, putem folosi teorema limitei centrale. Pentru a obține o valoare distribuită normal, vom calcula pur și simplu media unui eșantion generat uniform.\n"
]
},
{
@ -375,7 +375,7 @@
"source": [
"## Corelație și Evil Baseball Corp\n",
"\n",
"Corelația ne permite să găsim relații între secvențe de date. În exemplul nostru simplu, să presupunem că există o corporație malefică de baseball care plătește jucătorii în funcție de înălțimea lor - cu cât jucătorul este mai înalt, cu atât primește mai mulți bani. Să presupunem că există un salariu de bază de 1000 USD, și o primă suplimentară de la 0 la 100 USD, în funcție de înălțime. Vom lua jucătorii reali din MLB și vom calcula salariile lor imaginare:\n"
"Corelația ne permite să găsim relații între secvențe de date. În exemplul nostru simplu, să presupunem că există o corporație de baseball răufăcătoare care își plătește jucătorii în funcție de înălțimea lor - cu cât jucătorul este mai înalt, cu atât primește mai mulți bani. Să presupunem că există un salariu de bază de 1000$, și un bonus suplimentar între 0 și 100$, în funcție de înălțime. Vom lua jucătorii reali din MLB și vom calcula salariile lor imaginare:\n"
"Să calculăm acum covarianța și corelația acelor secvențe. `np.cov` ne va oferi o așa-numită **matrice de covarianță**, care este o extensie a covarianței pentru variabile multiple. Elementul $M_{ij}$ al matricei de covarianță $M$ este o corelație între variabilele de intrare $X_i$ și $X_j$, iar valorile de pe diagonală $M_{ii}$ reprezintă varianța lui $X_{i}$. În mod similar, `np.corrcoef` ne va oferi **matricea de corelație**.\n"
"Să calculăm acum covarianța și corelația acelor șiruri. `np.cov` ne va da așa-numita **matrice de covarianță**, care este o extindere a covarianței la mai multe variabile. Elementul $M_{ij}$ al matricei de covarianță $M$ este o corelație între variabilele de intrare $X_i$ și $X_j$, iar valorile de pe diagonală $M_{ii}$ sunt varianța lui $X_{i}$. Similar, `np.corrcoef` ne va da **matricea de corelație**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"O corelație egală cu 1 înseamnă că există o **relație liniară** puternică între două variabile. Putem vedea vizual relația liniară prin trasarea unui grafic cu o valoare în funcție de cealaltă:\n"
"O corelație egală cu 1 înseamnă că există o **relație liniară** puternică între două variabile. Putem vedea vizual relația liniară prin reprezentarea grafică a unei valori în funcție de cealaltă:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Să vedem ce se întâmplă dacă relația nu este liniară. Să presupunem că corporația noastră a decis să ascundă dependența liniară evidentă dintre înălțimi și salarii și a introdus o anumită non-liniaritate în formulă, cum ar fi `sin`:\n"
"Să vedem ce se întâmplă dacă relația nu este liniară. Să presupunem că corporația noastră a decis să ascundă dependența liniară evidentă dintre înălțimi și salarii și a introdus o oarecare non-liniaritate în formulă, cum ar fi `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"În acest caz, corelația este puțin mai mică, dar este totuși destul de ridicată. Acum, pentru a face relația și mai puțin evidentă, am putea dori să adăugăm o oarecare aleatorietate suplimentară prin adăugarea unei variabile aleatoare la salariu. Să vedem ce se întâmplă:\n"
"În acest caz, corelația este puțin mai mică, dar este încă destul de ridicată. Acum, pentru a face relația și mai puțin evidentă, s-ar putea să dorim să adăugăm un pic de aleatoriu suplimentar prin adăugarea unei variabile aleatoare la salariu. Să vedem ce se întâmplă:\n"
]
},
{
@ -478,7 +478,7 @@
"source": [
"> Poți ghici de ce punctele se aliniază în linii verticale astfel?\n",
"\n",
"Am observat corelația dintre un concept supus unui proces artificial, precum salariul, și variabila observată *înălțimea*. Să vedem dacă cele două variabile observate, cum ar fi înălțimea și greutatea, sunt corelate:\n"
"Am observat corelația dintre un concept creat artificial, cum ar fi salariul, și variabila observată *înălțimea*. Să vedem dacă și cele două variabile observate, cum ar fi înălțimea și greutatea, sunt corelate:\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Din păcate, nu am obținut niciun rezultat - doar câteva valori ciudate `nan`. Acest lucru se datorează faptului că unele dintre valorile din seria noastră sunt nedefinite, reprezentate ca `nan`, ceea ce face ca rezultatul operației să fie de asemenea nedefinit. Privind matricea putem vedea că `Weight` este coloana problematică, deoarece a fost calculată autocorelarea între valorile `Height`.\n",
"Din păcate, nu am obținut niciun rezultat - doar niște valori ciudate `nan`. Acest lucru se datorează faptului că unele dintre valorile din seria noastră sunt nedefinite, reprezentate ca `nan`, ceea ce face ca rezultatul operației să fie de asemenea nedefinit. Uitându-ne la matrice putem vedea că `Weight` este coloana problematică, deoarece s-a calculat autocorelația între valorile `Height`.\n",
"\n",
"> Acest exemplu evidențiază importanța **pregătirii datelor** și **curățării**. Fără date corespunzătoare nu putem calcula nimic.\n",
"> Acest exemplu arată importanța **pregătirii datelor** și **curățării**. Fără date corespunzătoare nu putem calcula nimic.\n",
"\n",
"Să folosim metoda `fillna` pentru a completa valorile lipsă și să calculăm corelația:\n"
"Să folosim metoda `fillna` pentru a completa valorile lipsă și să calculăm corelația:\n"
"Există într-adevăr o corelație, dar nu atât de puternică ca în exemplul nostru artificial. Într-adevăr, dacă ne uităm la diagrama de dispersie a unei valori față de cealaltă, relația ar fi mult mai puțin evidentă:\n"
"Există într-adevăr o corelație, dar nu una atât de puternică ca în exemplul nostru artificial. De fapt, dacă privim diagrama de dispersie a unei valori în raport cu cealaltă, relația ar fi mult mai puțin evidentă:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Concluzie\n",
"\n",
"În acest caiet am învățat cum să efectuăm operații de bază asupra datelor pentru a calcula funcții statistice. Acum știm cum să folosim un aparat solid de matematică și statistică pentru a demonstra unele ipoteze și cum să calculăm intervale de încredere pentru variabile arbitrare date un eșantion de date.\n"
"În acest caiet am învățat cum să executăm operații de bază asupra datelor pentru a calcula funcții statistice. Acum știm cum să folosim un aparat solid de matematică și statistică pentru a demonstra unele ipoteze și cum să calculăm intervale de încredere pentru variabile arbitrare date un eșantion de date.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Declinare a responsabilității**:\nAcest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original, în limba sa nativă, trebuie considerat sursa oficială. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm răspunderea pentru eventuale neînțelegeri sau interpretări greșite rezultate din folosirea acestei traduceri.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Declinare a responsabilității**:\nAcest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Vom folosi date despre persoanele infectate cu COVID-19, furnizate de [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) de la [Johns Hopkins University](https://jhu.edu/). Setul de date este disponibil în [acest depozit GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
"Vom folosi date despre persoanele infectate cu COVID-19, furnizate de [Centrul pentru Știința și Ingineria Sistemelor](https://systems.jhu.edu/) (CSSE) de la [Universitatea Johns Hopkins](https://jhu.edu/). Setul de date este disponibil în [acest Repositoriu GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Putem încărca cele mai recente date direct de pe GitHub folosind `pd.read_csv`. Dacă dintr-un motiv oarecare datele nu sunt disponibile, poți întotdeauna să folosești copia disponibilă local în dosarul `data` - doar dezactivează comentariul de la linia de mai jos care definește `base_url`:\n"
"Putem încărca cele mai recente date direct de pe GitHub folosind `pd.read_csv`. Dacă dintr-un motiv oarecare datele nu sunt disponibile, poți folosi întotdeauna copia locală din folderul `data` - doar decomentează linia de mai jos care definește `base_url`:\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Să încărcăm acum datele pentru persoanele infectate și să vedem cum arată datele:\n"
"Haideți să încărcăm acum datele pentru persoanele infectate și să vedem cum arată datele:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Putem vedea că fiecare rând al tabelului definește numărul de persoane infectate pentru fiecare țară și/sau provincie, iar coloanele corespund datelor. Tabele similare pot fi încărcate pentru alte date, cum ar fi numărul de persoane vindecate și numărul de decese.\n"
"Putem observa că fiecare rând al tabelului definește numărul de persoane infectate pentru fiecare țară și/sau provincie, iar coloanele corespund datelor. Tabele similare pot fi încărcate pentru alte date, cum ar fi numărul de recuperați și numărul de decese.\n"
]
},
{
@ -284,7 +284,7 @@
"source": [
"## Înțelegerea datelor\n",
"\n",
"Din tabelul de mai sus, rolul coloanei provincie nu este clar. Să vedem valorile diferite care sunt prezente în coloana `Province/State`:\n"
"Din tabelul de mai sus, rolul coloanei „province” nu este clar. Să vedem valorile diferite care sunt prezente în coloana `Province/State`:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Din nume putem deduce că țări precum Australia și China au o descompunere mai detaliată pe provincii. Să căutăm informații despre China pentru a vedea exemplul:\n"
"Din nume putem deduce că țări precum Australia și China au o defalcare mai detaliată pe provincii. Să căutăm informații despre China pentru a vedea exemplul:\n"
]
},
{
@ -1323,7 +1323,7 @@
"source": [
"## Pre-procesarea datelor \n",
"\n",
"Nu suntem interesați să detaliem țările în teritorii suplimentare, așadar mai întâi vom elimina această divizare și vom adăuga informațiile pentru toate teritoriile împreună, pentru a obține date pentru întreaga țară. Acest lucru se poate face folosind `groupby`:\n"
"Nu ne interesează să descompunem țările în teritorii suplimentare, așa că mai întâi vom elimina această descompunere și vom adăuga informații pentru toate teritoriile împreună, pentru a obține informații pentru întreaga țară. Acest lucru se poate face folosind `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Se poate observa că datorită utilizării `groupby`, toate DataFrame-urile sunt acum indexate după Țară/Regiune. Astfel, putem accesa datele pentru o țară specifică folosind `.loc`:|\n"
"Puteți observa că, datorită utilizării `groupby`, toate DataFrame-urile sunt acum indexate după Țară/Regiune. Putem astfel accesa datele pentru o anumită țară folosind `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Notă** cum folosim `[3:]` pentru a elimina primele trei elemente ale unei secvențe care conțin metadate non-date (coloanele Provincia/Stat și geolocație). De asemenea, putem elimina complet acele trei coloane:\n"
"> **Notă** cum folosim `[3:]` pentru a elimina primele trei elemente ale unei secvențe care conțin metadate non-data (coloanele Province/State și geolocație). De asemenea, putem elimina complet acele trei coloane:\n"
]
},
{
@ -1627,7 +1627,7 @@
"source": [
"## Investigarea datelor\n",
"\n",
"Să trecem acum la investigarea unui anumită țară. Să creăm un cadru care conține datele despre infecții indexate după dată:\n"
"Să trecem acum la investigarea unei țări specifice. Să creăm un cadru care conține datele despre infecții indexate după dată:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Acum să calculăm numărul de persoane nou infectate în fiecare zi. Acest lucru ne va permite să vedem viteza cu care progresează pandemia. Cea mai simplă metodă este să folosim `diff`:\n"
"Acum să calculăm numărul de persoane nou infectate în fiecare zi. Acest lucru ne va permite să vedem viteza cu care progresează pandemia. Cel mai simplu mod de a face acest lucru este să folosim `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Putem observa fluctuații mari în date. Să privim mai atent una dintre luni:\n"
"Putem observa fluctuații mari în date. Să analizăm mai atent una dintre luni:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Este clar că există fluctuații săptămânale în date. Deoarece dorim să putem observa tendințele, are sens să netezim curba calculând media mobilă (adică pentru fiecare zi vom calcula valoarea medie a zilelor anterioare):\n"
"Se observă clar că există fluctuații săptămânale în date. Deoarece vrem să putem vedea tendințele, are sens să netezim curba calculând media mobilă (adică pentru fiecare zi vom calcula valoarea medie a zilelor anterioare):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Pentru a putea compara mai multe țări, am putea dori să luăm în considerare populația țării și să comparăm procentajul persoanelor infectate în raport cu populația țării. Pentru a obține populația țării, să încărcăm setul de date al țărilor:\n"
"Pentru a putea compara mai multe țări, este posibil să dorim să luăm în considerare populația țării și să comparăm procentajul persoanelor infectate raportat la populația țării. Pentru a obține populația țării, să încărcăm setul de date al țărilor:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Deoarece acest set de date conține informații atât despre țări, cât și despre provincii, pentru a obține populația întregii țări trebuie să fim puțin isteți:\n"
"Deoarece acest set de date conține informații atât despre țări, cât și despre provincii, pentru a obține populația întregii țări trebuie să fim puțin mai ingenioși: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Calcularea lui $R_t$\n",
"\n",
"Pentru a vedea cât de contagioasă este boala, ne uităm la **numărul de reproducere de bază** $R_0$, care indică numărul de persoane pe care o persoană infectată le-ar infecta mai departe. Când $R_0$ este mai mare de 1, epidemia este probabil să se răspândească.\n",
"Pentru a vedea cât de contagioasă este boala, ne uităm la **numărul de reproducere de bază** $R_0$, care indică numărul de persoane pe care o persoană infectată le va infecta în continuare. Când $R_0$ este mai mare decât 1, este probabil ca epidemia să se răspândească.\n",
"\n",
"$R_0$ este o proprietate a bolii în sine și nu ia în considerare unele măsuri de protecție pe care oamenii le pot lua pentru a încetini pandemia. Pe măsură ce pandemia progresează, putem estima numărul de reproducere $R_t$ la orice moment dat $t$. A fost demonstrat că acest număr poate fi estimat aproximativ prin luarea unei ferestre de 8 zile și calcularea $$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$ este o proprietate a bolii în sine și nu ia în considerare unele măsuri de protecție pe care oamenii le pot lua pentru a încetini pandemia. Pe măsură ce pandemia progresează, putem estima numărul de reproducere $R_t$ la orice moment dat $t$. S-a demonstrat că acest număr poate fi estimat aproximativ prin luarea unei ferestre de 8 zile și calculul $$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",
"unde $I_t$ este numărul de indivizi nou infectați în ziua $t$.\n",
"\n",
"Să calculăm $R_t$ pentru datele noastre despre pandemie. Pentru a face acest lucru, vom lua o fereastră glisantă (rolling window) de 8 valori `ninfected` și vom aplica funcția pentru a calcula raportul de mai sus:\n"
"Haideți să calculăm $R_t$ pentru datele noastre pandemice. Pentru a face acest lucru, vom lua o fereastră glisantă de 8 valori `ninfected` și vom aplica funcția pentru a calcula raportul de mai sus:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Puteți observa că există unele goluri în grafic. Acestea pot fi cauzate fie de `NaN`, fie de prezența valorilor `inf` în setul de date. `inf` poate fi cauzat de împărțirea la 0, iar `NaN` poate indica date lipsă sau date indisponibile pentru a calcula rezultatul (precum la începutul cadranului nostru, unde fereastra mobilă cu lățimea 8 încă nu este disponibilă). Pentru a face graficul mai plăcut, trebuie să completăm acele valori folosind funcțiile `replace` și `fillna`.\n",
"Puteți observa că există unele goluri în grafic. Acestea pot fi cauzate fie de `NaN`, fie de prezența valorilor `inf` în setul de date. `inf` poate apărea ca urmare a împărțirii la 0, iar `NaN` poate indica date lipsă sau date indisponibile pentru a calcula rezultatul (ca la începutul cadranului nostru, unde fereastra glisantă cu lățimea 8 nu este încă disponibilă). Pentru a face graficul mai plăcut, trebuie să completăm aceste valori folosind funcțiile `replace` și `fillna`.\n",
"\n",
"Să analizăm mai departe începutul pandemiei. De asemenea, vom limita valorile de pe axa y pentru a afișa doar valorile sub 6, pentru a vedea mai bine, și vom desena o linie orizontală la 1.\n"
"Să analizăm mai departe începutul pandemiei. De asemenea, vom limita valorile axei y pentru a afișa numai valorile sub 6, pentru o vizualizare mai clară, și vom trasa o linie orizontală la 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Un alt indicator interesant al pandemiei este **derivata**, sau **diferența zilnică** în cazurile noi. Aceasta ne permite să vedem clar când pandemia este în creștere sau în scădere.\n"
"Un alt indicator interesant al pandemiei este **derivata**, sau **diferența zilnică** în cazurile noi. Ne permite să vedem clar când pandemia este în creștere sau în scădere.\n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Având în vedere că există multe fluctuații în date cauzate de raportare, este logic să netezim curba prin aplicarea unei medii mobile pentru a obține o imagine de ansamblu. Să ne concentrăm din nou asupra primelor luni ale pandemiei:\n"
"Având în vedere faptul că există fluctuații mari în date cauzate de raportare, are sens să netezim curba prin rularea unei medii mobile pentru a obține o imagine de ansamblu. Să ne concentrăm din nou pe primele luni ale pandemiei:\n"
]
},
{
@ -2390,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Provocare\n",
"\n",
"Acum este timpul să te joci mai mult cu codul și datele! Iată câteva sugestii cu care poți experimenta:\n",
"Acum este timpul să te joci mai mult cu codul și datele! Iată câteva sugestii cu care te poți juca:\n",
"* Vezi răspândirea pandemiei în diferite țări.\n",
"* Realizează grafice $R_t$ pentru mai multe țări pe un singur grafic pentru comparație sau fă mai multe grafice alăturate.\n",
"* Vezi cum se corelează numărul de decese și recuperări cu numărul de cazuri infectate.\n",
"* Încearcă să afli cât durează o boală tipică prin corelarea vizuală a ratei de infectare și a ratei de decese, căutând unele anomalii. Este posibil să fie nevoie să te uiți la diferite țări pentru a afla asta.\n",
"* Calculează rata fatalității și cum se schimbă în timp. Poate vrei să ții cont de durata bolii în zile pentru a deplasa o serie temporală înainte de a face calculele.\n"
"* Pune graficele $R_t$ pentru mai multe țări într-un singur grafic pentru comparație, sau fă mai multe grafice alăturate\n",
"* Vezi cum numărul de decese și vindecări corelează cu numărul de cazuri infectate.\n",
"* Încearcă să afli cât durează tipic o boală prin corelarea vizuală a ratei de infectare și a ratei de decese și căutând unele anomalii. Poate fi nevoie să te uiți la diferite țări pentru a afla asta.\n",
"* Calculează rata de fatalitate și modul în care se schimbă în timp. S-ar putea să vrei să iei în considerare durata bolii în zile pentru a deplasa o serie de timp înainte de a face calculele\n"
]
},
{
@ -2406,10 +2408,10 @@
"source": [
"## Referințe\n",
"\n",
"Puteți consulta studii suplimentare privind răspândirea epidemiei de COVID în următoarele publicații:\n",
"* [Modelul SIR glisant pentru estimarea Rt în timpul pandemiei COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), postare pe blog de [Dmitry Soshnikov](http://soshnikov.com)\n",
"Puteți consulta studii suplimentare despre răspândirea epidemiei COVID în următoarele publicații:\n",
"* [Modelul SIR glisant pentru estimarea Rt în timpul pandemiei COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), articol pe blog de [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimarea numărului de reproducere dependent de timp pentru focarul global COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Codul pentru lucrarea de mai sus pe GitHub](https://github.com/shwars/SlidingSIR)\n"
"* [Cod pentru articolul de mai sus pe GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Declinare a responsabilității**:\nAcest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original, în limba sa nativă, trebuie considerat sursa autorizată. Pentru informații critice, se recomandă o traducere profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite rezultate din utilizarea acestei traduceri.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Declinare a responsabilității**:\nAcest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
# Proiect de vizualizare a datelor Dangerous Liaisons
# Proiectul de vizualizare a datelor Dangerous Liaisons
Pentru a începe, trebuie să te asiguri că ai NPM și Node instalate pe mașina ta. Instalează dependențele (npm install) și apoi rulează proiectul local (npm run serve):
Pentru a începe, trebuie să vă asigurați că aveți NPM și Node **>=20.0.0** instalate pe mașina dvs. Instalați dependențele (npm install) și apoi rulați proiectul local (npm run serve):
## Configurarea proiectului
```
npm install
```
### Compilează și reîncarcă automat pentru dezvoltare
### Compilează și reîncarcă rapid pentru dezvoltare
```
npm run serve
```
@ -17,15 +17,17 @@ npm run serve
npm run build
```
### Verifică și corectează fișierele
### Verifică și repară fișierele
```
npm run lint
```
### Personalizează configurația
Vezi [Referința de Configurare](https://cli.vuejs.org/config/).
Vezi [Configuration Reference](https://cli.vuejs.org/config/).
---
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Declinare a responsabilității**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.
# Proiect de vizualizare a datelor Dangerous Liaisons
Pentru a începe, trebuie să te asiguri că ai NPM și Node instalate și funcționale pe calculatorul tău. Instalează dependențele (npm install) și apoi rulează proiectul local (npm run serve):
Pentru a începe, trebuie să te asiguri că ai NPM și Node **>=20.0.0** instalate pe calculatorul tău. Instalează dependențele (npm install) și apoi rulează proiectul local (npm run serve):
## Configurarea proiectului
```
npm install
```
### Compilează și reîncarcă automat pentru dezvoltare
### Compilează și reîncarcă la cald pentru dezvoltare
```
npm run serve
```
@ -17,7 +17,7 @@ npm run serve
npm run build
```
### Verifică și corectează fișierele
### Verifică și repară fișierele
```
npm run lint
```
@ -27,5 +27,7 @@ Vezi [Configuration Reference](https://cli.vuejs.org/config/).
---
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Declinare a responsabilității**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). În timp ce ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un om. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care decurg din utilizarea acestei traduceri.
|Definovanie údajov - _Sketchnote od [@nitya](https://twitter.com/nitya)_ |
Údaje sú fakty, informácie, pozorovania a merania, ktoré sa používajú na objavovanie a podporu informovaných rozhodnutí. Dátový bod je jedna jednotka údajov v rámci datasetu, čo je zbierka dátových bodov. Datasety môžu mať rôzne formáty a štruktúry, ktoré zvyčajne závisia od ich zdroja, teda od miesta, odkiaľ údaje pochádzajú. Napríklad mesačné príjmy spoločnosti môžu byť v tabuľkovom formáte, zatiaľ čo údaje o srdcovom tepe zo smart hodiniek môžu byť vo formáte [JSON](https://stackoverflow.com/a/383699). Je bežné, že dátoví vedci pracujú s rôznymi typmi údajov v rámci jedného datasetu.
Údaje sú fakty, informácie, pozorovania a merania, ktoré sa používajú na objavovanie a podporu informovaných rozhodnutí. Dátový bod je jediná jednotka údajov v rámci dátovej sady, čo je zbierka dátových bodov. Dátové súbory môžu mať rôzne formáty a štruktúry a zvyčajne sú založené na ich zdroji alebo odkiaľ údaje pochádzajú. Napríklad mesačný zárobok firmy môže byť v tabuľke, ale hodinové údaje o srdcovom tepe z chytrých hodiniek môžu byť vo formáte [JSON](https://stackoverflow.com/a/383699). Je bežné, že dátoví vedci pracujú s rôznymi typmi údajov v rámci dátovej sady.
Táto lekcia sa zameriava na identifikáciu a klasifikáciu údajov podľa ich charakteristík a zdrojov.
## [Kvíz pred prednáškou](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Ako sa údaje opisujú
## Ako sú údaje popísané
### Surové údaje
Surové údaje sú údaje, ktoré pochádzajú zo svojho zdroja v pôvodnom stave a neboli analyzované ani organizované. Aby sme pochopili, čo sa deje s datasetom, je potrebné ho usporiadať do formátu, ktorý je zrozumiteľný pre ľudí aj technológie, ktoré môžu byť použité na jeho ďalšiu analýzu. Štruktúra datasetu popisuje, ako je organizovaný, a môže byť klasifikovaná ako štruktúrovaná, neštruktúrovaná alebo polostruktúrovaná. Tieto typy štruktúr sa líšia v závislosti od zdroja, ale nakoniec spadajú do týchto troch kategórií.
### Neupravené údaje
Neupravené údaje sú údaje, ktoré pochádzajú zo svojho zdroja v pôvodnom stave a neboli analyzované ani organizované. Aby bolo možné pochopiť, čo sa s dátovou sadou deje, je potrebné ich usporiadať do formátu, ktorý môžu pochopiť nielen ľudia, ale aj technológie, ktoré ich budú ďalej analyzovať. Štruktúra dátovej sady popisuje, ako je organizovaná a môže byť klasifikovaná ako štruktúrovaná, neštruktúrovaná alebo pološtruktúrovaná. Tieto typy štruktúr sa líšia v závislosti od zdroja, ale nakoniec zapadajú do týchto troch kategórií.
### Kvantitatívne údaje
Kvantitatívne údaje sú číselné pozorovania v rámci datasetu, ktoré je možné analyzovať, merať a používať matematicky. Niektoré príklady kvantitatívnych údajov sú: populácia krajiny, výška osoby alebo štvrťročné príjmy spoločnosti. S ďalšou analýzou by kvantitatívne údaje mohli byť použité na objavenie sezónnych trendov indexu kvality ovzdušia (AQI) alebo na odhad pravdepodobnosti dopravnej špičky počas bežného pracovného dňa.
Kvantitatívne údaje sú numerické pozorovania v rámci dátovej sady, ktoré sa typicky dajú analyzovať, merať a používať matematicky. Niektoré príklady kvantitatívnych údajov sú: populácia krajiny, výška osoby alebo štvrťročné zárobky firmy. S dodatočnou analýzou by sa kvantitatívne údaje mohli použiť na objavenie sezónnych trendov indexu kvality ovzdušia (AQI) alebo na odhad pravdepodobnosti dopravnej špičky v typický pracovný deň.
### Kvalitatívne údaje
Kvalitatívne údaje, známe aj ako kategóriové údaje, sú údaje, ktoré nemožno objektívne merať ako kvantitatívne pozorovania. Vo všeobecnosti ide o rôzne formáty subjektívnych údajov, ktoré zachytávajú kvalitu niečoho, napríklad produktu alebo procesu. Niekedy sú kvalitatívne údaje číselné, ale zvyčajne sa nepoužívajú matematicky, ako napríklad telefónne čísla alebo časové pečiatky. Niektoré príklady kvalitatívnych údajov sú: komentáre k videám, značka a model auta alebo obľúbená farba vašich najbližších priateľov. Kvalitatívne údaje by mohli byť použité na pochopenie, ktoré produkty majú spotrebitelia najradšej, alebo na identifikáciu populárnych kľúčových slov v životopisoch uchádzačov o zamestnanie.
Kvalitatívne údaje, známe tiež ako kategorizované údaje, sú údaje, ktoré sa nedajú objektívne merať ako pozorovania kvantitatívnych údajov. Väčšinou ide o rôzne formáty subjektívnych údajov, ktoré zachytávajú kvalitu niečoho, napríklad produktu alebo procesu. Niekedy sú kvalitatívne údaje číselné, ale obvykle sa matematicky nepoužívajú, napríklad telefónne čísla alebo časové značky. Niektoré príklady kvalitatívnych údajov sú: komentáre k videám, značka a model auta alebo obľúbená farba vašich najbližších priateľov. Kvalitatívne údaje by sa mohli použiť na pochopenie toho, ktoré produkty majú spotrebitelia najradšej, alebo na identifikáciu populárnych kľúčových slov v životopisoch pri žiadostiach o zamestnanie.
### Štruktúrované údaje
Štruktúrované údaje sú údaje, ktoré sú organizované do riadkov a stĺpcov, kde každý riadok má rovnakú sadu stĺpcov. Stĺpce predstavujú hodnotu určitého typu a sú identifikované názvom, ktorý popisuje, čo hodnota predstavuje, zatiaľ čo riadky obsahujú skutočné hodnoty. Stĺpce často majú konkrétnu sadu pravidiel alebo obmedzení na hodnoty, aby sa zabezpečilo, že hodnoty presne reprezentujú stĺpec. Napríklad si predstavte tabuľku zákazníkov, kde každý riadok musí obsahovať telefónne číslo a telefónne čísla nikdy neobsahujú abecedné znaky. Na stĺpec telefónneho čísla môžu byť aplikované pravidlá, aby nikdy nebol prázdny a obsahoval iba čísla.
Štruktúrované údaje sú údaje organizované do riadkov a stĺpcov, kde každý riadok má rovnaký súbor stĺpcov. Stĺpce predstavujú hodnoty určitého typu a sú identifikované menom, ktoré popisuje, čo hodnota predstavuje, zatiaľ čo riadky obsahujú skutočné hodnoty. Stĺpce často majú špecifické pravidlá alebo obmedzenia pre hodnoty, aby sa zabezpečilo, že hodnoty presne reprezentujú stĺpec. Napríklad si predstavte tabuľku zákazníkov, kde každý riadok musí mať telefónne číslo a tieto telefónne čísla nesmú obsahovať abecedné znaky. Môžu tam byť pravidlá pre stĺpec telefónneho čísla, aby nikdy nebol prázdny a obsahoval len čísla.
Výhodou štruktúrovaných údajov je, že môžu byť organizované tak, aby boli prepojené s inými štruktúrovanými údajmi. Avšak, pretože údaje sú navrhnuté tak, aby boli organizované konkrétnym spôsobom, zmeny v ich celkovej štruktúre môžu byť náročné. Napríklad pridanie stĺpca e-mailu do tabuľky zákazníkov, ktorý nemôže byť prázdny, znamená, že budete musieť zistiť, ako pridáte tieto hodnoty do existujúcich riadkov zákazníkov v datasetu.
Výhodou štruktúrovaných údajov je, že môžu byť organizované tak, aby boli prepojené s inými štruktúrovanými údajmi. Avšak pretože sú navrhnuté byť organizované špecifickým spôsobom, zmeny ich celkovej štruktúry môžu byť náročné na realizáciu. Napríklad pridať stĺpec emailovú adresu do tabuľky zákazníkov, kde tento stĺpec nesmie byť prázdny, znamená, že budete musieť vymyslieť spôsob, ako tieto hodnoty pridať k existujúcim riadkom zákazníkov v dátovej sade.
Neštruktúrované údaje zvyčajne nemožno kategorizovať do riadkov alebo stĺpcov a neobsahujú formát ani súbor pravidiel, ktoré by sa mali dodržiavať. Pretože neštruktúrované údaje majú menej obmedzení na svoju štruktúru, je jednoduchšie pridávať nové informácie v porovnaní so štruktúrovaným datasetom. Ak senzor, ktorý zachytáva údaje o barometrickom tlaku každé 2 minúty, dostane aktualizáciu, ktorá mu umožní merať a zaznamenávať teplotu, nevyžaduje to zmenu existujúcich údajov, ak sú neštruktúrované. Avšak to môže spôsobiť, že analýza alebo skúmanie takýchto údajov bude trvať dlhšie. Napríklad vedec, ktorý chce zistiť priemernú teplotu za predchádzajúci mesiac z údajov senzora, ale zistí, že senzor zaznamenal "e" v niektorých svojich údajoch, aby označil, že bol pokazený, namiesto typického čísla, čo znamená, že údaje sú neúplné.
Neštruktúrované údaje sa zvyčajne nedajú kategorizovať do riadkov alebo stĺpcov a neobsahujú formát ani súbor pravidiel, ktorým by sa mali riadiť. Pretože neštruktúrované údaje majú menej obmedzení vo svojej štruktúre, je jednoduchšie pridávať nové informácie v porovnaní so štruktúrovanou dátovou sadou. Ak senzor zaznamenávajúci údaje o barometrickom tlaku každé 2 minúty dostane aktualizáciu, ktorá mu umožní merať a zaznamenať teplotu, nemusí meniť existujúce údaje, ak sú neštruktúrované. Avšak to môže spôsobiť, že analýza alebo skúmanie takýchto údajov bude trvať dlhšie. Napríklad vedec, ktorý chce získať priemernú teplotu za predchádzajúci mesiac zo senzorových údajov, objaví, že senzor zaznamenal v niektorých údajoch "e" na označenie, že bol poškodený, namiesto typického čísla, čo znamená, že údaje sú neúplné.
Príklady neštruktúrovaných údajov: textové súbory, textové správy, video súbory.
Príklady neštruktúrovaných údajov: textové súbory, textové správy, video súbory
### Polostruktúrované údaje
Polostruktúrované údaje majú vlastnosti, ktoré ich robia kombináciou štruktúrovaných a neštruktúrovaných údajov. Zvyčajne nevyhovujú formátu riadkov a stĺpcov, ale sú organizované spôsobom, ktorý sa považuje za štruktúrovaný a môže dodržiavať pevný formát alebo súbor pravidiel. Štruktúra sa líši medzi zdrojmi, od dobre definovanej hierarchie až po niečo flexibilnejšie, čo umožňuje jednoduchú integráciu nových informácií. Metaúdaje sú indikátory, ktoré pomáhajú rozhodnúť, ako sú údaje organizované a uložené, a majú rôzne názvy v závislosti od typu údajov. Niektoré bežné názvy pre metaúdaje sú značky, prvky, entity a atribúty. Napríklad typická e-mailová správa bude mať predmet, telo a súbor príjemcov a môže byť organizovaná podľa toho, kto alebo kedy ju poslal.
### Pološtruktúrované údaje
Pološtruktúrované údaje majú charakteristiky, ktoré ich robia kombináciou štruktúrovaných a neštruktúrovaných údajov. Zvyčajne nezodpovedajú formátu riadkov a stĺpcov, ale sú organizované spôsobom, ktorý sa považuje za štruktúrovaný a môžu nasledovať pevný formát alebo súbor pravidiel. Štruktúra sa líši medzi zdrojmi, od dobre definovanej hierarchie až po niečo flexibilnejšie, čo umožňuje ľahkú integráciu nových informácií. Metadáta sú indikátory, ktoré pomáhajú rozhodnúť, ako sú údaje organizované a uložené, a majú rôzne názvy podľa typu údajov. Niektoré bežné názvy metadát sú značky, prvky, entity a atribúty. Napríklad typická emailová správa má predmet, telo a súbor príjemcov a môže byť organizovaná podľa toho, kto ju poslal alebo kedy bola odoslaná.
Zdroj údajov je počiatočné miesto, kde boli údaje generované alebo kde "žijú" a líši sa podľa toho, ako a kedy boli zhromaždené. Údaje generované ich používateľmi sú známe ako primárne údaje, zatiaľ čo sekundárne údaje pochádzajú zo zdroja, ktorý zhromaždil údaje na všeobecné použitie. Napríklad skupina vedcov, ktorá zhromažďuje pozorovania v dažďovom pralese, by bola považovaná za primárny zdroj, a ak sa rozhodnú zdieľať tieto údaje s inými vedcami, pre tých, ktorí ich používajú, by boli sekundárnym zdrojom.
Zdroj údajov je počiatočné miesto, kde boli údaje vytvorené alebo kde „žijú“, a líši sa v závislosti od toho, ako a kedy boli zozbierané. Údaje generované používateľmi sa nazývajú primárne údaje, zatiaľ čo sekundárne údaje pochádzajú zo zdroja, ktorý údaje zhromaždil na všeobecné použitie. Napríklad skupina vedcov zhromažďujúcich pozorovania v dažďovom pralese sa považuje za primárny zdroj, a ak sa rozhodnú zdieľať tieto údaje s inými vedcami, budú pre týchto používateľov sekundárne.
Databázy sú bežným zdrojom a spoliehajú sa na systém správy databáz na hosťovanie a údržbu údajov, kde používatelia používajú príkazy nazývané dotazy na skúmanie údajov. Súbory ako zdroje údajov môžu byť zvukové, obrazové a video súbory, ako aj tabuľky ako Excel. Internetové zdroje sú bežným miestom na hosťovanie údajov, kde sa dajú nájsť databázy aj súbory. Rozhrania aplikačného programovania, známe ako API, umožňujú programátorom vytvárať spôsoby zdieľania údajov s externými používateľmi prostredníctvom internetu, zatiaľ čo proces webového škrabania extrahuje údaje z webovej stránky. [Lekcie v Práca s údajmi](../../../../../../../../../2-Working-With-Data) sa zameriavajú na to, ako používať rôzne zdroje údajov.
Databázy sú bežným zdrojom a spoľahnú sa na systém správy databáz na hosťovanie a údržbu údajov, kde používatelia používajú príkazy nazývané dotazy na prieskum údajov. Súbory ako zdroje údajov môžu byť audio, obrazové a video súbory, ako aj tabuľky ako Excel. Internetové zdroje sú bežným miestom na ukladanie údajov, kde sa nachádzajú databázy aj súbory. Aplikačné programovacie rozhrania, známe ako API, umožňujú programátorom vytvárať spôsoby zdieľania údajov s externými používateľmi cez internet, zatiaľ čo proces webového škrabania získava údaje z webovej stránky. [Lekcie v sekcii Práca s údajmi](../../../../../../../../../2-Working-With-Data) sa zameriavajú na používanie rôznych zdrojov údajov.
## Záver
V tejto lekcii sme sa naučili:
- Čo sú údaje
- Ako sú údaje popísané
- Ako sú údaje klasifikované a kategorizované
- Kde je možné údaje nájsť
- Ako sa údaje opisujú
- Ako sa údaje klasifikujú a kategorizujú
- Kde sa údaje dajú nájsť
## 🚀 Výzva
Kaggle je vynikajúcim zdrojom otvorených datasetov. Použite [nástroj na vyhľadávanie datasetov](https://www.kaggle.com/datasets) na nájdenie niekoľkých zaujímavých datasetov a klasifikujte 3-5 datasetov podľa týchto kritérií:
Kaggle je vynikajúci zdroj otvorených dátových súborov. Použite [nástroj na vyhľadávanie datasetov](https://www.kaggle.com/datasets) na nájdenie niekoľkých zaujímavých datasetov a klasifikujte 3-5 datasetov podľa týchto kritérií:
- Sú údaje kvantitatívne alebo kvalitatívne?
- Sú údaje štruktúrované, neštruktúrované alebo polostruktúrované?
- Sú údaje štruktúrované, neštruktúrované alebo pološtruktúrované?
## [Kvíz po prednáške](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Prehľad a samostatné štúdium
- Táto jednotka Microsoft Learn s názvom [Klasifikujte svoje údaje](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) obsahuje podrobný rozpis štruktúrovaných, polostruktúrovaných a neštruktúrovaných údajov.
- Táto jednotka Microsoft Learn, s názvom [Identifikácia formátov údajov](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) má detailné rozdelenie štruktúrovaných, pološtruktúrovaných a neštruktúrovaných údajov.
## Zadanie
## Úloha
[Klasifikácia datasetov](assignment.md)
---
**Upozornenie**:
Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vyhlásenie o zodpovednosti**:
Tento dokument bol preložený pomocou AI prekladateľskej služby [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, vezmite prosím na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho natívnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.
"V tomto zošite si zahráme s niektorými konceptmi, o ktorých sme už predtým hovorili. Mnohé koncepty z pravdepodobnosti a štatistiky sú dobre zastúpené v hlavných knižniciach pre spracovanie dát v Pythone, ako sú `numpy` a `pandas`.\n"
"V tomto zošite si vyskúšame niektoré z pojmov, ktoré sme si predtým vysvetlili. Mnoho pojmov z pravdepodobnosti a štatistiky je dobre zastúpených vo veľkých knižniciach pre spracovanie dát v Pythone, ako sú `numpy` a `pandas`.\n"
]
},
{
@ -25,7 +25,7 @@
"metadata": {},
"source": [
"## Náhodné premenné a rozdelenia\n",
"Začnime výberom vzorky 30 hodnôt z rovnomerného rozdelenia od 0 do 9. Vypočítame tiež priemer a rozptyl.\n"
"Začnime vytiahnutím vzorky 30 hodnôt z rovnomerného rozdelenia od 0 do 9. Tiež vypočítame priemer a rozptyl.\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Na vizuálne odhadnutie, koľko rôznych hodnôt je v vzorke, môžeme nakresliť **histogram**:\n"
"Na vizuálne odhadnutie, koľko rôznych hodnôt sa v vzorke nachádza, môžeme vykresliť **histogram**:\n"
]
},
{
@ -61,9 +61,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analyzovanie reálnych dát\n",
"## Analýza skutočných dát\n",
"\n",
"Pri analyzovaní dát zo skutočného sveta sú stredná hodnota a rozptyl veľmi dôležité. Načítať si dáta o hráčoch baseballu zo stránky [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"Pri analýze dát zo skutočného sveta sú veľmi dôležité priemer a rozptyl. Načítajme si údaje o hráčoch baseballu z [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": [
"> Používame tu balík [**Pandas**](https://pandas.pydata.org/) na analýzu dát. O Pandas a práci s dátami v Pythone budeme hovoriť neskôr v tomto kurze.\n",
"> Používame balík nazývaný [**Pandas**](https://pandas.pydata.org/) na analýzu dát. O Pandas a práci s dátami v Pythone budeme v tomto kurze hovoriť neskôr.\n",
"\n",
"Vypočítajme priemerné hodnoty pre vek, výšku a váhu:\n"
"Spočítajme priemerné hodnoty pre vek, výšku a váhu:\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Teraz sa zamerajme na výšku a vypočítajme štandardnú odchýlku a rozptyl:\n"
"Teraz sa zamerajme na výšku a vypočítajme smerodajnú odchýlku a rozptyl: \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Okrem priemeru má zmysel pozrieť sa aj na mediánovú hodnotu a kvartily. Dá sa to vizualizovať pomocou **box plotu**:\n"
"Okrem priemeru je rozumné pozrieť sa aj na mediánovú hodnotu a kvartily. Môžu byť vizualizované pomocou **boxplotu**:\n"
"Môžeme tiež vytvoriť krabicové grafy pre podmnožiny našich dát, napríklad zoskupené podľa úlohy hráča.\n"
"Môžeme tiež vytvoriť krabicové grafy podmnožín našej dátovej sady, napríklad zoskupené podľa úlohy hráča.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Poznámka**: Tento diagram naznačuje, že priemerne sú výšky prvých bazemanov väčšie než výšky druhých bazemanov. Neskôr sa naučíme, ako túto hypotézu formálnejšie otestovať a ako ukázať, že naše dáta sú štatisticky významné. \n",
"> **Poznámka**: Tento diagram naznačuje, že priemerne sú výšky prvých nadhadzovačov vyššie ako výšky druhých nadhadzovačov. Neskôr sa naučíme, ako môžeme túto hypotézu formálnejšie testovať a ako ukázať, že naše údaje sú štatisticky významné na to, aby to potvrdili. \n",
"\n",
"Vek, výška a váha sú všetko spojité náhodné premenné. Ako si myslíte, aké je ich rozdelenie? Dobrým spôsobom, ako to zistiť, je nakresliť histogram hodnôt: \n"
"Vek, výška a váha sú všetko spojité náhodné premenné. Ako si myslíte, aké je ich rozdelenie? Dobrá cesta, ako to zistiť, je nakresliť histogram hodnôt: \n"
]
},
{
@ -190,7 +190,7 @@
"source": [
"## Normálne rozdelenie\n",
"\n",
"Vytvorme umelý vzorku hmotností, ktorá nasleduje normálne rozdelenie so rovnakým priemerom a rozptylom ako naše skutočné údaje:\n"
"Vytvorme umelý vzorka hmotností, ktorá nasleduje normálne rozdelenie so zákaldným priemerom a rozptylom rovnakým ako naše skutočné dáta:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Keďže väčšina hodnôt v reálnom živote je normálne rozdelená, nemali by sme používať generátor rovnomerných náhodných čísel na generovanie vzorových dát. Tu je, čo sa stane, ak sa pokúsime generovať váhy s rovnomerným rozdelením (generované pomocou `np.random.rand`):\n"
"Keďže väčšina hodnôt v reálnom živote je normálne rozložená, nemali by sme na generovanie vzorkových údajov používať generátor náhodných čísel s rovnomerným rozdelením. Tu je to, čo sa stane, ak sa pokúsime vygenerovať hmotnosti s rovnomerným rozdelením (vygenerované pomocou `np.random.rand`):\n"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Intervaly spoľahlivosti\n",
"\n",
"Teraz vypočítajme intervaly spoľahlivosti pre hmotnosti a výšky hráčov baseballu. Použijeme kód [z tejto diskusie na stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Teraz vypočítajme intervaly spoľahlivosti pre váhy a výšky hráčov baseballu. Použijeme kód [z tejto diskusie 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": [
"## Testovanie hypotéz\n",
"\n",
"Preskúmajme rôzne úlohy v našej databáze baseballových hráčov:\n"
"Preskúmajme rôzne roly v našom datasete hráčov baseballu:\n"
]
},
{
@ -319,7 +319,7 @@
"source": [
"Vidíme, že intervaly sa neprekrývajú.\n",
"\n",
"Štatisticky správnejším spôsobom, ako dokázať hypotézu, je použitie **Studentovho t-testu**:\n"
"Štatisticky správnejší spôsob, ako dokázať hypotézu, je použiť **Studentov t-test**:\n"
]
},
{
@ -339,7 +339,7 @@
"metadata": {},
"source": [
"Dve hodnoty vrátené funkciou `ttest_ind` sú:\n",
"* p-hodnota sa dá považovať za pravdepodobnosť, že dve rozdelenia majú rovnaký priemer. V našom prípade je veľmi nízka, čo znamená, že existuje silný dôkaz podporujúci, že prví basemanovia sú vyšší.\n",
"* p-hodnota sa môže považovať za pravdepodobnosť, že dve rozdelenia majú rovnaký priemer. V našom prípade je veľmi nízka, čo znamená, že existuje silný dôkaz podporujúci, že prví basebalisti sú vyšší.\n",
"* t-hodnota je medzihodnota normalizovaného rozdielu priemerov, ktorá sa používa v t-teste a porovnáva sa s prahovou hodnotou pre danú úroveň spoľahlivosti.\n"
]
},
@ -349,7 +349,7 @@
"source": [
"## Simulácia normálneho rozdelenia pomocou centrálnej limitnej vety\n",
"\n",
"Pseudo-náhodný generátor v Pythone je navrhnutý tak, aby nám poskytoval rovnomerné rozdelenie. Ak chceme vytvoriť generátor pre normálne rozdelenie, môžeme použiť centrálnu limitnú vetu. Aby sme získali hodnotu s normálnym rozdelením, jednoducho vypočítame priemer vzorky vygenerovanej rovnomerne.\n"
"Pseudo-náhodný generátor v Pythone je navrhnutý tak, aby nám poskytol rovnomerné rozdelenie. Ak chceme vytvoriť generátor pre normálne rozdelenie, môžeme použiť centrálnu limitnú vetu. Na získanie normálne rozdelených hodnôt jednoducho vypočítame priemer vzorky generovanej rovnomerne.\n"
]
},
{
@ -375,7 +375,7 @@
"source": [
"## Korelácia a Evil Baseball Corp\n",
"\n",
"Korelácia nám umožňuje nájsť vzťahy medzi dátovými sekvenciami. V našom hračkárskom príklade si predstavme, že existuje zlá baseballová korporácia, ktorá platí svojim hráčom podľa ich výšky - čím vyšší hráč je, tým viac peňazí dostane. Predpokladajme základný plat 1000 dolárov a dodatočný bonus od 0 do 100 dolárov, závisiac od výšky. Vezmeme skutočných hráčov z MLB a vypočítame ich imaginárne platy:\n"
"Korelácia nám umožňuje nájsť vzťahy medzi dátovými sekvenciami. V našom dočasnom príklade si predstavme, že existuje zlá baseballová korporácia, ktorá platí svojim hráčom podľa ich výšky – čím vyšší hráč je, tým viac peňazí dostane. Predpokladajme, že základný plat je 1000 dolárov a navyše bonus od 0 do 100 dolárov, v závislosti od výšky. Vezmeme skutočných hráčov z MLB a vypočítame ich imaginárne platy:\n"
"Teraz vypočítajme kovarianciu a koreláciu týchto sekvencií. `np.cov` nám poskytne takzvanú **kovariančnú maticu**, ktorá je rozšírením kovariancie na viacero premenných. Prvok $M_{ij}$ kovariančnej matice $M$ je korelácia medzi vstupnými premennými $X_i$ a $X_j$, a diagonálne hodnoty $M_{ii}$ sú rozptylom $X_{i}$. Podobne `np.corrcoef` nám poskytne **korelačnú maticu**.\n"
"Poďme teraz vypočítať kovarianciu a koreláciu týchto sekvencií. `np.cov` nám poskytne takzvanú **kovariančnú maticu**, čo je rozšírenie kovariancie na viac premenných. Prvok $M_{ij}$ kovariančnej matice $M$ je korelácia medzi vstupnými premennými $X_i$ a $X_j$, a diagonálne hodnoty $M_{ii}$ sú variancia $X_{i}$. Podobne, `np.corrcoef` nám poskytne **korelačnú maticu**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Korelácia rovná 1 znamená, že medzi dvoma premennými existuje silný **lineárny vzťah**. Lineárny vzťah môžeme vizuálne vidieť tak, že vykreslíme jednu hodnotu proti druhej:\n"
"Korelácia rovná 1 znamená, že medzi dvoma premennými existuje silný **lineárny vzťah**. Lineárny vzťah môžeme vizuálne vidieť vykreslením jednej hodnoty oproti druhej:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Uvidíme, čo sa stane, ak vzťah nie je lineárny. Predpokladajme, že naša korporácia sa rozhodla skryť zrejmú lineárnu závislosť medzi výškami a platmi a do vzorca zaviedla nejakú nelineárnosť, napríklad `sin`:\n"
"Pozrime sa, čo sa stane, ak vzťah nie je lineárny. Predpokladajme, že naša korporácia sa rozhodla skryť zrejmú lineárnu závislosť medzi výškami a mzdami a zaviedla do vzorca určitú nelinearitu, napríklad `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"V tomto prípade je korelácia o niečo menšia, ale stále je dosť vysoká. Teraz, aby sme vzťah urobili ešte menej zjavný, môžeme chcieť pridať nejakú extra náhodnosť pridaním náhodnej premenej k platu. Pozrime sa, čo sa stane:\n"
"V tomto prípade je korelácia mierne menšia, ale stále dosť vysoká. Teraz, aby sme vzťah urobili ešte menej zrejmým, môžeme chcieť pridať nejakú extra náhodnosť tým, že k platu pridáme nejakú náhodnú premennú. Pozrime sa, čo sa stane:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Viete hádať, prečo bodky vytvárajú takéto vertikálne čiary?\n",
"> Môžete uhádnuť, prečo sa bodky zoradia do zvislých čiar takto?\n",
"\n",
"Pozorovali sme koreláciu medzi umelo vytvoreným konceptom, ako je plat, a pozorovanou premennou *výškou*. Pozrime sa tiež, či spolu korelujú dve pozorované premenné, ako je výška a hmotnosť:\n"
"Pozorovali sme koreláciu medzi umelo vytvoreným konceptom ako plat a sledovanou premennou *výška*. Pozrime sa tiež, či spolu korelujú dve sledované premenné, ako výška a hmotnosť:\n"
]
},
{
@ -494,9 +494,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Bohužiaľ sme nedostali žiadne výsledky - len niektoré zvláštne hodnoty `nan`. Je to spôsobené tým, že niektoré hodnoty v našej sérii sú nedefinované, reprezentované ako `nan`, čo spôsobuje, že výsledok operácie je tiež nedefinovaný. Pohľadom na maticu vidíme, že stĺpec `Weight` je problémový, pretože bola vypočítaná samokorelácia medzi hodnotami `Height`.\n",
"Bohužiaľ, nezískali sme žiadne výsledky - iba niektoré zvláštne hodnoty `nan`. Je to spôsobené tým, že niektoré hodnoty v našej sérii sú nedefinované, reprezentované ako `nan`, čo spôsobuje, že výsledok operácie je tiež nedefinovaný. Pozretím sa na maticu vidíme, že problémovým stĺpcom je `Weight`, pretože bola vypočítaná vlastná korelácia medzi hodnotami `Height`.\n",
"\n",
"> Tento príklad ukazuje dôležitosť **prípravy dát** a **čistenia**. Bez správnych dát nemôžeme nič vypočítať.\n",
"> Tento príklad ukazuje význam **prípravy dát** a **čistenia**. Bez správnych dát nemôžeme nič vypočítať.\n",
"\n",
"Použime metódu `fillna` na doplnenie chýbajúcich hodnôt a vypočítajme koreláciu:\n"
"Skutočne existuje korelácia, ale nie taká silná ako v našom umelom príklade. Ak sa naozaj pozrieme na rozptylový graf jednej hodnoty voči druhej, vzťah by bol oveľa menej zjavný:\n"
"Skutočne existuje korelácia, ale nie taká silná ako v našom umelom príklade. Ak sa však pozrieme na bodový graf jednej hodnoty oproti druhej, vzťah by bol oveľa menej zrejmý:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Záver\n",
"\n",
"V tomto zápisníku sme sa naučili vykonávať základné operácie s údajmi na výpočet štatistických funkcií. Teraz vieme, ako použiť spoľahlivý aparát matematiky a štatistiky na overenie niektorých hypotéz a ako vypočítať intervaly spoľahlivosti pre ľubovoľné premenné na základe vzorky údajov.\n"
"V tomto zošite sme sa naučili, ako vykonávať základné operácie s údajmi na výpočet štatistických funkcií. Teraz vieme, ako použiť spoľahlivý aparát matematiky a štatistiky na overenie niektorých hypotéz a ako vypočítať intervaly spoľahlivosti pre ľubovoľné premenné na základe vzorky údajov.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Zrieknutie sa zodpovednosti**: \nTento dokument bol preložený pomocou AI prekladateľskej služby [Co-op Translator](https://github.com/Azure/co-op-translator). Aj keď sa snažíme o presnosť, majte prosím na pamäti, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Originálny dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nezodpovedáme za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Vyhlásenie o zodpovednosti**:\nTento dokument bol preložený pomocou AI prekladateľskej služby [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, vezmite prosím na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho natívnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Použijeme údaje o infikovaných COVID-19, ktoré poskytuje [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) na [Johns Hopkins University](https://jhu.edu/). Dataset je dostupný v [tomto GitHub repozitári](https://github.com/CSSEGISandData/COVID-19).\n"
"Použijeme údaje o infikovaných osobách COVID-19, poskytované [Centrom pre systémy vedy a inžinierstva](https://systems.jhu.edu/) (CSSE) na [Johns Hopkins University](https://jhu.edu/). Dataset je k dispozícii v [tomto GitHub úložisku](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Môžeme načítať najnovšie údaje priamo z GitHubu pomocou `pd.read_csv`. Ak z nejakého dôvodu údaje nie sú dostupné, môžete vždy použiť kópiu dostupnú lokálne v priečinku `data` - stačí odkomentovať riadok nižšie, ktorý definuje `base_url`:\n"
"Môžeme načítať najnovšie údaje priamo z GitHubu pomocou `pd.read_csv`. Ak z nejakého dôvodu údaje nie sú dostupné, vždy môžete použiť kópiu dostupnú lokálne v priečinku `data` - jednoducho odkomentujte riadok nižšie, ktorý definuje `base_url`:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Môžeme vidieť, že každý riadok tabuľky definuje počet infikovaných jednotlivcov pre každú krajinu a/alebo provinciu a stĺpce zodpovedajú dátumom. Podobné tabuľky je možné načítať pre ďalšie údaje, ako je počet vyliečených a počet úmrtí.\n"
"Vidíme, že každý riadok tabuľky definuje počet infikovaných osôb pre každú krajinu a/alebo provinciu a stĺpce zodpovedajú dátumom. Podobné tabuľky je možné načítať aj pre iné údaje, ako je počet vyliečených a počet úmrtí.\n"
]
},
{
@ -282,9 +282,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Pochopenie údajov\n",
"## Pochopenie dát\n",
"\n",
"Z vyššie uvedenej tabuľky nie je jasná úloha stĺpca provincia. Pozrime sa na rôzne hodnoty, ktoré sa nachádzajú v stĺpci `Province/State`:\n"
"Z tabuľky vyššie nie je jasná úloha stĺpca provincia. Pozrime sa na rôzne hodnoty, ktoré sú v stĺpci `Province/State`:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Z názvov môžeme vyvodiť, že krajiny ako Austrália a Čína majú podrobnejšie rozdelenie podľa provincií. Pozrime sa na informácie o Číne, aby sme videli príklad:\n"
"Z názvov môžeme usúdiť, že krajiny ako Austrália a Čína majú podrobnejšie rozdelenie podľa provincií. Pozrime sa na informácie o Číne, aby sme videli príklad:\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Predspracovanie dát\n",
"## Predspracovanie údajov \n",
"\n",
"Nemáme záujem rozdeľovať krajiny na ďalšie územia, preto sa najprv zbavíme tohto rozdelenia a pridáme informácie pre všetky územia spolu, aby sme získali údaje za celú krajinu. Toto je možné urobiť pomocou `groupby`:\n"
"Nemáme záujem rozdeľovať krajiny na ďalšie územia, preto by sme sa najskôr zbavili tohto rozdelenia a pridali informácie o všetkých územiach spolu, aby sme získali informácie za celú krajinu. Toto je možné urobiť pomocou `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vidíte, že vďaka použitiu `groupby` sú teraz všetky DataFrame indexované podľa Krajiny/Regiónu. Môžeme teda pristupovať k údajom pre konkrétnu krajinu pomocou `.loc`:|\n"
"Vidíte, že vďaka použitiu `groupby` sú všetky DataFramy teraz indexované podľa Krajiny/Regiónu. Dáta pre konkrétnu krajinu tak môžeme získať pomocou `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Poznámka** ako používame `[3:]` na odstránenie prvých troch prvkov sekvencie, ktoré obsahujú nemetadáta dátumu (stĺpce Provincia/Štát a geolokácia). Tieto tri stĺpce môžeme tiež úplne odstrániť:\n"
"> **Poznámka** ako používame `[3:]` na odstránenie prvých troch prvkov zo sekvencie, ktoré obsahujú metaúdaje neobsahujúce dátum (stĺpce Provincie/Štátu a geolokácie). Môžeme tiež úplne odstrániť tieto tri stĺpce:\n"
]
},
{
@ -1625,9 +1625,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Skúmanie dát\n",
"## Skúmanie údajov\n",
"\n",
"Teraz sa pozrime na skúmanie konkrétnej krajiny. Vytvorme rámec, ktorý obsahuje údaje o infekciách zoradené podľa dátumu:\n"
"Teraz sa presuňme k skúmaniu konkrétnej krajiny. Vytvorme rámec, ktorý obsahuje údaje o infekciách zoradené podľa dátumu:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Môžeme vidieť veľké výkyvy v údajoch. Pozrime sa bližšie na jeden z mesiacov:\n"
"Vidíme veľké výkyvy v dátach. Pozrime sa bližšie na jeden z mesiacov:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Je zrejmé, že v údajoch sú týždenné výkyvy. Keďže chceme vidieť trendy, dáva zmysel vyhladiť krivku výpočtom kĺzavého priemeru (t. j. pre každý deň vypočítame priemernú hodnotu z niekoľkých predchádzajúcich dní):\n"
"Jasne to vyzerá, že v dátach sú týždenné výkyvy. Pretože chceme vidieť trendy, má zmysel vyhladiť krivku výpočtom kĺzavého priemeru (t. j. pre každý deň vypočítame priemernú hodnotu za predchádzajúcich niekoľko dní):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Aby sme mohli porovnať niekoľko krajín, môžeme chcieť zohľadniť populáciu krajiny a porovnať percento nakazených osôb vzhľadom na populáciu krajiny. Na získanie populácie krajiny načítajme dataset krajín:\n"
"Aby sme mohli porovnať niekoľko krajín, možno budeme chcieť zohľadniť populáciu krajiny a porovnať percento infikovaných osôb vzhľadom na populáciu krajiny. Ak chceme získať populáciu krajiny, načítajme dataset krajín:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Keďže táto databáza obsahuje informácie o krajinách aj provinciách, aby sme získali populáciu celej krajiny, musíme byť trochu šikovní:\n"
"Pretože tento súbor údajov obsahuje informácie o krajinách aj provinciách, na získanie populácie celej krajiny musíme byť trochu šikovnejší: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Výpočet $R_t$\n",
"\n",
"Aby sme videli, ako infekčná je choroba, pozrieme sa na **základné reprodukčné číslo** $R_0$, ktoré udáva počet ľudí, ktorých nakazí jedna infikovaná osoba. Keď je $R_0$ väčšie ako 1, epidémia sa pravdepodobne rozšíri.\n",
"Aby sme videli, aké nákazlivé je ochorenie, pozeráme sa na **základné reprodukčné číslo** $R_0$, ktoré udáva počet ľudí, ktorých nakazí infikovaná osoba. Keď je $R_0$ väčšie ako 1, epidémia sa pravdepodobne rozšíri.\n",
"\n",
"$R_0$ je vlastnosť samotnej choroby a nezohľadňuje niektoré ochranné opatrenia, ktoré môžu ľudia prijať na spomalenie pandémie. Počas priebehu pandémie môžeme odhadnúť reprodukčné číslo $R_t$ v ľubovoľnom čase $t$. Bolo preukázané, že toto číslo možno približne odhadnúť tak, že vezmeme okno o dĺžke 8 dní a vypočítame $$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 vlastnosť samotnej choroby a nezohľadňuje niektoré ochranné opatrenia, ktoré ľudia môžu prijať na spomalenie pandémie. Počas vývoja pandémie môžeme odhadnúť reprodukčné číslo $R_t$ v ľubovoľnom čase $t$. Ukázalo sa, že toto číslo možno približne odhadnúť tak, že sa vezme okno 8 dní a vypočíta sa $$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",
"kde $I_t$ je počet novo infikovaných jedincov v deň $t$.\n",
"\n",
"Poďme vypočítať $R_t$ pre naše dáta o pandémii. Na to použijeme posuvné okno s 8 hodnotami `ninfected` a aplikujeme funkciu na výpočet vyššie uvedeného pomeru:\n"
"Vypočítajme $R_t$ pre naše pandémické údaje. Na to vezmeme kĺzavé okno 8 hodnôt `ninfected` a použijeme funkciu na výpočet vyššie uvedeného pomeru:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Môžete vidieť, že v grafe sú niektoré medzery. Tie môžu byť spôsobené buď hodnotami `NaN`, alebo prítomnosťou hodnôt `inf` v datasetu. Hodnoty `inf` môžu byť spôsobené delením nulou a `NaN` môže indikovať chýbajúce údaje alebo nedostupné údaje na výpočet výsledku (ako na úplnom začiatku nášho rámca, kde ešte nie je k dispozícii kĺzavé okno s šírkou 8). Aby bol graf krajší, potrebujeme tieto hodnoty vyplniť pomocou funkcií `replace` a `fillna`.\n",
"Môžete vidieť, že v grafe sú niektoré medzery. Tie môžu byť spôsobené buď hodnotami `NaN`, alebo prítomnosťou hodnôt `inf` v datasete. `inf` môže byť spôsobené delením nulou, a `NaN` môže indikovať chýbajúce dáta, alebo žiadne dáta dostupné na výpočet výsledku (ako na úplnom začiatku nášho rámca, kde rolovacie okno šírky 8 ešte nie je dostupné). Aby bol graf krajší, potrebujeme tieto hodnoty doplniť pomocou funkcií `replace` a `fillna`.\n",
"\n",
"Pozrime sa bližšie na začiatok pandémie. Tiež obmedzíme hodnoty na y-osi len na hodnoty pod 6, aby sme lepšie videli, a nakreslíme horizontálnu čiaru na úrovni 1.\n"
"Pozrime sa bližšie na začiatok pandémie. Tiež obmedzíme hodnoty na osi y, aby sa zobrazili iba hodnoty pod 6, pre lepšiu prehľadnosť, a nakreslíme vodorovnú čiaru na hodnote 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ďalším zaujímavým ukazovateľom pandémie je **derivát**, alebo **denný rozdiel** v nových prípadoch. Umožňuje nám jasne vidieť, kedy pandémia rastie alebo klesá.\n"
"Ďalším zaujímavým ukazovateľom pandémie je **derivát**, alebo **denný rozdiel** v nových prípadoch. Umožňuje nám jasne vidieť, kedy pandémia rastie alebo klesá.\n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vzhľadom na to, že existuje veľa výkyvov v údajoch spôsobených vykazovaním, má zmysel vyhladiť krivku spustením kĺzavého priemeru, aby sme získali celkový obraz. Zamerajme sa opäť na prvé mesiace pandémie:\n"
"Vzhľadom na skutočnosť, že údaje obsahujú veľa výkyvov spôsobených hlásením, má zmysel vyhladiť krivku pomocou kĺzavého priemeru, aby sme získali celkový obraz. Zamerajme sa opäť na prvé mesiace pandémie:\n"
]
},
{
@ -2390,26 +2391,27 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Výzva\n",
"\n",
"Teraz je čas, aby ste si viac zahrali s kódom a dátami! Tu je niekoľko návrhov, s ktorými môžete experimentovať:\n",
"* Pozrite sa na šírenie pandémie v rôznych krajinách. \n",
"* Vykreslite grafy $R_t$ pre niekoľko krajín na jednom grafe pre porovnanie alebo vytvorte niekoľko grafov vedľa seba.\n",
"* Pozrite sa, ako počet úmrtí a uzdravení koreluje s počtom infikovaných prípadov. \n",
"* Pokúste sa zistiť, ako dlho typická choroba trvá, vizuálne korelujúc mieru infekcie a mieru úmrtí a hľadajte nejaké anomálie. Možno bude potrebné pozrieť sa na rôzne krajiny, aby ste to zistili. \n",
"* Vypočítajte mieru úmrtnosti a ako sa mení v čase. Môžete chcieť zohľadniť dĺžku trvania choroby v dňoch, aby ste posunuli jednu časovú radu pred vykonaním výpočtov.\n"
"Teraz je čas, aby ste si viac zahrali s kódom a dátami! Tu je niekoľko návrhov, s ktorými môžete experimentovať:\n",
"* Pozrite si šírenie pandémie v rôznych krajinách.\n",
"* Vykreslite grafy $R_t$ pre niekoľko krajín do jedného grafu na porovnanie alebo vytvorte niekoľko grafov vedľa seba.\n",
"* Pozrite sa, ako počet úmrtí a vyliečených koreluje s počtom infikovaných prípadov.\n",
"* Skúste zistiť, ako dlho typicky trvá choroba, vizuálnou koreláciou miery infekcie a miery úmrtí a hľadaním niektorých anomálií. Možno budete musieť pozrieť rôzne krajiny, aby ste to zistili.\n",
"* Vypočítajte mieru úmrtnosti a ako sa mení v priebehu času. Možno budete chcieť zohľadniť dĺžku choroby v dňoch, aby ste jednu časovú radu posunuli pred výpočtami.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"## Referencie\n",
"\n",
"You may look at further studies of COVID epidemic spread in the following publications:\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), blog post by [Dmitry Soshnikov](http://soshnikov.com)\n",
"Ďalšie štúdie šírenia epidémie COVID môžete nájsť v nasledujúcich publikáciách:\n",
"* [Sklzový SIR model pre odhad Rt počas pandémie COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), blogový príspevok od [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Odhad časovo závislého reprodukčného čísla pre globálny výskyt COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Kód k vyššie uvedenému článku na GitHub](https://github.com/shwars/SlidingSIR)\n"
"* [Kód k uvedenému článku na GitHube](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Vyhlásenie o zodpovednosti**:\nTento dokument bol preložený pomocou AI prekladateľskej služby [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, berte prosím na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Originálny dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Za akékoľvek nedorozumenia alebo nesprávne výklady vyplývajúce z použitia tohto prekladu nenesieme zodpovednosť.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Vyhlásenie o zodpovednosti**:\nTento dokument bol preložený pomocou AI prekladateľskej služby [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, vezmite prosím na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho natívnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
Aby ste mohli začať, musíte mať na svojom počítači nainštalované NPM a Node. Nainštalujte závislosti (npm install) a potom spustite projekt lokálne (npm run serve):
Ak chcete začať, musíte mať na svojom počítači spustený NPM a Node **>=20.0.0**. Nainštalujte závislosti (npm install) a potom projekt spustite lokálne (npm run serve):
## Nastavenie projektu
```
npm install
```
### Kompilácia a automatické obnovenie pre vývoj
### Kompiluje a automaticky obnovuje pre vývoj
```
npm run serve
```
### Kompilácia a minimalizácia pre produkciu
### Kompiluje a minifikuje pre produkciu
```
npm run build
```
### Kontrola a oprava súborov
### Kontroluje a opravuje súbory
```
npm run lint
```
### Prispôsobenie konfigurácie
Pozrite si [Referenciu konfigurácie](https://cli.vuejs.org/config/).
Pozrite si [Configuration Reference](https://cli.vuejs.org/config/).
---
**Upozornenie**:
Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Aj keď sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vyhlásenie o zodpovednosti**:
Tento dokument bol preložený pomocou AI prekladateľskej služby [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, vezmite prosím na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho natívnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.
Aby ste mohli začať, musíte sa uistiť, že máte na svojom počítači nainštalované NPM a Node. Nainštalujte závislosti (npm install) a potom spustite projekt lokálne (npm run serve):
Na začiatok musíte mať na svojom počítači nainštalovaný NPM a Node **>=20.0.0**. Nainštalujte závislosti (npm install) a potom spustite projekt lokálne (npm run serve):
## Nastavenie projektu
```
npm install
```
### Kompilácia a automatické načítanie pre vývoj
### Kompiluje a automaticky obnovuje počas vývoja
```
npm run serve
```
### Kompilácia a minimalizácia pre produkciu
### Kompiluje a minimalizuje pre produkciu
```
npm run build
```
### Kontrola a oprava súborov
### Kontroluje a opravuje súbory
```
npm run lint
```
### Prispôsobenie konfigurácie
Pozrite si [Referenciu konfigurácie](https://cli.vuejs.org/config/).
Pozrite si [Konfiguračnú referenciu](https://cli.vuejs.org/config/).
---
**Upozornenie**:
Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vyhlásenie o zodpovednosti**:
Tento dokument bol preložený pomocou AI prekladateľskej služby [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, vezmite prosím na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho natívnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.