8.5 Приклади реалізації алгоритму методу головних компонент

Розглянемо реалізацію алгоритму факторного аналізу на прикладах.

Приклад 1

Сукупність з чотирьох промислових підприємств оцінена за трьома характерними ознаками: \(X_1\) — середньорічний виробіток, \(X_2\) — рівень рентабельності; \(X_3\) — рівень фондовіддачі. У результаті попередніх аналітичних розрахунків за вихідними даними отримана матриця парних кореляцій:

\[ R = \left(\begin{array}{c} 1 & 0,581 & 0,154 \\ 0,581 & 1 & 0,439 \\ 0,154 & 0,439 & 1 \end{array}\right). \]

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

Розв’язання

Використовуючи алгоритм методу головних компонент, знайдемо власні числа та власні вектори матриці \(R\) і побудуємо матриці з аналітичними результатами \((A\) і \(F)\):

  1. За рекурентним співвідношенням Фадєєва обчислимо визначник матриці парних кореляцій \(|R|\). Перший крок: \(R=A\) і \(A=A_1\), тоді \(P_1=t_r A_1=1+1+1=3\), \[ B = A_1 - P_1E = \left(\begin{array}{c} -2 & 0,581 & 0,154 \\ 0,581 & -2 & 0,439 \\ 0,154 & 0,439 & -2 \end{array}\right). \] Другий крок: \[ A_2 = AB_1 = \left(\begin{array}{c} 1 & 0,581 & 0,154 \\ 0,581 & 1 & 0,439 \\ 0,154 & 0,439 & 1 \end{array}\right) \cdot \left(\begin{array}{c} -2 & 0,581 & 0,154 \\ 0,581 & -2 & 0,439 \\ 0,154 & 0,439 & -2 \end{array}\right) = \\ = \left(\begin{array}{c} -1,638 & -0,513 & 0,101 \\ -0,513 & -1,469 & -0,350 \\ 0,101 & -0,350 & -1,783 \end{array}\right); \] \[ P_2 = \frac{1}{2} t_r A_2 = \frac{1}{2} \cdot (-1,638)+(-1,469)+(-1,783)=-2,445, \\ B_2=A_2 - P_2E = \left(\begin{array}{c} 0,807 & -0,513 & 0,101 \\ -0,513 & 0,976 & -0,350 \\ 0,101 & -0,350 & 0,662\end{array}\right). \] Третій крок: \[ A_3 = AB_2 = \left(\begin{array}{c} 1 & 0,581 & 0,154 \\ 0,581 & 1 & 0,439 \\ 0,154 & 0,439 & 1 \end{array}\right) \cdot \left(\begin{array}{c} 0,807 & -0,513 & 0,101 \\ -0,513 & 0,976 & -0,350 \\ 0,101 & -0,350 & 0,662 \end{array}\right) = \\ = \left(\begin{array}{c} 0,524 & 0 & 0 \\ 0 & 0,524 & 0 \\ 0 & 0 & 0,524 \end{array}\right); \] \[ P_3 = \frac{1}{3} (3 \cdot 0,524)=0,524,B_3=A_3-P_3 E=0. \] Отже: \(|R|=0,524\) і \(B_3=0\).

  2. Побудуємо характеристичне рівняння: \[ \lambda^3 - 3\lambda^2 + 2,445 \lambda - 0,524 = 0; \\ \lambda_1 = 1,798; \lambda_2 = 0,875; \lambda_3=0,327. \] Таким чином, наші вхідні елементарні ознаки можуть бути узагальнені значеннями трьох головних компонент, причому перша головна компонента \(F_1\) пояснює приблизно \(60 \%\) усієї варіації \(X_j\) \((1,798/3 = 0,599)\); друга головна компонента \(F_2\) пояснює \(29,2\%\) загальної дисперсії \((0,875/3 = 0,292)\); третя головна компонента \(F_3\) охоплює залишкову, ще не пояснену варіацію вхідних ознак — \(10,9\%\) \((0,327/3 = 0,109)\). Усі головні компоненти пояснюють варіацію \(X_1, X_2, X_3\) цілком на \(100\%\) \((59,9 + 29,2 + 10,9)\).

  3. Власні вектори матриці парних кореляцій \(R\) знайдемо розв’язанням трьох систем лінійних рівнянь, відповідно для: \(λ_1=1,798\); \(λ_2=0,875\); \(λ_3=0,327\). Перша система рівнянь, для \(λ_1=1,798\): \[ \begin{array}{r|r}(1 - 1,798) u_{11} +0,581 u_{21} + 0,154 u_{31} = 0 & u_{11}=1,262\\ 0,581 u_{11} + (1 - 0,798) u_{21} + 0,439 u_{31} = 0 & u_{11} = 1,262 \\ 0,154 u_{11} + 0,439 u_{21} + (1 - 1,798) u_{31} = 0 & u_{31} = 1,000\end{array}. \] Друга система рівнянь, для \(λ_2=0,875\): \[ \begin{array}{l|l}(1-0,875) u_{12} + 0,581 u_{22} + 0,154 u_{32} = 0 & u_{11} = -0,144 \\ 0,581 u_{12} + (1-1,875) u_{22} + 0,439 u_{32} = 0 & u_{21} = -0,234\\ 0,154 u_{12} + 0,439 u_{22} + (1-1,875) u_{32} = 0 & u_{31}=1,000. \end{array}. \] Третя система рівнянь, для \(λ_3=0,327\): \[ \begin{array}{l|l} (1-0,327) u_{13} + 0,581 u_{23} + 0,154 u_{33} = 0 & u_{11} = 1,307\\ 0,581 u_{13} + (1-0,327) u_{23} + 0,439 u_{33} = 0 & u_{21}=-1,779 \\ 0,154 u_{13} + 0,439 u_{23} + (1-0,327) u_{33} = 0 & u_{31}=1,000 \end{array}. \] Матриця власних векторів приймає вид: \[ U = \left(\begin{array}{c} 1,262 & -0,144 & 1,307 \\ 1,469 & -0,234 & -1,779 \\ 1,000 & 1,000 & 1,000 \end{array}\right). \] Пронормуємо вектори \(U_j\), тобто знайдемо \(V_j = \frac{U}{|U_j|}\), отримаємо матрицю нормованих значень власних векторів: \[ V = \left(\begin{array}{c} 0,579 & -0,139 & 0,539 \\ 0,674 & -0,225 & -0,734 \\ 0,459 & 0,964 & 0,413 \end{array}\right). \]

  4. Матрицю факторного відображення \((A)\) отримаємо з матричного рівняння \(A=VΛ^{1/2}\). \[ A = \left(\begin{array}{c} 0,579 & -0,139 & 0,539 \\ 0,674 & -0,225 & -0,734 \\ 0,459 & 0,964 & 0,413 \end{array}\right) \cdot \left(\begin{array}{c} \sqrt{1,798} & \> & \> \\ \> & \sqrt{0,875} & \> \\ \> & \> & \sqrt{0,327} \end{array}\right) = \\ = \left(\begin{array}{c} \> & F_1 & F_2 & F_3 \\ x_1 & 0,776 & -0,130 & 0,308 \\ x_2 & 0,904 & -0,210 & -0,420 \\ x_3 & 0,616 & 0,920 & 0,236 \end{array}\right). \] Матриця \(A\) містить частинні коефіцієнти кореляції, що представляють зв’язки вихідних ознак \(X_j\) і головних компонент \(F_r\). Відповідно, всі елементи \(a_{ij}\) можуть змінюватися у межах від \(-1\) до \(+1\). З рівності \(A’A=Λ\) випливає умова \(\sum_j a_{jr}^2 = λ_r\). Перевіримо, дану умову для матриці \(A\): \[ \sum_j a_{j1}^2 = 0,776^2 + 0,904^2 + 0,616^2 = 1,798; \\ \sum_j a_{j2}^2 = 0,875; \\ \sum_j a_{j3}^2 = 0,327. \]

  5. Тепер запишемо системи лінійних рівнянь залежності елементарних ознак \(Z_j\) і головних компонент, або узагальнених ознак \(F_r\) (максимально \(r=j=3\)): \[ Z_1 = 0,776 \cdot F_1 - 0,130 \cdot F_2 + 0,308 \cdot F_3; \\ Z_2 = 0,904 \cdot F_1 - 0,210 \cdot F_2 - 0,420 \cdot F_3; \\ Z_3 = 0,616 \cdot F_1 + 0,902 \cdot F_2 + 0,236 \cdot F_3. \]

  6. На завершальному кроці алгоритму обчислимо значення головних компонент для всіх об’єктів, що спостерігаються, і розрахуємо: \[ F= A^{-1} Z’. \] Матриця \(Z\) відома з умови задачі: \[ A = \left(\begin{array}{c} 0,542 & 0,507 & 0,196 \\ -0,776 & -0,010 & 0,994 \\ 1,554 & -1,283 & -0,075 \end{array}\right) \cdot \left(\begin{array}{c} -0,971 & -0,868 & 1,478 & 0,361 \\ 0,549 & -1,684 & 0,882 & 0,253 \\ 0,076 & -1,069 & -0,534 &1,527 \end{array}\right) = \\ = \left(\begin{array}{c} -0,233 & -1,533 & 1,143 & 0,623 \\ 0,823 & -0,372 & -1,687 & 1,236 \\ -2,218 & 0,892 & 1,205 & 0,121 \end{array}\right). \]

Більш звичною формою запису \(n \times r\) значень головних компонент є транспонована матриця \(F\).

Центр розподілу значень головних компонент \(F\) знаходиться в точці \((0, 0, ..., 0)\). Звідси випливає правило рівності суми елементів кожного стовпця матриці \(F’\) нулю. У прикладі це правило витримується.

Результати розрахунків необхідні для прийняття рішення про кількість значущих ознак \(Z_j\) і головних компонент \(F_r\) і визначення назв головних компонентів.

\[ \begin{matrix} \begin{array}{c|cc} Об’єкти & Головні \> компоненти \\ & F_1 & F_2 & F \\ \hline n_1 & -0,233 & 0,823 & -0,218 \\ n_2 & -1,533 & -0,372 & 0,892 \\ n_3 & 1,143 & -1,687 & 1,205 \\ n_4 & 0,623 & 1,236 & 1,205 \\ \sum f_{ri} & 0 & 0 & 0 \\ \end{array} \end{matrix} \]

Розглянемо оцінку рівня інформативності та пошук назв для головних компонент.

Задачі розпізнавання головних компонент, визначення для них назв розв’язуються суб’єктивно на основі вагових коефіцієнтів \(a_{jr}\) з матриці відображення \(A\).

Для кожної головної компоненти \(F\) значення \(a_{jr}\) умовно розбивається на чотири підмножини з нечіткими межами:

  • \(W_1\) — підмножина незначущих вагових коефіцієнтів;
  • \(W_2\) — підмножина значущих вагових коефіцієнтів;
  • \(W_3\) — підмножина значущих вагових коефіцієнтів, які не формують назву головної компоненти;
  • \(W_2-W_3\) — підмножина значущих вагових коефіцієнтів, що формують назву головної компоненти.

Додаткове виділення підмножини \(W_3\) пояснюється прагненням до більш простої структури головної компоненти, що завжди легше піддається інтерпретації.

Підтвердження значущості ознак \((X_j\) або \(Z_j)\), які формують назви головних компонент, можна отримати розрахунковим шляхом під час визначенні коефіцієнта інформативності:

\[ K_u = \frac{\sum_j a_{jr}^2 \{W_2 - W_3\}}{\sum_{j=1}^m a_{jr}^2}. \tag{8.23} \]

Набір пояснювальних ознак вважається задовільним, якщо \(K_u\) знаходиться у межах \(0,75–0,95\).

Приклад 2

На основі розглянутого алгоритму з семи показників діяльності підприємства розраховані факторні навантаження та визначено два головних фактори. Вихідні дані подані у табл. 8.3.

Табл. 8.3: Вхідні дані
Коефіцієнти діяльності \(X_j\) Головна компонента \(F_1\) Головна компонента \(F_2\)
\(x_1\) — рівень виробітку на одного робітника \(a_{11} = 0,9\) \(a_{12} = 0,1\)
\(x_2\) — рівень фондовіддачі \(a_{21} = 0,8\) \(a_{22} = 0,4\)
\(x_3\) — розмір оборотних виробничих засобів \(a_{31} = 0,1\) \(a_{32} = 0,8\)
\(x_4\) — розмір витрат на випуск одиниці товарної продукції \(a_{41} = 0,8\) \(a_{42} = 0,3\)
\(x_5\) — чисельність ПВП \(a_{51} = 0,3\) \(a_{52} = 0,7\)
\(x_6\) — рентабельність продукції \(a_{61} = 0,7\) \(a_{62} = 0,2\)
\(x_7\) — рівень енергоозброєності праці \(a_{71} = 0,2\) \(a_{72} = 0,6\)
Розв’язання

Виділимо для першої головної компоненти \(F_1\) підмножини вагових коефіцієнтів на основі простої візуальної оцінки аналітичних результатів:

\[ W_1 = \left\{\begin{matrix} a_{31} = 0,1 \\ a_{71} = 0,2 \end{matrix}\right\}; W_2 = \left\{\begin{matrix} a_{11} = 0,9 & a_{51} = 0,3 \\ a_{21} = 0,8 & a_{61} = 0,7 \\ a_{41} = 0,8 & \> \end{matrix}\right\}; \]

\[ W_3=a_{51}=0,3; W_2 - W_3 = \left\{\begin{matrix} a_{11} = 0,9 & a_{41} = 0,8 \\ a_{21} = 0,8 & a_{61} = 0,7 \end{matrix}\right\}. \]

Граничні значення для підмножини \(W_3\) будуть: \(a_{kp.1} = 0,3\) і \(a_{kp.2} = 0,7\). У вирішальну підмножину \(W_2 – W_3\) увійшли елементарні ознаки: \(X_1, X_2, X_4, X_6\). Усі вони представляють характеристики ефективності виробничої діяльності. Назвемо \(F_1\) ефективністю виробництва. Значення коефіцієнта інформативності дає підстави стверджувати, що склад підмножини \(W_2 – W_3\) для головної компоненти \(F_1\) досить надійний:

\[ K_{u2} = \frac{0,81+0,64+0,64+0,49}{0,81+0,64+0,01+0,64+0,09+0,49+0,04} = 0,948. \]

Тобто значеннями ознак \(X_1, X_2, X_4, X_6\) склад головної компоненти \(F_1\) визначається більше ніж на \(94\%\).

Для другої головної компоненти \(F_2\):

\[ W_1 = \left\{\begin{matrix} a_{12} = 0,1 \\ a_{62} = 0,2 \end{matrix}\right\}; W_2 = \left\{\begin{matrix} a_{22} = 0,4 & a_{42} = 0,3 \\ a_{32} = 0,8 & a_{52} = 0,7 \\ a_{72} = 0,6 & \> \end{matrix}\right\}; \]

\[ W_3 = \left\{\begin{matrix} a_{22} = 0,4 \\ a_{42} = 0,3 \end{matrix}\right\}; W_2 - W_3 = \left\{\begin{matrix} a_{32} = 0,8 \\ a_{52} = 0,7 \\ a_{72} = 0,6 \end{matrix}\right\}. \]

Назва головної компоненти \(F_2\) визначається наявністю в її структурі значущих ознак \(X_3, X_5, X_7,\) тобто \(F2\) — це розмір виробничих ресурсів. Коефіцієнт інформативності підтверджує істотний склад цієї головної компоненти:

\[ K_{u2} = \frac{0,64+0,49+0,36}{0,01+0,16+0,64+0,09+0,49+0,04+0,36} = 0,832. \]

Відбір значущих елементарних ознак для визначення назви головної компоненти визначається насамперед за абсолютною величиною вагового коефіцієнта \(a_{jr}\). Знак коефіцієнта набуває значення за умови логічного пояснення складу та встановлення його несуперечності назві головної компоненти.