courses:data_analysis_and_interpretation:task4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
courses:data_analysis_and_interpretation:task4 [2019/02/13 18:46]
andrey.suchkov [Порядок выполнения работы]
courses:data_analysis_and_interpretation:task4 [2020/08/27 09:51]
127.0.0.1 external edit
Line 1: Line 1:
-====== Практическая работа №4: Изучение ​дискриминантного анализа ======+====== Практическая работа №4: Исследование методов кластер-анализа ======
 ===== Цель работы ===== ===== Цель работы =====
-ознакомиться с методами ​дискриминантного ​анализа на основе ​пакета Statistica.+Ознакомиться с методами кластер-анализа на основе ​языка R.
 ===== Основные теоретические положения ===== ===== Основные теоретические положения =====
-Дискриминантный анализ ​используется для ​принятия решения о том, какие переменные различают искриминируют) две ​или более возникающие совокупности (группы). Напримернекий исследователь ​в области ​образования может захотеть исследовать,​ какие переменные относят выпускника средней школы к одной из трех категорий: (1) поступающий ​в колледж, (2) поступающий в профессиональную школу ​или (3) отказывающийся от дальнейшего образования или ​профессиональной подготовки. Для этой цели ​исследователь может собрать данные ​о различных переменных, ​связанных с учащимися школы. После выпуска большинство учащихся естественно должно попасть в одну из названных ​категорий. Затем можно использовать ​Дискриминантный анализ для определения того, какие переменные дают наилучшее предсказание выбора учащимися дальнейшего пути.\\ +Термин ​кластерный анализ ​первые ​понятие ​введено математиком Р. Трионом, ​1939) в действительности включает ​в себя набор различных алгоритмов классификации. Общий ​вопрос, задаваемый исследователями во многих областяхсостоит в том, как организовать наблюдаемые данные в наглядные структуры, т.еразвернуть таксономии. Например, ​биологи ставят ​цель разбить животных на различные виды, чтобы содержательно описать различия между ​ними. В соответствии с современной ​системой, принятой в биологии, человек принадлежит к приматам, млекопитающим, амниотам, позвоночным и животнымЗаметьте, что в этой классификации, ​чем выше уровень агрегациитем меньше сходства между членами в соответствующем классе. Человек имеет больше ​сходства с другими приматами (т.ес обезьянами), ​чем с "отдаленными" ​членами семейства млекопитающих (напримерсобакамии т.д. 
-Медик может регистрировать ​различные переменные, относящиеся ​к состоянию больного, чтобы ​выяснить, какие переменные лучше предсказывают, что пациент, ​вероятно, выздоровел полностью (группа 1), частично (группа 2) или совсем ​не выздоровел (группа 3). Биолог может записать различные характеристики сходных ​типов (групп) цветов, чтобы затем провести анализ дискриминантной ​функции,​ наилучшим образом разделяющей типы ​или группы.\\ + 
-//​Функции классификации.// Функции классификации ​предназначены для ​определения тогок какой группе ​наиболее ​вероятно может быть ​отнесен каждый объектИмеется столько же функций классификации, ​сколько групп. Каждая функция позволяет вам для каждого образца и для каждой совокупности вычислить ​веса классификации по формуле+Фактическикластерный анализ является ​не столько обычным статистическим методом, сколько "​набором" ​различных алгоритмов аспределения объектов по кластерам". Существует точка ​зрения, что в отличие от многих других статистических процедурметоды кластерного анализа ​используются в большинстве случаев тогда, когда ​вы не имеете каких-либо априорных гипотез относительно классов, но все еще находитесь в описательной стадии исследования. Следует пониматьчто кластерный анализ определяет аиболее возможно значимое решение". 
-$$ + 
-S_i = c_i + \sum_{j = 1}^mw_{ij}x_j. +//Деревья кластеризации.// Назначение алгоритма ​построения деревьев кластеризации заключается в постепенном объединении объектов в достаточно ​большие кластеры, используя ​меры расстояния и сходства между объектами. 
-$$ +На первом шаге каждый объект является ​кластером. При переходе к следующему шагу группы ​объектов объединяются в кластеры на основе меры расстояния и выбранного метода. На каждом следующем шаге процедура ​повторяется для наиболее «близких» друг ​к другу кластеров. 
-В этой формуле ​индекс $i$ обозначает ​соответствующую совокупность, ​а индекс $j$ обозначает переменную; $c_i$ являются константами для $i$-ой ​совокупности, $w_{ij}$ – веса для $j$-ой переменной ​при ​вычислении показателя классификации для $i$-ой совокупности;​ $x_j$ - наблюдаемое значение для ​соответствующего образца $j$-ой переменной. Величина $S_i$ является результатом показателя классификации. Переменные с наибольшими регрессионными коэффициентами вносят наибольший вклад в дискриминацию.\\ +Использующиеся ​меры расстояния между объектами
-Расстояние Махаланобиса является ​мерой расстояния между двумя точками в пространстве, определяемым двумя или более коррелированными переменными. Например,​ если имеются всего две некоррелированных ​переменные, то можно нанести ​точки (образцы) на стандартную диаграмму рассеяния. Расстояние Махаланобиса между ​точками будет в этом случае равно расстоянию Евклида, т.е. расстоянию, измеренному, например, ​рулеткой. Если имеются три некоррелированные переменные, ​то для определения расстояния вы можно по-прежнему ​использовать рулетку (на 3М диаграмме). При наличии ​более трех переменных вы не можете более представить расстояние на диаграмме. Также и в случае,​ когда ​переменные коррелированы, то оси на графике могут рассматриваться как неортогональные (они уже не направлены под прямыми углами друг к другу). В этом случае простое определение расстояния ​Евклида не подходит, в то время ​как расстояние Махаланобиса является адекватно определенным в случае наличия корреляций. Для расчёта ошибок классификации удобнее всего представить расстояние Махалонобиса, как симметричную матрицу с нулевой главной диагональю:​ +  * Евклидово расстояние: $d(x,​\,​y) ​\|\mathbf x + \mathbf y\| \sqrt{\sum_i(x_i - y_i)^2}$. 
-$$ R =  +  * Манхэттенское расстояние (расстояние ​городских кварталов): $d(x,\,y) = \sum_i|x_i - y_i|$
-\begin{pmatrix} +  * Расстояние Чебышева: $d(x,\,y) = \max|x_i - y_i|$. 
-0 & r_{12}^2 & \ldots & r_{1M}^2\\ +Использующиеся способы объединения кластеров: 
-r_{21}^2 & 0 & \ldots & r_{2M}^2\\ +  * Одиночная связь (метод ближайшего ​соседа)В этом методе расстояние между двумя кластерами ​определяется расстоянием между двумя наиболее близкими ​объектами (ближайшими соседями) в различных кластерах; 
-\vdots & \vdots & \ddots &​\vdots\\ +  * Полная связь (метод наиболее удаленных соседей). В этом методе расстояния между кластерами определяются наибольшим ​расстоянием ​между любыми двумя объектами в различных кластерах, то есть "наиболее удаленными соседями". 
-r_{M1}^2 & r_{M2}^2 & \ldots & 0 +  Невзвешенное попарное среднее. В этом методе расстояние между двумя ​различными ​кластерами вычисляется как среднее расстояние между всеми ​парами объектов в них. 
-\end{pmatrix},​ +  * Метод Варда. Метод минимизирует сумму квадратов для любых двух (гипотетических) кластеров, которые могут быть сформированы на каждом шаге. 
-$$ +//Метод ​k-means (k-средних).// Предположим, уже имеются гипотезы относительно ​числа кластеров ​(по наблюдениям или по переменным). Можно указать системе образовать ровно три кластера так, чтобы они были настолько различнынасколько это возможно. Это именно тот тип задач, которые ​решает алгоритм метода //k//-meansВ общем случае метод //k//-means строит ​ровно //k// различных ​кластероврасположенных ​на возможно больших ​расстояниях друг ​от друга. 
-$r_{ij} = r_{ji}$, $r_{ij} = 0$ при $i = j$. Элементы матрицы можно ​найти как: +===== Постановка задачи ​===== 
-$$ +===== Порядок выполнения работы ​===== 
-r_{ij}^2 = (\mu_i - \mu_j)^T\Sigma^{-1}(\mu_i - \mu_j), +===== Содержание отчёта ​===== 
-$$ + 
-где $\mu_i$ и $\mu_j$ – вектора математических ожиданий для первого и второго ​класса соответственно,​ $\Sigma$ – ковариационная матрица. Вероятность ошибки ​можно определить следующим образом:​ +
-$$ +
-P(i \mid j) = \Phi\left(-\frac{r_{ij}}2\right) = 1 - \Phi\left(\frac{r_{ij}}2\right),​ +
-$$ +
-где $\Phi(\cdot)$ – функция ​ошибок.\\ +
-//Пошаговый анализ с включением.// В пошаговом анализе дискриминантных функций модель дискриминации ​строится по шагам. Точнее, на каждом шаге просматриваются все переменные ​и находится та из них, которая вносит наибольший ​вклад в различие ​между ​совокупностями. Эта переменная должна ​быть включена в модель на данном шаге, и происходит ​переход к следующему шагу.\\ +
-//Пошаговый анализ с исключением.//​ Можно также двигаться в обратном направлении, в этом случае все переменные будут сначала включены в модель,​ а затем на каждом шаге будут устраняться переменные, вносящие малый вклад в предсказания. Тогда в качестве результата успешного анализа можно сохранить только "важные"​ переменные в модели, то есть те переменные,​ чей вклад в дискриминацию больше остальных. Эта пошаговая ​процедура ​"​руководствуется" соответствующим значением $F$ для ​включения и соответствующим значением $F$ для исключения. Значение $F$ статистики для переменной ​указывает на ее статистическую значимость при дискриминации между ​совокупностями, то есть, она является мерой ​вклада переменной в предсказание членства в совокупности+
-===== Общая формулировка задачи ===== +
-  * Провести ​исследование ​по построению ​дискриминантных функции для имеющихся экспериментальных данных+
-  * Подготовить самостоятельно модельные примеры из многомерных нормальных векторов с заданными векторами математического ожидания ​и ковариационной матрицей. +
-  * Провести эксперименты по классификации на модельных примерах аналогично описанным вышеПровести теоретический ​расчет ошибок классификации для модельных примеров и сравнить их с результатамиполученными в Statistica. +
-==== Порядок выполнения работы ==== +
-=== 1. Построение дискриминантных функций === +
-  - В системе Statistica в панели Statistics ​(Анализ) → Multivariate Exploratory Techniques (Многомерный анализ) выбрать пункт Discriminant (Дискриминантный анализ). +
-  - Выбрать переменные Variables, указать номер группирующей переменной и независимых переменных+
-  - В появившемся окне появляется панель ​с единственной закладкой Quick (Быстрый). Выбрать Variables (Переменные), в первом окне в качестве группирующей переменной ​указать ​класс (как правилопоследняя переменная), во втором окне выбрать все ​остальные переменные. +
-  - Запустить дискриминантный анализ нажатием ​на клавишу ОК. В окне Discriminant Function Analysis (Результаты анализа дискриминантных функций) во вкладке Quick (Быстрый) нажать «Summary: Variables in Model» (Переменные ​в модели). Получены результаты дискриминантного анализа+
-  - Просмотреть результаты дискриминантного ​анализа в окне Discriminant Function Analysis (Результаты анализа дискриминантных функций) во вкладке Classification (Классификация):​ +
-     ​Unordered List ItemVariables in model (Переменные в модели);​ +
-     * Classification matrix (Матрица классификации);​ +
-     * Classification cases (Классификация ​наблюдений); +
-     * Classification functions (Функции классификации). +
-  - Сохранить результаты для ​отчета. +
-=== 2. Метод ​дискриминантного анализа с включением ​переменных === +
-  - Запустить ​дискриминантный анализ аналогично пункту 1, выбрать переменные для анализа. Указать опцию «Advanced option» (Дополнительные параметры). +
-  - В окне «Model Definition» (Определение модели) на вкладке «Quick» (Быстрый) выбрать метод «Forward stepwise» (Пошаговый с включением). На вкладке «Advanced» (Дополнительно) установить F – включения равным 4.0, а также Display results – At each step (Вывод результатов ​– На каждом шаге). +
-  - Нажать Next, тем самым перейдя к первому шагу.  +
-  - Выполнить все шаги, вывести таблицы из пункта 1 в отчет. +
-  - Сравнить результаты, полученные на последнем шаге ​с результатами из пункта 1+
-=== 3. Метод ​дискриминантного анализа с исключением переменных === +
-  - Выполнить действияописанные в пункте 2, со следующими изменениями:  +
-    * Выбрать метод «Backward stepwise» (Пошаговый ​с исключением). +
-    * На вкладке «Advanced» ​(Дополнительно) установить F-исключения ​равным 3.9. +
-  - Выполнить все шаги, вывести таблицы из пункта 1 в отчет. +
-  - Сравнить ​результаты,​ полученные на последнем шаге, с результатами из пп. 1 и 2. +
-=== 4. Разработка статистической ​модели данных === +
-  - Подготовить самостоятельно модельные примеры из многомерных ​нормальных векторов с заданными векторами математического ожидания и ковариационной матрицей. +
-  - Провести эксперименты по классификации на модельных примерах аналогично описанным выше. Провести теоретический расчет ошибок классификации для модельных примеров и сравнить их с результатами, полученными по программе Statistica. +
-== Задание ​на разработку статистических данных == +
-Модель представляет собой набор многомерных векторов $\vec x = (x_1,​\,​\dots,​\ x_m)$ , $m = 2,​\,​3$, ​имеющих заданные вектора математических ожиданий $\mu_i$, $i = 1..M$ и заданные ​ковариационные матрицы (одинаковые по классам),​ которые имеют вид $\Sigma = \mathop{\mathrm{diag}}\nolimits\{\sigma_1,​\,​\dots,​\,​\sigma_m\}$Компоненты векторов имеют нормальное распределение. Количество ​классов равно $M = 2,\,3$. +
-^  № варианта  ^  Размерность $m$  ^  Объём выборки $N$ по классу  ^  Вектора $\mu_i$ ​ ^  Значения ​$\sigma_i$ ​ ^  Количество классов $M$  ^ +
-|  1  |  2  |  100  |  $\mu_1 = (1,\,2)^T \\ \mu_2 = (1,​\,​-2)^T$ ​ |  $\sigma_1 = 1 \\ \sigma_2 = 1$  |  2  | +
-|  2  |  2  |  300  |  $\mu_1 = (1.5,\,3)^T \\ \mu_2 = (3,\,4)^T \\ \mu_3 = (-1.5,​\,​-1)^T$ ​ |  $\sigma_1 = 1 \\ \sigma_2 = 1$  |  3  | +
-|  3  |  3  |  150  |  $\mu_1 ​(1,​\,​1,​\,​1)^T \\ \mu_2 (2,​\,​2,​\,​2)^T$ ​ |  $\sigma_1 ​0.5 \\ \sigma_2 ​1 \\ \sigma_3 ​0.5$  |  2  | +
-|  4  |  3  |  150  |  $\mu_1 ​(1,​\,​1,​\,​1)^T \\ \mu_2 (2.5,​\,​2.5,​\,​2.5)^T \\ \mu_3 (4,​\,​4,​\,​4)^T$ ​ |  $\sigma_1 ​0.5 \\ \sigma_2 ​1 \\ \sigma_3 = 2$  |  3  | +
-|  5  |  2  |  200  |  $\mu_1 ​(-0.5,​\,​2)^T \\ \mu_2 (-1,​\,​4)^T$ ​ |  $\sigma_1 ​1.5 \\ \sigma_2 ​1$  |  2  | +
-|  6  |  2  |  250  |  $\mu_1 ​(1,\,1)^T \\ \mu_2 (4,\,2.5)^T \\ \mu_3 (-1,​\,​3)^T$ ​ |  $\sigma_1 ​1.3 \\ \sigma_2 ​0.8$  |  3  | +
-|  7  |  3  |  100  |  $\mu_1 ​(0,​\,​0,​\,​0)^T \\ \mu_2 = (3,​\,​3,​\,​3)^T$ ​ |  $\sigma_1 = 1.5 \\ \sigma_2 = 1 \\ \sigma_3 = 2$  |  2  | +
-|  8  |  3  |  150  |  $\mu_1 ​(4,​\,​4.5,​\,​3.7)^T \\ \mu_2 (5.2,​\,​4.9,​\,​4.1)^T \\ \mu_3 (2.2,​\,​3.9,​\,​3.8)^T$ ​ |  $\sigma_1 ​0.3 \\ \sigma_2 ​0.5 \\ \sigma_3 ​0.6$  |  3  | +
-|  9  |  2  |  250  |  $\mu_1 ​(1.5,\,1)^T \\ \mu_2 (3,​\,​2.7)^T$ ​ |  $\sigma_1 ​1 \\ \sigma_2 ​1.2$  |  2  | +
-|  10  |  2  |  180  |  $\mu_1 = (-0.9,​\,​2.7)^T \\ \mu_2 = (0,\,-5)^T \\ \mu_3 = (-1,​\,​-1)^T$ ​ |  $\sigma_1 = 0.25 \\ \sigma_2 = 2$  |  3  | +
-|  11  |  3  |  200  |  $\mu_1 = (-1,​\,​2,​\,​-3)^T \\ \mu_2 = (2,​\,​-1,​\,​0)^T$ ​ |  $\sigma_1 = 0.75 \\ \sigma_2 = 0.3 \\ \sigma_3 = 1.6$  |  2  | +
-|  12  |  3  |  200  |  $\mu_1 = (-1,​\,​-1,​\,​-1)^T \\ \mu_2 = (0,​\,​0,​\,​0)^T \\ \mu_3 = (2,​\,​2,​\,​2)^T$ ​ |  $\sigma_1 = 1 \\ \sigma_2 = 0.5 \\ \sigma_3 = 1$  |  3  |+
  
courses/data_analysis_and_interpretation/task4.txt · Last modified: 2022/12/10 09:08 (external edit)