Як виконати аналіз основних компонентів у sas


Аналіз основних компонентів (PCA) – це техніка машинного навчання без нагляду , яка прагне знайти головні компоненти – лінійні комбінації змінних предикторів, які пояснюють значну частину варіації в наборі даних.

Найпростіший спосіб виконання PCA в SAS — використання оператора PROC PRINCOMP , який використовує такий базовий синтаксис:

 proc princomp data =my_data out =out_data outstat =stats;
    var var1 var2 var3;
run ;

Ось що робить кожна інструкція:

  • дані : ім’я набору даних для використання в PCA
  • out : ім’я набору даних для створення, який містить усі вихідні дані плюс оцінки головного компонента
  • outstat : вказує, що має бути створений набір даних, який містить середні значення, стандартні відхилення, коефіцієнти кореляції, власні значення та власні вектори.
  • var : змінні для використання для PCA з вхідного набору даних.

У наступному покроковому прикладі показано, як на практиці використовувати інструкцію PROC PRINCOMP для виконання аналізу основних компонентів у SAS.

Крок 1: Створіть набір даних

Припустимо, що ми маємо наступний набір даних, що містить різну інформацію про 20 баскетболістів:

 /*create dataset*/
data my_data;
    input points assists rebounds;
    datalines ;
22 8 4
29 7 3
10 4 12
5 5 15
35 6 2
8 3 10
10 4 8
8 4 3
2 5 17
4 5 19
9 9 4
7 6 4
31 5 3
4 6 13
5 7 8
8 8 4
10 4 8
20 4 6
25 8 8
18 8 3
;
run ;

/*view dataset*/
proc print data =my_data; 

Крок 2: Виконайте аналіз головних компонентів

Ми можемо використовувати інструкцію PROC PRINCOMP для виконання аналізу головних компонентів за допомогою змінних points , assists і bounces набору даних:

 /*perform principal components analysis*/
proc princomp data =my_data out =out_data outstat =stats;
    var points assists rebounds;
run ;

Перша частина вихідних даних відображає різні описові статистичні дані, включаючи середнє та стандартне відхилення кожної вхідної змінної, кореляційну матрицю та значення власних значень і власних векторів:

Наступна частина вихідних даних відображає графік осипів і пояснений графік дисперсії :

Коли ми виконуємо PCA, ми часто хочемо зрозуміти, який відсоток загальної варіації в наборі даних можна пояснити кожним основним компонентом.

Отримана таблиця під назвою Власні значення кореляційної матриці дозволяє нам точно побачити, який відсоток загальної варіації пояснюється кожним головним компонентом:

  • Перший головний компонент пояснює 61,7% загальної варіації в наборі даних.
  • Другий головний компонент пояснює 26,51% загальної варіації в наборі даних.
  • Третій головний компонент пояснює 11,79% загальної варіації в наборі даних.

Зауважте, що всі відсотки в сумі становлять 100%.

Потім графік під назвою Variance Explained дозволяє візуалізувати ці значення.

На осі х відображається головний компонент, а на осі ординат – відсоток загальної дисперсії, що пояснюється кожним окремим головним компонентом.

Крок 3: Створіть біплот для візуалізації результатів

Щоб візуалізувати результати PCA для заданого набору даних, ми можемо створити біплот , який є графіком, який відображає кожне спостереження в наборі даних на площині, утвореній першими двома головними компонентами.

Ми можемо використовувати наступний синтаксис у SAS для створення біплоту:

 /*create dataset with column called obs to represent row numbers of original data*/
data biplot_data;
   set out_data;
   obs=_n_;
run ;

/*create biplot using values from first two principal components*/
proc sgplot data =biplot_data;
    scatter x =Prin1 y =Prin2 / datalabel =obs;
run ; 

На осі X відображається перша головна компонента, на осі Y – друга головна компонента, а окремі спостереження з набору даних відображаються всередині графіка у вигляді маленьких кіл.

Спостереження, розташовані поруч на графіку, мають подібні значення для трьох змінних очок , передач і підбирань .

Наприклад, у крайньому лівому куті графіка ми бачимо, що спостереження №9 і №10 дуже близькі одне до одного.

Якщо ми звернемося до вихідного набору даних, ми побачимо такі значення для цих спостережень:

  • Спостереження №9 : 2 очки, 5 передач, 17 підбирань
  • Спостереження №10 : 4 очки, 5 передач, 19 підбирань

Значення подібні для кожної з трьох змінних, що пояснює, чому ці спостереження настільки близькі одне до одного на біплоті.

Ми також побачили в таблиці результатів під назвою Власні значення кореляційної матриці , що перші два основні компоненти становлять 88,21% загальної варіації в наборі даних.

Оскільки цей відсоток дуже високий, можна проаналізувати, які спостереження на біплоті близькі одне до одного, оскільки два основні компоненти, що складають біплот, складають майже всі варіації в наборі даних.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

Як виконати просту лінійну регресію в SAS
Як виконати множинну лінійну регресію в SAS
Як виконати логістичну регресію в SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *