Это старая версия документа!
Содержание
522 гр., по выбору. Анализ многомерных данных на компьютере
Место и время проведения: четверг, 4 пара (4399)
Преподаватель: Голяндина Нина Эдуардовна
Про задания
Первичный анализ данных
- Выбрать данные. Можно взять стандартные из R, а можно найти в интернете какие-нибудь интересные для вас и их загрузить. При этом нужно, чтобы данные соответствовали повторной независимой выборке (данные, меняющиеся во времени, не годятся, так как такая выборка зависимая (будущее зависит от настоящего и прошлого) и, скорее всего, не из одного и того же распределения, т.е. идут изменения во времени).
- Каким-либо образом прочитать данные data; посмотреть на них head(data).
- Разобраться в том, что означают признаки.
- Определить вид признаков (колич., порядковые, качеств.). Для количеств. признаков определить, непрерывные они или дискретные (в том числе, дискретными могут стать непрерывные признаки, которые измерены с плохой точностью). Как вариант, это можно увидеть, посмотрев на частоту моды.
- Если признак порядковый и для него использованы текстовые метки, то проверить, что кодировка текстовых меток соответствует их естественному порядку.
- Построить matrix plot (pairs, таблица с попарными скаттерплотами), его долго разглядывать с точки зрения outliers, неоднородностей, вида распределений, вида зависимостей (линейные/нелинейные) и пр.
- Если есть сильно несимметричные (с хвостом вправо) распределения на положительной полуоси, то прологарифмировать их и снова построить matrix plot - зависимости должны стать более линейными, а распределения более симметричными.
- Если есть ourliers, то попробовать объяснить причину (ошибка в данных, особые индивиды) и удалить их, поставив NA на их место; исходные данные не надо портить, скопируйте в новые, а потом уже что-то меняйте.
- Если есть неоднородности (например, видны два облака точек), то объяснить причину (найти категоризующую переменную, объясняющую эту неоднородность).
- В дальнейшем вид matrix plots, распределения признаков и корреляции анализировать отдельно для неоднородных групп, используя factor.
- Можно также посмотреть на descriptive statistics с точки зрения минимумов-максимумов, асимметрии, эксцесса и пр.
О виде распределений и о сравнении распределений
- Выберите в данных категоризующую переменную. По ней выборка разбивается на подвыборки (например, случай, когда вы увидели неоднородность при первичном анализе, но необязательно).
- Сначала имеет смысл посмотреть на сравнение сравнение распределений в группах с помощью ящиков с усами (box plot). С помощью ящиков с усами там, где групп больше двух, можно выбрать две из них, которые интересно сравнить с помощью критериев.
- Проверьте, близко ли распределение выбранных признаков к нормальному. Можно использовать различные критерии для проверки этой гипотезы, можно рисовать normal ptobability plot.
- Сравните группы между собой. Можно сравнить по разным критериям, например, критерий t-test, который умеет обнаруживать разницу в среднем. Непараметрический аналог, с помощью которого можно обнаруживать сдвиг - критерий Манна-Уитни/Вилкоксона.
- Но распределения могут отличаться не только сдвигом. Рассмотрите критерий Колмогорова-Смирнова, который может обнаружить, если распределения отличаются формой.
- Если есть признаки, которые характеризуют одно и то же (например, время, которое человек тратит на сон, и время на работу), то аналогично производится сравнение по t-критерию и по непараметрическим критериям, они называются парными.
Об анализе зависимостей
- Вспомните, какие бывают виды зависимостей и чем они измеряются, по каким формулам. Посмотрите на основе matrix plot, какие зависимости у вас в данных. Не забудьте, что при неоднородных данных изучать зависимости имеет смысл только внутри групп по-отдельности.
- Начинать нужно с анализа линейных зависимостей. На основе коэффициента корреляции Пирсона нужно проинтерпретировать значимые зависимости. При наличие в данных пропусков обратите внимание на выбор между casewise and pairwise MD deletion (в чем разница, какие недостатки и достоинства у этих вариантов?).
- Затем можно переходить к ранговым коэффициентам корреляции. Расскажите, при каких условиях коэффициенты корреляции Пирсона и Спирмена примерно равны. Приведите примеры, когда один из них больше другого и наоборот. Сравните результаты на ваших данных. Если при сравнении буду найдены заметные различия в результатах, то попробуйте объяснить причину.
- Проинтерпретируйте найденные корреляции - можно ли сказать, что является причиной, что следствием. Если есть какая-то другая причина, которая влияет одновременно на оба признака (скрытый фактор), то попробуйте убрать его влияние с помощью частных корреляций.
Линейная регрессия
- Нужно выбрать, какую переменную вы хотите предсказывать. Вы выбираете признаки, по которым вы будете предсказывать. Делаете линейную регрессию (функция lm).
- Изучаете результат. В частности, значима ли регрессия (т.е. имеет ли смысл ей пользоваться для предсказания). Смотрите на коэффициенты регрессии, их значимость, их интерпретацию.
- Далее есть три проблемы, из-за которых результаты регрессии могут быть неправильными – линейная модель регрессии не соответствует данным, в данных могут быть сильно зависимые «независимые» переменные и также могут быть outliers. Если данные были предварительно хорошо подготовлены, то проблемы с outliers там менее вероятны. Поэтому сначала можно заняться проблемой зависимости. В общем случае, нет строгой рекомендации, в каком порядке нужно решать перечисленные проблемы.
- Надо учесть проблему, которая возникают, если предикторы сильно зависимы. На примере с двумя «независимыми» признаками пишете формулы и показываете, как корреляция между признаками влияет на качество оценок регрессии.
- Пытаетесь уменьшить количество предикторов. Для этого есть информационные критерии AIC, BIC.
- Строите обычную регрессию по выбранному числу признаков. Изучаете остатки (residuals), распределение, Сначала смотрите на нормальность остатков (зачем нужно на это смотреть?), затем можно посмотреть на зависимость Residuals vs Predicted.
- Далее переходите к поиску outliers. Напоминаю, что выброс по отношению к регрессии - это наблюдение, которое влияет на результат (leverage и Cook distance изменяют то, насколько наблюдение влияет).
- Итог: результат линейной регрессии, для которой проверена адекватность модели, значимость, отсутствие outliers, проинтерпретированы коэффициенты регрессии.
- Спрогнозируйте что-нибудь по построенной регрессионной модели. Постройте доверительный и предсказательный интервалы для предсказания.
Анализ главных компонент
Провести анализ главных компонент в данном случае означает следующее:
- Посмотреть график собственных чисел, прокомментировать его.
- Проинтерпретировать главные компоненты (их связь с исходными признаками), используя значения собственные вектора, а также двумерные диаграммы факторных весов (в круге).
- Посмотреть на двумерные графики нормированных значений главных компонент (значений факторов), увидеть, есть ли неоднородность в данных и есть ли выделяющиеся наблюдения.
- Проинтерпретировать, в чем состоит неоднородность (если она есть) и чем выделяются выделяющиеся наблюдения.
- Убрать выделяющиеся наблюдения, которые проинтерпретированы как выбросы, и неоднородность и затем провести АГК заново.
Классификация
- Разбейте данные на две части, где будете строить классификацию, и где будете ее проверять (train и test). Далее работа идет только на train.
- Посмотрите, как выглядят данные на графике pairs и в плоскости первых двух главных компонент, с раскраской по классам. При необходимости, преобразуйте данные (уберите outliers, прологарифмируйте признаки).
- Проведите классификацию с помощью линейного дискриминантного анализа. Подумайте, какие априорные вероятности вы хотите задать.
- Посмотрите на значимость дискриминации. Посмотрите, как выглядят данные в плоскости первых двух канонических переменных.
- Посмотрите на качество классификации - таблицу ошибок классификации, по данным, по кросс-валидации, по test данным.
- Постройте ROC-кривые, проинтерпретируйте (во множественном числе, так как можно строить на train, а можно - на test).
- Попробуйте применить какой-нибудь другой метод, например, QDA или еще какой-то другой. Постройте для него ROC-кривую, сравните с ROC-кривой для LDA.
Кластерный анализ
- Посмотрите, как выглядят данные на графике pairs и в плоскости первых двух главных компонент. При необходимости, преобразуйте данные (уберите outliers, прологарифмируйте признаки).
- Примените метод k-means для разного числа классов. Посмотрите на результат на графике pairs с раскраской.
- Применить метод иерархической кластеризации с разными правилами объединения кластеров. Посмотрите на получившиеся деревья.
- Примените метод разделения смеси нормальных распределений с разными ограничениями на модель (одинаковые ковариационные матрицы, разные, разные диагональные, …). Посмотрите на результат на графике pairs с раскраской и в плоскости первых двух главных компонент.