Введение в регрессионный анализ
Дорогие студенты!
Это страница обязательного курса «Введение в регрессионный анализ», читаемого на ОП «Политология» 2 курса бакалавриата в 1-2 модулях 2026-2027 учебного года. Первая часть курса представляет собой интенсив по Python, вторая – обычный курс с теоретическими лекциями и практическими семинарами.
План занятий:
- сентябрь: 1 лекция и 2 семинара в неделю (Тамбовцева Алла Андреевна)
- октябрь-декабрь: 2 лекции (Стукал Денис Константинович) и 2 семинара в неделю (Конча Валерия, Тамбовцева Алла Андреевна)
Содержание
Правила игры
Программа курса: ссылка.
Формула оценки: 0.1 * Контрольная работа 1 + 0.15 * Контрольная работа 2 + 0.15 * Практикум + 0.3 * Проверочные работы + 0.3 * Экзамен.
- Проверочные работы: небольшие письменные работы по пройденному материалу на лекциях и семинарах
- Контрольная работа 1: письменная работа, охватывает материал 1 модуля
- Контрольная работа 2: письменная работа, охватывает материал всего курса
- Практикум: практическая работа по обработке и анализу данных ближе к концу курса
- Экзамен: письменная работа в конце курса, экзамен является блокирующим
Программное обеспечение
Для работы на курсе необходимо установить дистрибутив Anaconda (скачать можно здесь, регистрацию можно пропустить), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в аналоге Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).
Для подготовки к работе необходимо ознакомиться с материалами онлайн-курса:
- Видео. Подготовка рабочего места, инструкция по открытию файлов в Jupyter Notebook.
- Видео. Первая программа.
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция)
- Работа в Jupyter Notebook (видео), отличия Google Colab от Jupyter (видео)
Материалы (интенсив по Python)
Неделя 1. Введение в Python. Массивы NumPy
- Лекция 1. Введение в Python: написание кода, переменные, списки и массивы (слайды, код)
- Семинар 1. Операции с массивами NumPy: часть 1 (py-seminar01.ipynb), решения (py-seminar01-solutions.ipynb)
- Семинар 2. Операции с массивами NumPy: часть 2 (py-seminar02.ipynb), решения (py-seminar02-solutions.ipynb)
- Задачи для тренировки по итогам недели №1 (py-train01.ipynb), решения (py-train01-solutions.ipynb)
Неделя 2. Описание данных. Датафреймы Pandas
- Лекция 2. Описательные статистики (слайды)
- Семинар 3. Описательные статистики в NumPy (py-seminar03.ipynb), решения (py-seminar03-solutions.ipynb)
- Семинар 4. Введение в датафреймы Pandas (py-seminar04.ipynb), решения (py-seminar04-solutions.ipynb)
- Задачи для тренировки по итогам недели №2, часть 1 (py-train02-01.ipynb), решения (py-train02-01-solutions.ipynb)
- Задачи для тренировки по итогам недели №2, часть 2 (py-train02-02.ipynb), решения (py-train02-02-solutions.ipynb)
Неделя 3. Визуализация данных. Датафреймы Pandas
- Лекция 3. Визуализация данных (слайды)
- Семинар 5. Операции с датафреймами Pandas: теория (18-09.ipynb), данные (fbeasts.csv)
- Семинар 6. Операции с датафреймами Pandas: практика (py-seminar06.ipynb, csv), решение (py-seminar06-solutions.ipynb)
- Задачи для тренировки по итогам недели №3 (py-train03.ipynb)
Неделя 4. Визуализация данных. Группировка и агрегирование
- Лекция 4. Цветовые схемы
- Про цвета: палитра цветов от Google, цвета в matplotlib, названия цветов от ColorScheme.Ru
- Пример сервиса для подбора палитры, пример сервиса для проверки контрастности
- Семинар 7. Примеры визуализации с Matplotlib (py-seminar07.ipynb, charity_data.csv), решения (py-seminar07-solutions.ipynb)
- Семинар 8.1. Примеры визуализации с Matplotlib: продолжение (py-seminar08-01.ipynb, charity_data.csv), решения (py-seminar08-01-solutions.ipynb)
- Семинар 8.2. Группировка и агрегирование в pandas (py-seminar08-02.ipynb), решения (py-seminar08-02-solutions.ipynb)
Итоги: что нужно уметь после интенсива по Python
Неделя 1: импортировать библиотеку numpy, создавать массивы numpy из чисел или текстовых значений, выполнять векторные операции (умножение/деление массива на число, сложение/вычитание/умножение/деление нескольких массивов и подобные преобразования), проверять условия и фильтровать элементы массивов.
Основные операторы, функции и методы недели 1:
- операторы >, <, >=, <=, ==, !=, & и |;
- базовые функции sum() и len()
Недели 2-4: импортировать библиотеку pandas, загружать данные из файлов CSV/Excel и сохранять в датафрейм, выводить описательные статистики для числовых и текстовых столбцов, выбирать отдельные столбцы и выводить описательные статистики для них, проверять условия и фильтровать строки датафрейма, создавать столбцы из 0 и 1 на основе условий, строить гистограмму и ящик с усами по выбранному столбцу датафрейма, сортировать строки, группировать строки и выводить описательные статистики по группам.
Основные функции и методы недель 2-4:
- функции read_csv(), read_excel() и методы .info() и .describe() из pandas
- методы .mean(), .std(), .median(), .quantile(), .value_counts() из pandas
- методы .hist(), .plot.box() из pandas
- методы .sort_values() и .groupby() из pandas
Материалы (основной курс)
Неделя 1. Парная линейная регрессия: введение
- Практикум 1. Понятие парной линейной регрессии. Уравнение прямой (practice01.ipynb), решения (practice01-solutions.ipynb)
- Задачи для тренировки по итогам недели (add01.ipynb)