522 гр., по выбору. Анализ многомерных данных на компьютере

Место и время проведения: вторник, 3 пара (4399)
Преподаватель: Голяндина Нина Эдуардовна




Вот ссылка на слайды, где написано про работу с R (что поставить, как работает, …). В целом, они для «продвинутых». Минимум для всех - слайды 3 и 4 (R и RStudio), а также 13-18 (RMarkdown). Также, есть jupyter notebook с R. Можно еще (для демонстрации зависимости результата от параметров) освоить R shiny, с помощью которого можно делать удобный интерфейс с окошками, где можно менять параметры и сразу видеть результат.

Важно для зачета: необходимым условием (еще нужно выступать с рассказами на заданную тему на занятиях; обычно после выступления становится понятно, что нужно исправить-дополнить) будет подготовка в RMarkdown отчетов по обсуждаемым на занятиях темам. Я их буду проверять и, если что-то не так, спрашивать, что да почему. Чем больше объяснений, включая формулы, есть в отчете, тем меньше нужно объяснять дополнительно. Поэтому сохраняйте то, что готовите к занятиям.

18.12.2018 Кластерный анализ. (Пишу заранее, так как организация процесса потребует времени.)
Обзор пакетов в R https://cran.r-project.org/web/views/Cluster.html . Там три раздела как раз, Hierarchical Clustering, Model-Based Clustering, Partitioning Clustering - есть, где разгуляться, при желании.
Команды готовят определенные части на своих данных, выступают с рассказами (команды 2 и 3 могут использовать одни данные и взаимодействовать). Затем обмениваются кодом, а в отчет каждый включает применение всех методов к своим личным данным. Выбранные данные пусть будут исходно размечены, чтобы можно было оценить результат кластеризации.
Команда 1 - Иерархический анализ.
Кoманда 2 - Gaussian mixture models. Какие параметры, выбор начальных значений.
Кoманда 3 - Gaussian mixture models. Выбор числа кластеров (AIC, BIC). Кластеризация после снижение размерности (по АГК). Сравнение результатов по исходным данным и данным меньшей размерности.
Команда 4 - k-means как Partitioning Clustering.

11.12.2018 Дискриминантный анализ и классификация. В классификации, посмотрите, какие есть еще характеристики в performance, какой у них смысл.

#ROC and AUC (без кросс-валидации; обобщается на train&test)
library(MASS)
Iris ← iris
levels(Iris$Species)
levels(Iris$Species) ← c(«A», «A», «B») #make 2 levels
levels(Iris$Species)
z ← lda(Species ~ ., Iris, prior = c(1,1)/2)
lda.pred ← predict(z, Iris)
library(ROCR)
pred ← prediction(lda.pred$posterior[,2], Iris$Species)
perf ← performance(pred, «tpr»,«fpr»)
plot(perf, colorize = TRUE)
AUC.ROCR ← performance(pred,«auc»)
print(AUC.ROCR@y.values1)# Здесь не ссылка, а 1 в двойных квадратных скобках

04.12.2018 Задания по дискриминантному анализу и классификации. Готовятся все, но особенно Лунев, Сандул, Федоров, Понизова, Зенкова.
Классификация включает в себя lda, qda, cross-validation, визуализацию. (Можете посмотреть на другие методы классификации, которые частично будут в след. семестре, здесь https://github.com/kabacoff/RiA2/blob/master/Ch17%20Classification.R)

#LDA
iris.train ← iris
iris.lda ← lda(iris.train[,1:4], iris.train[,5])
iris.ldap ← predict(iris.lda, iris.train[,1:4])$class
table(iris.ldap, iris.train[,5]) #classification quality
ris.lda ← lda(iris.train[,1:4], iris.train[,5], CV = TRUE)
table(iris.lda$class, iris.train[,5]) #leave-one-out cross-validation
#LDA, out-of-sample
iris.train ← iris[seq(1,nrow(iris),5),]
iris.unknown ← iris[-seq(1,nrow(iris),5),]
iris.lda ← lda(iris.train[,1:4], iris.train[,5])
iris.ldap ← predict(iris.lda, iris.unknown[,1:4])$class
ct ← table(iris.ldap, iris.unknown[,5])
diag(prop.table(ct, 1))
# Exploratory Graph for LDA or QDA for each pair of variables
library(klaR)
partimat(Sp ~ ., Iris, method=«lda»)

27.11.2018 Задания по факторному анализу. Задания по каноническому дискриминантному анализу. (Все готовятся - возможно, позже напишу, кто что будет рассказывать.)
Задание по каноническому дискриминантному анализу включает в себя (в скобках написано, на чем сделать акцент):

  • Проверка модели (гомоскедастичность, нормальность) - K1.
  • Значимость различия групп (разные критерии) - K2.
  • Интерпретация отличия на основе стандартизованных дискриминантных функций и факторной структуры - K3.
  • Значимое число дискриминантных функций - K4.
  • Уменьшение числа признаков вручную - K4.
  • Пошаговый дискриминантный анализ (пошаговый DA в klaR - greedy.wilks и stepAIC (в прошлом году не получилось воспользоваться, поэтому, если и сейчас не получится, то не делаем)) - K2.
  • Значения новых признаков (канонических переменных) - K1.
  • Графическое изображение результатов дискр. анализа - K3.

Функции в R - lda, candisc, manova (можно поискать другие пакеты). Для проверки на нормальность - пакеты nortest, mvnormtest, на равенство ковариационных матриц heplots (там есть Box M и не только).

20.11.2018 Задания по факторному анализу. Это практика перед коллоквиумом. И будет странно, если вы не разберетесь с факторным анализом перед коллоквиумом.

13.11.2018 (06.11 лекция)
Выступления по заданию по факторному анализу. Всем надо сделать
1) все (что рассказывалось на лекциях 1 и 6 ноября) для своих индивидуальных данных. Функции factanal, fa (psych). GPArotation и пр.
2) при анализе индивидуальных данных обратить внимание на:
Команда 1 - Разные способы нахождения факторных значений.
Команда 2 - Разница в интерпретации factor structure и factor pattern.
Команда 3 - Способы определения числа факторов. Для информационных критериев проверить с помощью моделирования, как они работают на нормально-распределенных данных и при сильных отклонениях от нормальности.
Команда 4 - Методы нахождения факторных весов и остаточные корреляции.

30.10.2018
Каждый берет уже свои многомерные данные (выбирайте так, чтобы было интересно смотреть на результат) и применяет к ним АГК с учетом моих комментариев по анализу учебных данных на занятии и по присланному файлу. Напомню, присылать нужно до субботы 27.10 - чем раньше пришлете, тем раньше получите комментарии. На занятии будете выступать с рассказами по своим данным.

23.10.2018
Задания по АГК.
Варианты пакетов перечислены здесь и более свежий и подробный вариант здесь.
Выкладываю архив с простыми примерами. Нужно взять разные пакеты (их 5, см. вторую ссылку) - на каждый пакет не менее двух человек, и разные данные из архива (их 11). Если что-то непонятно, спрашивайте. (Владимир - возьмите какие-нибудь свои данные.) Все должны подготовиться. Я попрошу несколько произвольных человек выступить.
Нужно разобраться в пакетах и параметрах функций на том уровне, чтобы повторить то, что было на лекции в распечатке. Также, описание порядка действий приведено в файле PC.TXT в архиве. Про используемую для PCA функцию нужно постараться понять, что означают там параметры, и из чего состоит объект, который они возвращают.

16.10.2018 (начало в 13:30)
Рассказы про регрессию, темы 3, 2.

09.10.2018
Рассказы про регрессию, темы 4,3.
Присылайте уже html с результатами первичного анализа (после того как приму, надо будет прислать и исходник в RMarkdown).

02.10.2018
Темы по регрессии:
1. Множественная линейная регрессия (lm и все, что положено, значимости, предсказание, outliers) + выбор модели (пошаговая регрессия, критерии AIC и BIC) (команда 4)
2. Нелинейная регрессия, акцент на логистической регрессии (команда 3)
3. Робастная регрессия (команда 2)
4. Непараметрическая регрессия, акцент на loess (команда 1)
Материалы для рассказа по последним трем темам есть здесь https://socialsciences.mcmaster.ca/jfox/Books/Companion/appendices.html. Первая тема - по конспекту + сами найдите про AIC и BIC.
Теорию рассказывает тот, кто был не СМ, его подстраховывает СМ. Третий (СМ) ответственный за демонстрацию в R.
(Я подбирала темы так, как мне казалось вам больше подходит. Но можете и поменяться. Начинать надо с первой темы, потом в любом порядке.)

25.09.2018 Продолжение показа заданий по первичной обработке данных.
По результатам 18 и 25 сентября: Команда 1 - OK, Команда 2 - заканчиваете рассказ 2 октября, Команда 3 - разбираетесь, где там статистическая постановка задачи, Команда 4 - Максим делает обработку других данных, самостоятельно.

18.09.2018 Все делают первичную обработку данных в R. Это аналог описанного здесь в трех частях, если убрать частности, связанные с конкретным заданием и пакетом STATISTICA. Обращаю внимание, что нужно понимать формулы тоже и с помощью тетрадки их выписывать и объяснять. Часть формул можно выписать прямо в RMarkdown, так как он поддерживает простую разметку TEX.

Внизу все разбиты на 4 группы. Каждая группа берет какой-то набор данных (любой). Задание делаете вместе, помогая тому, кто не со статмода, разобраться. Все разбираются во всем, но про каждую часть задания рассказывает кто-то один.

Участники

Команда 1

  1. Петраков Михаил Александрович
  2. Понизова Вероника Сергеевна
  3. Лунев Иван Сергеевич

Команда 2

  1. Приньков Алексей Сергеевич
  2. Страшко Владислав Алексеевич
  3. Третьякова Александра Леонидовна

Команда 3

  1. Сандул Михаил Вадимович
  2. Федоров Никита Алексеевич
  3. Балагуров Владимир Олегович

Команда 4

  1. Высоков Максим Георгиевич
  2. Зенкова Наталья Валентиновна
  3. Романова Елизавета Юрьевна
study/fall2018/5stat_practice.txt · Последнее изменение: 2020/11/25 22:50 — nina
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0