Материал: LS-Sb89574

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
, 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