Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LS-Sb89574

.pdf
Скачиваний:
7
Добавлен:
13.02.2021
Размер:
417 Кб
Скачать
ColumnNumber
Рис. 2.5

Риски отстоят от коробочек на наиболее экстремальное значение в пре-

пределах whis*iqr, где whis – значение параметра 'whisker', а iqr – межквартильный размах данной выборки.

Пример 2.3

Данный пример показывает boxplots с зазубринами для двух групп выборочных данных (рис. 2.5).

88

77

66

Values55

44

33

1

22

R = normrnd(MU,SIGMA,m,n) вы-

дает значения (здесь – 100 шт.) нор-

мального распределения со средним MU, дисперсией SIGMA. R имеет размерность m × n, где m – число строк, а n – число столбцов.

x1 = normrnd(5,1,100,1);

x2 = normrnd(6,1,100,1); boxplot([x1,x2],'notch','on')

Разница между медианами этих двух групп составляет примерно 1. Так как зазубрины на этих коробочках не перекрываются, можно заключить, что со значимостью 95 % истинные медианы различаются.

Пример 2.4

Используя массив a из примера 1.1, построим boxplot для 1-го призна-

ка по 3 классам: A, B, C (рис. 2.6).

Values

88

7

6

5

4

3

2

1

0

-11

+

A B C

Рис. 2.6

gg=['A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'C';'C'; 'C'; 'C'; 'C'; 'C'; 'C'; 'C'; 'C'; 'C']

11

7

6.5

6

5.5

Values

5

 

4.5

4

3.5

3

%gg – символьная матрица g=cellstr(gg)

%cellstr – функция преобразующая символьную матрицу в

%матрицу строк

%g – матрица элементов (строк); ее размерность равна 30х1;

 

 

 

 

 

 

 

% первые 10 строк матрицы g равны

 

 

 

 

 

 

 

‘A’, вторые – ‘B’, третьи –

 

 

 

 

 

 

 

% ‘C’

 

 

 

 

 

 

 

boxplot(a(:,1),g)

 

 

 

 

 

 

 

Пример 2.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В этом примере сравнивается дли-

 

 

 

 

 

 

 

на лепестков в выборках двух видов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ирисов (рис. 2.7):

 

 

 

 

 

 

 

load fisheriris

+

 

 

 

 

 

 

 

 

 

 

 

s1 = meas(51:100,3);

versicolor

virginica

 

 

 

Рис. 2.7

 

 

 

s2 = meas(101:150,3);

 

 

 

 

 

 

boxplot([s1 s2],'notch','on',

 

 

 

 

 

 

 

'labels',{'versicolor','virginica'})

Данный график имеет следующие свойства:

Верх и низ каждой «коробочки» – это 25-й и 75-й процентили данной выборки соответственно. Расстояния между верхушками и нижними гранями – это межквартильные диапазоны.

Линия в середине каждой коробочки – это медиана выборки. Если медиана не находится в центре коробочки, она указывает на асимметрию выборки.

Риски это линии, находящиеся над и под каждой коробочкой. Риски наносятся от концов межквартильных диапазонов до наиболее дальних наблюдений в пределах рисочной длины (регулируемые значения).

Наблюдения за пределами рисочной длины маркируются как выбросы. По умолчанию, выброс это значение, которое больше 1.5 межквартильного диапазона от верхушки или низа коробочки, но эта величина может регулироваться с помощью дополнительных входных аргументов. Выбросы отображаются с помощью красного значка «+».

Зазубрины показывают вариабильность медианы между выборками. Ширина зазубрины вычисляется, поэтому те коробочки, чьи зазубрины не перекрываются (как изображено выше) имеют различные медианы при уровне значимости 5 %. Уровень значимости основан на допущении нормальности распределений, но сравнение медиан достаточно робастно и для других распределений. Сравнение boxplot-медиан похоже на визуальную проверку гипотез, аналогичную t-тесту, используемому для средних.

12

Задание

1.Освоить методы графического вывода групп одномерных данных с помощью функций hist и boxplot.

2.Освоить методы сравнение групп одномерных данных.

3.Оценить различия групп одномерных данных с помощью функций

hist и boxplot.

Порядок выполнения работы

1.Запустите систему MATLAB.

2.Постройте диаграммы hist и plot по 3-му признаку (длина лепест-

ка) для двух классов ирисов Фишера: setosa и versicolor.

3. Постройте диаграмму boxplot по 2-му признаку (ширина чашели-

стика) для двух классов ирисов Фишера: setosa и versicolor.

4. Создайте 2 массива (для каждой бригады – своих) из 10 случайных чисел каждый по нормальному закону с параметрами из табл. 2.2.

Таблица 2.2

Массив

V1

V2

V3

V4

V5

V6

V7

V8

V9

V10

1

m = 2

m = 3

m = 4

m = 5

m = 6

m = 3

m = 5

m = 6

m = 7

m = 8

σ = 1

σ = 1

σ = 1

σ = 2

σ = 2

σ = 2

σ = 1

σ = 1

σ = 2

σ = 3

 

2

m = 6

m = 8

m = 7

m = 2

m = 2

m = 7

m = 2

m = 7

m = 3

m = 4

σ = 2

σ = 4

σ = 3

σ = 1

σ = 1

σ = 4

σ = 1

σ = 1

σ = 2

σ = 2

 

5. Для полученных массивов постройте диаграмму boxplot с зазубринами. Дайте анализ различия между этими массивами.

Содержание отчета

1.Название, цель и задачи работы.

2.Тексты программ и изображения графических окон, которые требо-

валось сохранять в ходе выполнения работы.

3. Объяснение полученных результатов и выводы.

3. СРАВНЕНИЕ ДВУМЕРНЫХ ДАННЫХ

Цели работы: получение навыков работы по отображению двумерных данных в системе MATLAB.

13

Основные положения

Диаграмма рассеяния scatter

Для визуального отображения одной группы двумерных данных на плоскости используется функция scatter(x,y). Она отображает кружочки (маркеры) в местах расположения, заданных векторами x и y (которые долж-

ны быть одного и того же размера). scatter(x,y) рисует маркеры, имеющие размер и цвет по умолчанию. С помощью дополнительных параметров можно задавать различные типы, размеры и цвета маркеров.

Диаграмма рассеяния по группам gscatter

Для целей визуального сравнения данных нескольких групп объектов по 2 признакам используется диаграмма рассеяния по группам (функция gscatter). Она определяется следующим образом.

gscatter(x,y,group) создает график рассеяния на плоскости двух пере-

менных x и y, отображаемых по группам. x и y являются векторами одинакового размера. group – это переменная группировки в виде строкового массива. Точки одной группы отображаются на графике одинаковыми маркерами и цветом.

gscatter(x,y,group,clr,sym,siz) также как и в функции plot назна-

чает цвет, тип и размер маркера для каждой группы. clr это строковый мас-

сив цветов (по умолчанию 'bgrcmyk') sym это строковый массив типа мар-

кера (по умолчанию '.'. siz – это вектор размеров маркеров.

 

4.5

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

setosa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

versicolor

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

B

 

4

 

 

 

virginica

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

чашелистикаШирина

 

 

 

 

 

-2признакй

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

2.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

4

5

6

7

8

 

2

3

4

5

6

7

8

9

 

 

1

 

 

 

Длина чашелистика

 

 

 

 

 

 

1-й признак

 

 

 

 

 

 

Рис. 3.1

 

 

 

 

 

 

 

Рис. 3.2

 

 

 

 

Пример 3.1 (рис. 3.1)

 

 

 

 

 

 

 

 

 

 

 

 

load fisheriris

gscatter(meas(:,1),meas(:,2),species,'','xos')

14

Пример 3.2 (рис. 3.2)

Используя массив a из примера 1.1, построим gscatter для 3 классов: A,

B, C по 1-му и 2-му признакам.

gscatter(a(:,1),a(:,2),g,'','xos')

Задание

1.Освоить методы графического вывода групп двухмерных данных с помощью функции gscatter.

2.Изучить методы сравнение групп двухмерных данных.

Порядок выполнения работы

1.Загрузите данные по ирисам Фишера.

2.Отобразите в пространстве двух признаков: 3-го (длина лепестка) и 4-го (ширина лепестка) все три класса ирисов.

3.Создайте 2 группы (класса) двумерных данных, состоящих из 10 отсчетов каждая. Данные – это векторы, каждый из которых состоит из 2 компонент. Компоненты векторов представляют собой выборку случайных чисел из нормального закона с параметрами, указанными в таблице.

Номер группы

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

(класса)

Пр. 1

Пр. 2

Пр. 1

Пр. 2

Пр. 1

Пр. 2

Пр. 1

Пр. 2

Пр. 1

Пр. 2

1

m=2

m=7

m=3

m=5

m=4

m=6

m=8

m=5

m=3

m=6

σ=1

σ=2

σ=1

σ=2

σ=1

σ=2

σ=3

σ=1

σ=2

σ=1

 

2

m=6

m=3

m=8

m=2

m=7

m=2

m=4

m=2

m=7

m=7

σ=2

σ=2

σ=4

σ=1

σ=3

σ=1

σ=2

σ=1

σ=4

σ=1

 

4. Отобразите в пространстве полученных двух признаков данные классы. Сделайте вывод о сходстве ваших классов.

Содержание отчета

1.Название, цель и задачи работы.

2.Тексты программ, которые требовалось сохранять в ходе выполнения работы.

3.Объяснение полученных результатов и выводы.

4. МЕТОД ГЛАВНЫХ КОМПОНЕНТ (ПРИВЕДЕНИЕ ДАННЫХ К ДВУМЕРНОМУ ВИДУ)

Цели работы: получение навыков работы с методом главных компонент в системе MATLAB; вычисление главных компонент для биомедицинских данных.

15

, x( p)

Основные положения

Часто исходное число р рассматриваемых, т. е. измеряемых на исследу-

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

Главные компоненты представляют собой новое множество исследуемых признаков

y(1), y(2), , y( p) ,

каждый из которых получен в результате некоторой линейной комбинации,

непосредственно измеренных на объектах, исходных признаков x(1), x(2),

. Полученные в результате такого преобразования новые признаки y(1), y(2), , y( p) могут обладать рядом удобных статистических свойств.

Например, быть упорядоченными по степени рассеяния в изучаемой совокупности объектов: первый признак обладает наибольшей степенью рассеяния, т. е. наибольшей дисперсией, второй – меньшей и т. д.

Определение главных компонент

Будем предполагать, что исследуемые наблюдения X1, X2, , Xn из-

влечены из некоторой р -мерной генеральной совокупности, определяемой

соответствующей вероятностной мерой. Однако для приводимых здесь понятий из всех характеристик исследуемой генеральной совокупности суще-

 

 

, где

ственное значение имеет лишь ковариационная матрица = σij

σij = M ( x(i) a(i) ) ( x( j) a( j) ) , i, j = 1, 2, , p .

Здесь a(i) – компоненты вектора a средних значений признаков x(i) . Будем считать, что вектор средних значений a = 0, чего всегда можно добиться, рас-

сматривая в качестве исходных признаков x(1), x(2),, x( p) не сами измере-

ния, а их отклонения от своих выборочных средних значений.

16

Назовем первой главной компонентой исследуемой генеральной совокупности наблюдений такую нормированную линейную комбинацию р ис-

ходных признаков x(1), x(2), ,

x( p) ,

 

 

 

 

 

 

y(1) = l

 

x(1) + l x(2)

++ l

x( p)

= LтX

 

 

 

 

11

 

12

1p

 

1

(здесь Lт

= l

l

l

 

, причем l2

+ l2 ++ l2

=1), которая среди всех

1

11

12

1p

 

 

 

11

12

1p

 

прочих нормированных

 

линейных комбинаций x(1), x(2),, x( p) обладает

наибольшей дисперсией.

Вообще, iглавной компонентой исследуемой генеральной совокуп-

ности (i = 2, 3, , р) будем называть такую нормированную линейную ком-

бинацию p исходных признаков x(1), x(2), , x( p)

y(i) = li1x(1) + li2x(2) ++ lip x( p) = Lтi X ,

которая среди всех прочих линейных нормированных (li21 + li22 ++ lip2 =1)

комбинаций, некоррелированных со всеми предшествующими главными

компонентами y(1), ,

y(i−1) (т. е. cov( y(i), y( j) ) = M ( y(i) y( j) ) = 0 для j < i ),

обладает наибольшей дисперсией.

 

Из определения

следует,

что, во-первых, главные компоненты

y(1), y(2), , y( p) занумерованы в

порядке убывания их дисперсий, т. е.

Dy(1) ³ Dy(2) ³³ Dy( p) , причем легко подсчитать, что, во-первых,

 

Dy(i) = M (Lт

X)2 = M (LтX XтL ) = LтL

 

 

i

i

i

i

i

 

и, во-вторых,

вектор Li , определяющий

преобразование

перехода от

x(1), x(2),, x( p)

к y(i) , является так называемым i -м собственным вектором ко-

вариационной матрицы Σ , т. е. его компоненты li1,

li2, , lip

определяются

p

как нормированное ( li2j = 1) решение системы уравнений

j=1

(−λiI) Li = 0 ,

гдеλi i-й по величине корень уравнения

−λI = 0 .

Под M подразумевается определитель матрицы М, под I – единичная матрица, а под λ – неизвестное число.

Из вышеприведенных выражений вытекает, что Dy(i) = λi.

17

Таким образом, ковариационная матрица Y главных компонент y(1), y(2), , y( p) будет иметь вид

λ1

0

0

0

 

 

0

λ2

0

0

 

Y =

 

.

.

. .

.

.

 

 

0

0

0

λ

 

 

 

 

 

 

p

Опираясь на то, что преобразование, с помощью которого осуществляется переход от исходных компонент X к главным компонентам Y, (Y = LX) ,

ортогональное, нетрудно выразить исходные переменные x(1), x(2), , x( p)

через главные компоненты

x(i) = l

y(1) + l

y(2) + + l

pi

y( p)

(в матричной запи-

 

1i

 

2i

 

 

 

си X = LтY ), а также

показать,

что

сумма дисперсий (Dy(1) + Dy(2) +

++ Dy( p)) главных компонент равна сумме дисперсий

(Dx(1) + Dx(2) + +

+ Dx( p)) исходных признаков.

 

 

 

 

 

 

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

Анализ главных компонент (Principal components analysis – PCA) в систе-

ме MATLAB осуществляется с помощью функции princomp(X) в виде:

PC = princomp(X) или

[PC,SCORE,latent,tsquare] = princomp(X)

Функция PC = princomp(X) предназначена для проведения анализа главных компонент многомерной случайной величины Х. Входной параметр Х является матрицей (n × p) исходных данных. Столбцы матрицы Х соответствуют признакам, строки – наблюдениям многомерной случайной величины. Функция возвращает матрицу главных компонент PC (p × p), где p – число при-

знаков многомерной случайной величины, или число столбцов матрицы Х. Каждый столбец матрицы PC содержит коэффициенты одной главной компоненты. Столбцы расположены в порядке убывания дисперсии компонент. Матрица PC является множеством собственных векторов ковариационной матрицы cov(Х). В процессе своей работы princomp центрирует X путем вычитания среднего значения из колонок, но не меняет шкалу X.

Функция [PC, SCORE, latent, tsquare] = princomp(X) возвращает

матрицу главных компонент PC, матрицу оценок SCORE, которая является проекцией X в пространство главных компонент. Строки матрицы SCORE соответствуют наблюдениям, а столбцы – компонентам. Кроме того эта функция возвращает

18

latent – вектор, содержащий собственные значения ковариационной матрицы X

и tsquare – вектор значений статистики T2 Хоттелинга для каждого из наблюде-

ний. Значения вектора latent являются дисперсиями столбцов SCORE. Статисти-

ка T2 Хоттелинга это мера многомерного расстояния каждого наблюдения от центра множества данных. Элементы latent, tsquare могут отсутствовать.

С помощью функции PC = pcacov(Y) можно найти главные компоненты с помощью ковариационной матрицы Y исходных данных.

Пример 4.1 (рис. 4.1)

Построить в пространстве двух первых главных компонент изображение всех трех классов ирисов Фишера.

Главная компонента 2

1.5

1

0.5

0

-0.5

-1

-1.5

-3

-2

-1

0

1

2

3

4

-4

Главная компонента 1

Главная компонента 2

1.5

 

setosa

1

versicolor

virginica

0.5

0

-0.5

-1

-1.5

-3

-2

-1

0

1

2

3

4

-4

Главная компонента 1

Рис. 4.1

load fisheriris

[PC,SCORE] = princomp(meas)

scatter(SCORE(:,1),SCORE(:,2))

Пример 4.2 (рис. 4.2)

Построить в пространстве двух первых главных компонент изображение всех трех классов ирисов Фишера с маркировкой классов (с помощью переменной группировки species):

load fisheriris

[PC,SCORE] = princomp(meas)

gscatter(SCORE(:,1),SCORE(:,

2), species,'','xos')

Рис. 4.2

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

3

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

C

компонента

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-2главнаяя

0

 

 

 

 

 

 

 

-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-2

 

 

 

 

 

 

 

 

-3

 

 

 

 

 

 

 

 

-4

-6

-4

-2

0

2

4

6

 

-8

1-я главная компонента

Рис. 4.3

19

Пример 4.3 (рис. 4.3)

Используя массив a из примера 1.1, построим gscatter для классов A, B, C

по двум первым главным компонентам. Для этого надо (как в примере 1.1) по-

строить матрицу a, переменную группировки g и далее использовать функцию

[PC,SCORE] = princomp(a).

[PC,SCORE] = princomp(a)

gscatter(SCORE(:,1), SCORE(:, 2), g,'','xos')

Задание

1. Ознакомиться с теоретическими положениями метода главных ком-

понент.

2. Освоить использование функции princomp на биологических и стати-

стических данных.

3.Освоить отображение данных в пространстве двух главных компонент

спомощью функций scatter и gscatter.

Порядок выполнения работы

1.Ввести в компьютер две матрицы данных f1 и f2 для двух классов A и B.

2.Вычислить переменную группировки g, как это было сделано в при-

мере 1.1.

3.Вычислить главные компоненты для объединенной матрицы [f1; f2]

ив пространстве двух первых главных компонент отобразить полученные дан-

ные с использованием функции gscatter и переменной группировки g.

4. Сделать вывод о возможности линейного разделения классов и оце-

нить получаемые ошибки.

Матрица

f1

 

 

 

 

0.997

0.05

0.15;

2.686

0.19

0.80;

2.930

0.15

0.54;

0.997

0.09

0.28;

2.93

0.13

0.72;

1.221

0.09

0.40;

1.221

0.11

0.56;

0.997

0.10

0.39;

1.953

0.19

0.72;

0.997

0.10

0.40;

0.997

0.13

0.53;

1.709

0.13

0.72;

1.221

0.12

0.41;

1.953

0.22

0.91;

1.221

0.07

0.29;

1.221

0.07

0.28;

0.997

0.11

0.51

2.441

0.17

0.76;

 

 

 

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]