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
courses:data_analysis_and_interpretation:task4 [2019/07/11 13:50]
andrey.suchkov [Цель работы]
courses:data_analysis_and_interpretation:task4 [2022/12/10 09:08] (current)
Line 1: Line 1:
-====== Практическая работа №4: Изучение ​дискриминантного анализа ======+====== Практическая работа №4: Исследование методов кластер-анализа ======
 ===== Цель работы ===== ===== Цель работы =====
-Ознакомиться с методами ​дискриминантного ​анализа на основе языка R.+Ознакомиться с методами кластер-анализа на основе языка R.
 ===== Основные теоретические положения ===== ===== Основные теоретические положения =====
-Дискриминантный анализ ​используется для ​принятия решения о том, какие переменные различают искриминируютдве или более возникающие совокупности (группы). Например, некий исследователь в области образования может захотеть исследовать, какие переменные ​относят ​выпускника средней школы к одной из трех категорий: (1) поступающий в колледж, (2) поступающий в профессиональную школу или ​(3) отказывающийся от дальнейшего образования или профессиональной ​подготовки. Для этой ​цели исследователь может собрать данные о различных переменныхсвязанных с учащимися школы. После выпуска большинство учащихся естественно должно попасть в одну из названных ​категорий. Затем можно использовать Дискриминантный ​анализ для ​определения тогокакие переменные ​дают ​наилучшее предсказание выбора учащимися дальнейшего пути.+Термин ​кластерный анализ ​первые ​понятие ​введено математиком Р. Трионом, 1939) в действительности включает в себя набор различных алгоритмов ​классификации. Общий вопрос, задаваемый исследователями ​во многих ​областях, состоит в том, как организовать ​наблюдаемые данные в наглядные структурыт.е. развернуть ​таксономии. Например, биологи ставят цель разбить животных на различные виды, чтобы ​содержательно описать ​различия между ними. В соответствии с современной ​системой, принятой ​в биологии, человек принадлежит к приматам, млекопитающим, амниотампозвоночным и животнымЗаметьте,​ что в этой классификации,​ чем выше уровень агрегации, тем меньше сходства между членами в соответствующем классе. Человек имеет больше сходства с другими ​приматами (т.е. с обезьянами)чем с <<​отдаленными>>​ членами семейства млекопитающих (например, собаками) и т.д.
  
-Медик может регистрировать различные переменные,​ относящиеся к состоянию больного, чтобы ​выяснить, какие переменные лучше предсказывают, что пациентвероятновыздоровел ​полностью (группа 1), частично ​(группа 2) или совсем не выздоровел (группа 3). Биолог может ​записать различные характеристики сходных ​типов (групп) цветов, чтобы затем провести анализ ​дискриминантной ​функции, наилучшим образом разделяющей типы или группы.+Фактически, кластерный ​анализ является ​не столько обычным статистическим ​методом, сколько <<​набором>>​ различных алгоритмов <<распределения объектов по кластерам>>​. Существует точка зрения, что в отличие от многих других статистических процедур, методы кластерного ​анализа используются в большинстве случаев тогдакогда вы не имеете каких-либо априорных ​гипотез относительно классов,​ но все еще ​находитесь в описательной ​стадии исследования. Следует понимать, что кластерный ​анализ определяет ​<<​наиболее возможно значимое ​решение>>​.
  
-//Функции ​классификации.// ​Функции классификации ​предназначены для определения того, к какой группе ​наиболее вероятно может ​быть ​отнесен ​каждый объект. Имеется столько же функций классификации, сколько группКаждая функция позволяет ​вам ​для ​каждого ​образца и для каждой совокупности вычислить веса классификации по формуле: +//Деревья ​кластеризации.// ​Назначение алгоритма построения деревьев ​кластеризации заключается в постепенном объединении объектов в достаточно большие кластеры, используя меры расстояния и сходства ​между объектами. 
-$+На первом шаге каждый объект ​является ​кластером. При переходе к следующему шагу группы объектов объединяются в кластеры на основе меры расстояния и выбранного методаНа каждом следующем шаге процедура ​повторяется для ​наиболее «близких» друг ​к другу кластеров
-S_i c_i + \sum_{j ​1}^mw_{ij}x_j+Использующиеся меры расстояния между объектами
-$$ +  * Евклидово расстояние: $d(x,​\,​y) ​\|\mathbf x + \mathbf y\| \sqrt{\sum_i(x_i - y_i)^2}$
-В этой формуле индекс $i$ обозначает ​соответствующую ​совокупность, а индекс $j$ обозначает ​переменную$c_i$ являются константами для ​$i$-ой совокупности$w_{ij}$ – веса для ​$j$-ой переменной при вычислении показателя классификации ​для $i$-ой совокупности; $x_j$ - наблюдаемое ​значение для ​соответствующего образца $j$-ой переменной. Величина $S_i$ является результатом показателя классификации. Переменные с наибольшими регрессионными коэффициентами вносят наибольший ​вклад в дискриминацию.+  * Манхэттенское расстояние (расстояние городских кварталов): ​$d(x,\,y) = \sum_i|x_i - y_i|$
 +  * Расстояние Чебышева: $d(x,\,y) = \max|x_i - y_i|$. 
 +Использующиеся способы объединения кластеров:​ 
 +  * Одиночная связь (метод ближайшего соседа). В этом методе расстояние между двумя кластерами определяется расстоянием между двумя наиболее близкими объектами (ближайшими соседями) в различных кластерах; 
 +  * Полная связь (метод наиболее удаленных ​соседей). В этом методе расстояния между кластерами ​определяются наибольшим расстоянием между любыми двумя ​объектами в различных кластерахто есть <<наиболее удаленными соседями>>​. 
 +  * Невзвешенное попарное среднее. В этом ​методе расстояние между двумя различными кластерами вычисляется как среднее расстояние между всеми парами ​объектов в них. 
 +  * Метод Варда. Метод минимизирует сумму квадратов для любых двух (гипотетических) ​кластеров, которые могут быть ​сформированы на каждом шаге. 
 +//​Метод k-means (k-средних).//​ Предположим, ​уже имеются гипотезы относительно числа кластеров (по наблюдениям или по переменным). Можно указать системе ​образовать ровно три кластера так, чтобы они были настолько ​различны, насколько это возможно. Это именно тот тип задач, которые решает алгоритм ​метода //k//-means. В общем случае метод //​k//​-means ​строит ровно //k// различных ​кластеров, расположенных на возможно ​больших расстояниях друг ​от друга
 +===== Постановка задачи ===== 
 +===== Порядок выполнения работы ===== 
 +===== Содержание отчёта =====
  
-Расстояние Махаланобиса является мерой расстояния между двумя точками в пространстве,​ определяемым двумя или более коррелированными переменными. Например,​ если имеются всего две некоррелированных переменные,​ то можно нанести точки (образцы) на стандартную диаграмму рассеяния. Расстояние Махаланобиса между точками будет в этом случае равно расстоянию Евклида,​ т.е. расстоянию,​ измеренному,​ например,​ рулеткой. Если имеются три некоррелированные переменные,​ то для определения расстояния вы можно по-прежнему использовать рулетку (на 3М диаграмме). При наличии более трех переменных вы не можете более представить расстояние на диаграмме. Также и в случае,​ когда переменные коррелированы,​ то оси на графике могут рассматриваться как неортогональные (они уже не направлены под прямыми углами друг к другу). В этом случае простое определение расстояния Евклида не подходит,​ в то время как расстояние Махаланобиса является адекватно определенным в случае наличия корреляций. Для расчёта ошибок классификации удобнее всего представить расстояние Махалонобиса,​ как симметричную матрицу с нулевой главной диагональю:​ 
-$$ R =  
-\begin{pmatrix} 
-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},​ 
-$$ 
-$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.1562853021.txt.gz · Last modified: 2022/12/10 09:08 (external edit)