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

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




Здесь будут отражаться ваши успехи по пути к зачету по анализу данных.

10.12.2019 и 12.12.2019 Коллоквиум и показ заданий по классификации и кластерному анализу (см. страницу предыдущего года со ссылками и примерами кода http://statmod.ru/wiki/study:fall2019:5stat_practice).

03.12.2019 Линейная регрессия (дорассказала про ROC-AUC в классификации).

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

19.11.2019 Обсуждаем практические задания про корреляции и про регрессию. Всем будет дано задание по АГК.

12.11.2019 Жду все не сделанные задания (см. ниже). Дедлайн по третьему заданию про корреляции. Обсуждаем линейную регрессию.

05.11.2019 Всем нужно приготовить задание «О виде распределений и о сравнении распределений» для показа и заранее прислать то, что сможете сделать по теории (см. ниже) про t-test. В практическом задании нужно описывать (1) логику того, что делаете - чего, зачем, какая гипотезы, и (2) потом комментировать результаты.
Продолжаем обсуждать корреляции. Женя показывает задание 3.

29.10.2019 Всем нужно приготовить задание «О виде распределений и о сравнении распределений» (дедлайн) и заранее прислать то, что сможете сделать по теории (см. ниже). Хоть что-то, но надо сделать. Начнем уже обсуждать корреляции.

22.10.2019 Нужно разобрать материал и ответить на вопросы в конце файла (стр.4). Ответы надо набирать в tex. Прикладываю исходники.
Также все пытаются сделать задание «О виде распределений и о сравнении распределений», приложен файл Жени без комментариев (там 1 и 2 части), но оттуда можно взять функции для анализа своих данных.

15.10.2019 1 пара. Начнем разбирать задание «О виде распределений и о сравнении распределений». Женя показывает это второе задание, чтобы хотя бы на начальном уровне все поняли, о чем оно.

08.10.2019 1 пара. Женя показывает задание по первичному анализу, сделанное согласно пунктам ниже. Начнем разбирать задание «О виде распределений и о сравнении распределений».

01.10.2019 1 пара. Это был дедлайн для того, чтобы прислать задание по первичному анализу данных по пунктам отсюда http://statmod.ru/wiki/study:fall2019:5stat_practice и также надо было методом подстановки получить оценку для дисперсии для исходных и для сгруппированных данных.

Про задания

Первичный анализ данных

  1. Выбрать данные. Можно взять стандартные из R, а можно найти в интернете какие-нибудь интересные для вас и их загрузить. При этом нужно, чтобы данные соответствовали повторной независимой выборке (данные, меняющиеся во времени, не годятся, так как такая выборка зависимая (будущее зависит от настоящего и прошлого) и, скорее всего, не из одного и того же распределения, т.е. идут изменения во времени).
  2. Каким-либо образом прочитать данные data; посмотреть на них head(data).
  3. Разобраться в том, что означают признаки.
  4. Определить вид признаков (колич., порядковые, качеств.). Для количеств. признаков определить, непрерывные они или дискретные (в том числе, дискретными могут стать непрерывные признаки, которые измерены с плохой точностью). Как вариант, это можно увидеть, посмотрев на частоту моды.
  5. Если признак порядковый и для него использованы текстовые метки, то проверить, что кодировка текстовых меток соответствует их естественному порядку.
  6. Построить matrix plot (pairs, таблица с попарными скаттерплотами), его долго разглядывать с точки зрения outliers, неоднородностей, вида распределений, вида зависимостей (линейные/нелинейные) и пр.
  7. Если есть сильно несимметричные (с хвостом вправо) распределения на положительной полуоси, то прологарифмировать их и снова построить matrix plot - зависимости должны стать более линейными, а распределения более симметричными.
  8. Если есть ourliers, то попробовать объяснить причину (ошибка в данных, особые индивиды) и удалить их, поставив NA на их место; исходные данные не надо портить, скопируйте в новые, а потом уже что-то меняйте.
  9. Если есть неоднородности (например, видны два облака точек), то объяснить причину (найти категоризующую переменную, объясняющую эту неоднородность).
  10. В дальнейшем вид matrix plots, распределения признаков и корреляции анализировать отдельно для неоднородных групп, используя factor.
  11. Можно также посмотреть на descriptive statistics с точки зрения минимумов-максимумов, асимметрии, эксцесса и пр.

О виде распределений и о сравнении распределений

  1. Выберите в данных категоризующую переменную. По ней выборка разбивается на подвыборки (например, случай, когда вы увидели неоднородность при первичном анализе, но необязательно).
  2. Сначала имеет смысл посмотреть на сравнение сравнение распределений в группах с помощью ящиков с усами (box plot). С помощью ящиков с усами там, где групп больше двух, можно выбрать две из них, которые интересно сравнить с помощью критериев.
  3. Проверьте, близко ли распределение выбранных признаков к нормальному. Можно использовать различные критерии для проверки этой гипотезы, можно рисовать normal ptobability plot.
  4. Сравните группы между собой. Можно сравнить по разным критериям, например, критерий t-test, который умеет обнаруживать разницу в среднем. Непараметрический аналог, с помощью которого можно обнаруживать сдвиг - критерий Манна-Уитни/Вилкоксона.
  5. Но распределения могут отличаться не только сдвигом. Рассмотрите критерий Колмогорова-Смирнова, который может обнаружить, если распределения отличаются формой.
  6. Если есть признаки, которые характеризуют одно и то же (например, время, которое человек тратит на сон, и время на работу), то аналогично производится сравнение по t-критерию и по непараметрическим критериям, они называются парными.

Об анализе зависимостей

  1. Вспомните, какие бывают виды зависимостей и чем они измеряются, по каким формулам. Посмотрите на основе matrix plot, какие зависимости у вас в данных. Не забудьте, что при неоднородных данных изучать зависимости имеет смысл только внутри групп по-отдельности.
  2. Начинать нужно с анализа линейных зависимостей. На основе коэффициента корреляции Пирсона нужно проинтерпретировать значимые зависимости. При наличие в данных пропусков обратите внимание на выбор между casewise and pairwise MD deletion (в чем разница, какие недостатки и достоинства у этих вариантов?).
  3. Затем можно переходить к ранговым коэффициентам корреляции. Расскажите, при каких условиях коэффициенты корреляции Пирсона и Спирмена примерно равны. Приведите примеры, когда один из них больше другого и наоборот. Сравните результаты на ваших данных. Если при сравнении буду найдены заметные различия в результатах, то попробуйте объяснить причину.
  4. Проинтерпретируйте найденные корреляции - можно ли сказать, что является причиной, что следствием. Если есть какая-то другая причина, которая влияет одновременно на оба признака (скрытый фактор), то попробуйте убрать его влияние с помощью частных корреляций.

Линейная регрессия

  1. Нужно выбрать, какую переменную вы хотите предсказывать. Вы выбираете признаки, по которым вы будете предсказывать. Делаете линейную регрессию (функция lm).
  2. Изучаете результат. В частности, значима ли регрессия (т.е. имеет ли смысл ей пользоваться для предсказания). Смотрите на коэффициенты регрессии, их значимость, их интерпретацию.
  3. Далее есть три проблемы, из-за которых результаты регрессии могут быть неправильными – линейная модель регрессии не соответствует данным, в данных могут быть сильно зависимые «независимые» переменные и также могут быть outliers. Если данные были предварительно хорошо подготовлены, то проблемы с outliers там менее вероятны. Поэтому сначала можно заняться проблемой зависимости. В общем случае, нет строгой рекомендации, в каком порядке нужно решать перечисленные проблемы.
  4. Надо учесть проблему, которая возникают, если предикторы сильно зависимы. На примере с двумя «независимыми» признаками пишете формулы и показываете, как корреляция между признаками влияет на качество оценок регрессии.
  5. Пытаетесь уменьшить количество предикторов. Для этого есть информационные критерии AIC, BIC.
  6. Строите обычную регрессию по выбранному числу признаков. Изучаете остатки (residuals), распределение, Сначала смотрите на нормальность остатков (зачем нужно на это смотреть?), затем можно посмотреть на зависимость Residuals vs Predicted.
  7. Далее переходите к поиску outliers. Напоминаю, что выброс по отношению к регрессии - это наблюдение, которое влияет на результат (leverage и Cook distance изменяют то, насколько наблюдение влияет).
  8. Итог: результат линейной регрессии, для которой проверена адекватность модели, значимость, отсутствие outliers, проинтерпретированы коэффициенты регрессии.
  9. Спрогнозируйте что-нибудь по построенной регрессионной модели. Постройте доверительный и предсказательный интервалы для предсказания.

Анализ главных компонент

Провести анализ главных компонент в данном случае означает следующее:

  1. Посмотреть график собственных чисел, прокомментировать его.
  2. Проинтерпретировать главные компоненты (их связь с исходными признаками), используя значения собственные вектора, а также двумерные диаграммы факторных весов (в круге).
  3. Посмотреть на двумерные графики нормированных значений главных компонент (значений факторов), увидеть, есть ли неоднородность в данных и есть ли выделяющиеся наблюдения.
  4. Проинтерпретировать, в чем состоит неоднородность (если она есть) и чем выделяются выделяющиеся наблюдения.
  5. Убрать выделяющиеся наблюдения, которые проинтерпретированы как выбросы, и неоднородность и затем провести АГК заново.

Классификация

  1. Разбейте данные на две части, где будете строить классификацию, и где будете ее проверять (train и test). Далее работа идет только на train.
  2. Посмотрите, как выглядят данные на графике pairs и в плоскости первых двух главных компонент, с раскраской по классам. При необходимости, преобразуйте данные (уберите outliers, прологарифмируйте признаки).
  3. Проведите классификацию с помощью линейного дискриминантного анализа. Подумайте, какие априорные вероятности вы хотите задать.
  4. Посмотрите на значимость дискриминации. Посмотрите, как выглядят данные в плоскости первых двух канонических переменных.
  5. Посмотрите на качество классификации - таблицу ошибок классификации, по данным, по кросс-валидации, по test данным.
  6. Постройте ROC-кривые, проинтерпретируйте (во множественном числе, так как можно строить на train, а можно - на test).
  7. Попробуйте применить какой-нибудь другой метод, например, QDA или еще какой-то другой. Постройте для него ROC-кривую, сравните с ROC-кривой для LDA.

Кластерный анализ

  1. Посмотрите, как выглядят данные на графике pairs и в плоскости первых двух главных компонент. При необходимости, преобразуйте данные (уберите outliers, прологарифмируйте признаки).
  2. Примените метод k-means для разного числа классов. Посмотрите на результат на графике pairs с раскраской.
  3. Применить метод иерархической кластеризации с разными правилами объединения кластеров. Посмотрите на получившиеся деревья.
  4. Примените метод разделения смеси нормальных распределений с разными ограничениями на модель (одинаковые ковариационные матрицы, разные, разные диагональные, …). Посмотрите на результат на графике pairs с раскраской и в плоскости первых двух главных компонент.
study/fall2019/5stat_practice.txt · Последние изменения: 2019/12/04 22:34 — nina
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0