• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Data Science

2019/2020
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Course type:
Compulsory course
When:
2 year, 3, 4 module

Instructors

Программа дисциплины

Аннотация

Курс "Наука о данных" нацелен на изучение языка программирования Python и получение базовых знаний и навыков для обработки, визуализации и статистического анализа данных, а также дальнейшего прохождения более специализированных курсов в этой области (например, машинного обучения). Первая часть дисциплины отведена на изучение основ языка Python, по итогам которой слушатели узнают о типах и структурах данных, научатся решать алгоритмические задачи и освоят такие базовые понятия программирования, как: условные операторы, функции, рекурсии и циклы. В рамках курса будут пройдены основы различных парадигм программирования: процедурное, функциональное и объектно-ориентированное программирование. Вторая часть курса посвящена освоению теоретической базы и необходимых практических навыков для анализа данных. Слушатели научатся решать задачи по парсингу, препроцессингу и визуализации данных с помощью стандартных и внешних библиотек Python, проверять статистические гипотезы и критерии качества оценок (состоятельность, эффективность и несмещенность), использовать метод максимального правдоподобия. С использованием онлайн-курса "Основы программирования на Python" [URL: https://ru.coursera.org/learn/python-osnovy-programmirovaniya].
Цель освоения дисциплины

Цель освоения дисциплины

  • Ознакомление студентов с основами программирования на языке Python
  • Получение навыков обработки и статистического анализа данных с применением библиотек языка Python
  • Ознакомление с теоретическими основами и основными методами статистического анализа
Результаты освоения дисциплины

Результаты освоения дисциплины

  • Знать синтаксис и семантику основных конструкций языка программирования Python
  • Уметь формулировать аналитическую задачу и реализовывать ее выполнение на Python
  • Знать основные структуры данных и парадигмы программирования
  • Уметь собирать, предобрабатывать и визуализировать данные и выводить их описательные статистики
  • Владеть базовыми понятиями теории вероятностей и математической статистики для работы с данными
  • Уметь осуществлять проверку статистических гипотез и критериев качества оценок
  • Уметь использовать метод максимального правдоподобия
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в язык программирования. Условные операторы. Вещественные числа
    Целые числа, ввод-вывод, применение арифметических операций для целых чисел. Простые операции со строками. Знакомство с Python, основные типы данных и операции с ними. Запуск программ в среде PyCharm. Получение результатов. Условный оператор и цикл while. Логический тип переменных, условный оператор. If, else. Цикл while. Основы работы с вещественными числами, округление. Схема Горнера. Сложные проценты.
  • Функции и рекурсия. Кортежи, цикл for, списки. Сортировка
    Функция. Локальные и глобальные переменные. Возврат значений, использование рекурсии. Кортежи, списки, основные методы работы с кортежами и списками. Функция range, цикл for. Методы сравнения элементов множества. Сортировки, сортировка подсчётом. Лямбда-функции.
  • Множества и словари. Функциональное программирование
    Методы создания множеств. Словари, создание и примеры использования. Примеры решения задач в функциональном стиле. Итераторы и генераторы.
  • Объектно-ориентированное программирование. Структуры данных и алгоритмы
    Введение в объектно-ориентированное программирование. Классы. Инкапсуляция и конструкторы. Наследование и полиморфизм. Реализация генератора случайных чисел. Алгоритмические задачи базового уровня сложности с использованием классических структур данных. Поиск подстроки в строке без учета порядка символов, валидация скобочной последовательности, алгоритмы сортировок. Оценка сложности алгоритмов.
  • Парсинг данных
    Парсинг данных из открытых источников информации. Инструменты парсинга в Python (requests, bs4). Формат хранения данных (csv, tsv, json). Чтение и запись данных. Парсинг в несколько процессов (joblib). Использование прокси. API и его использование.
  • Обработка данных
    Работа с табличными данными в Python. Библиотеки pandas, numpy, scipy. Манипуляции с данными, обработка пропусков, фильтрация и агрегация. Описательный анализ данных (мода, медиана, математическое ожидание, дисперсия, среднее квадратичное отклонение, стандартная ошибка среднего, доверительный интервал, квартили, межквартильный размах, моменты распределений (коэффициенты асимметрии и эксцесса).
  • Визуализация данных
    Библиотека matplotlib, seaborn, plotly. Основные виды графиков (гистограммы, диаграммы рассеяния, диаграмма размаха (box plot), линейный график, круговая диаграмма, тепловые карты). Правила оформление графиков (подписывание осей, заголовка, изменение масштаба). Способы визуализации многомерных данных. Поиск выбросов в данных.
  • Критерии качества статистических оценок. Сходимость по распределению и вероятности
    Генеральная совокупность и выборка. Статистическое оценивание. Точечные оценки. Иллюстрация несмещенности, состоятельности, эффективности статистических оценок. Иллюстрация закона больших чисел (ЗБЧ) и центральной предельной теоремы (ЦПТ). Симуляция сходимости по распределению, по вероятности.
  • Проверка статистических гипотез.
    Интервальные оценки, доверительный интервал. Проверка статистических гипотез. Дизайн A/B тестирования: контрольная и тестовые группы. Многовариативное тестирование. Оценка качества и анализ результатов эксперимента. Уровень значимости. P-value. Ошибки 1 и 2 рода.
  • Метод максимального правдоподобия
    Метод максимального правдоподобия. Непрерывный случай. Метод максимального правдоподобия и построение доверительных интервалов. Тест отношения правдоподобия (likelihood ratio test, LR) и проверка гипотез.
Элементы контроля

Элементы контроля

  • неблокирующий Оценка онлайн курса
    Онлайн-курс "Основы программирования на Python" [URL: https://ru.coursera.org/learn/python-osnovy-programmirovaniya].
  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Контрольная работа 1
  • неблокирующий Контрольная работа 2
  • неблокирующий Экзамен (письменный)
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (4 модуль)
    Итоговая оценка = min(10, 0.15*ОК + 0.1*ДЗ1 + 0.1*ДЗ2 + 0.1*ДЗ3 + 0.2*КР1 + 0.2*КР2 + 0.2*ЭКЗ)
Список литературы

Список литературы

Рекомендуемая основная литература

  • Christopher M. Bishop. (n.d.). Australian National University Pattern Recognition and Machine Learning. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.EBA0C705
  • Hastie, T., Tibshirani, R., Friedman, J. The elements of statistical learning: Data Mining, Inference, and Prediction. – Springer, 2009. – 745 pp.
  • Lutz, M. (2008). Learning Python (Vol. 3rd ed). Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415392
  • Кремер Н. Ш.-ТЕОРИЯ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКАЯ СТАТИСТИКА 5-е изд., пер. и доп. Учебник и практикум для академического бакалавриата-М.:Издательство Юрайт,2019-538-Бакалавр. Академический курс-978-5-534-10004-4: -Текст электронный // ЭБС Юрайт - https://biblio-online.ru/book/teoriya-veroyatnostey-i-matematicheskaya-statistika-431167
  • Энатская Н. Ю., Хакимуллин Е. Р.-ТЕОРИЯ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКАЯ СТАТИСТИКА. Учебник и практикум для СПО-М.:Издательство Юрайт,2019-399-Профессиональное образование-978-5-534-11917-6: -Текст электронный // ЭБС Юрайт - https://biblio-online.ru/book/teoriya-veroyatnostey-i-matematicheskaya-statistika-446435

Рекомендуемая дополнительная литература

  • - Митчелл Р. — Скрапинг веб-сайтов с помощю Python - Издательство "ДМК Пресс" - 2016 - ISBN: 978-5-97060-223-2 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/100903
  • Vanderplas, J. T. (2016). Python Data Science Handbook : Essential Tools for Working with Data (Vol. First edition). Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1425081