Статистика ★★☆ Середній

📊 PCA & SVD Візуалізатор

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

Набір даних

Відображення

Пояснена дисперсія

PC1
80%
PC2
20%

Матриця коваріацій

⎡           ⎤
⎣           ⎦
λ₁ (PC1)
λ₂ (PC2)
Число обумовленості
C = XᵀX / (n−1)
C v = λ v (власне)
EVR = λₖ / Σλⱼ
Клацніть холст, щоб додати точку

Про PCA та SVD

Аналіз головних компонент

PCA знаходить ортогональні напрямки максимальної дисперсії у наборі даних. Для n точок у d вимірах (нульове середнє) матриця коваріацій C = XᵀX/(n−1) є симетричною і діагоналізованою: C = Q Λ Qᵀ, де стовпці Q — власні вектори (головні компоненти), Λ = diag(λ₁,…,λ_d) з λ₁ ≥ λ₂ ≥ … Проекція на перші k стовпців Q знижує розмірність, зберігаючи найбільшу дисперсію.

Сингулярний розклад (SVD)

Будь-яка матриця m×n M = U Σ Vᵀ, де U та V — ортогональні, Σ — діагональна з невід'ємними сингулярними значеннями σ₁ ≥ σ₂ ≥ … PCA дорівнює SVD від X/√(n−1): головні компоненти — стовпці V, сингулярні значення пов'язані з власними числами: σₖ = √((n−1) λₖ). SVD чисельно стабільніший, ніж пряме розкладання C.

Геометрична інтерпретація

У 2D PCA знаходить велику вісь еліпса даних (PC1 — напрямок максимального розкиду) та малу вісь (PC2 — перпендикулярно). Відношення σ₁/σ₂ дорівнює відношенню напівосей. Частка поясненої дисперсії EVR₁ = λ₁/(λ₁+λ₂) — це частка загального розкиду, захоплена PC1. Для сферичних некорельованих даних EVR₁ = 50%; для витягнутого еліпса EVR₁ → 100%.

Застосування

PCA та SVD — основні інструменти науки про дані: стиснення зображень (усічений SVD), розпізнавання облич (eigenfaces), геноміка (структура популяцій), фінанси (факторні моделі), спектроскопія та зниження розмірності перед кластеризацією. У квантовій механіці зведена матриця густини для бічастинкової системи діагоналізується через розклад Шмідта — квантовий аналог SVD.

Про візуалізатор PCA та SVD

Ця симуляція показує, як метод головних компонент (PCA) знаходить напрями найбільшої варіативності у хмарі 2D-точок. З набору згенерованих точок обчислюється вибіркове середнє, будується матриця коваріацій 2×2 C = XᵀX/(n−1), а потім аналітично розв'язується її характеристичне рівняння, щоб отримати два власні значення λ₁ ≥ λ₂ та їх ортогональні власні вектори. Ці вектори і є осями головних компонент, намальованими на полотні.

Повзунки задають кількість точок, розкиди σₓ і σᵧ, кут повороту θ, що вносить кореляцію між осями, а також гаусів шум — і ви можете спостерігати, як матриця коваріацій та стовпці поясненої дисперсії оновлюються в реальному часі. PC1 слідує за довгою віссю еліпса даних, PC2 — за короткою. Ця сама математика лежить в основі зниження розмірності, стиснення зображень через усічений SVD, власних облич та факторних моделей у фінансах.

Поширені запитання

Що демонструє ця симуляція?

Вона генерує хмару 2D-точок і застосовує до них метод головних компонент. Осі головних компонент (PC1 і PC2) проводяться через середнє значення даних, масштабуються за стандартним відхиленням, а гістограма показує, яку частку загальної дисперсії пояснює кожна компонента.

Як насправді обчислюються головні компоненти?

Сторінка центрує дані, формує матрицю коваріацій 2×2 C = XᵀX/(n−1) і знаходить її власні значення за квадратичною формулою через слід і визначник. Кожен власний вектор записується в замкненому вигляді, тому PC1 і PC2 є точними, а не ітеративно наближеними.

Що роблять повзунки набору даних?

«N точок» задає кількість вибірок; σₓ і σᵧ визначають розкид вздовж двох базових осей; кут повороту θ нахиляє цю систему координат, вносячи кореляцію між x і y; а «Шум» додає додатковий ізотропний гаусів розкид. Зміна будь-якого повзунка призводить до перегенерації хмари та перерахунку PCA.

Що означає частка поясненої дисперсії?

Частка поясненої дисперсії для компоненти — це її власне значення, поділене на суму всіх власних значень, EVRₖ = λₖ/Σλⱼ. Стовпець PC1 показує частку загального розкиду, захоплену найдовшою віссю. Для кругової хмари обидва стовпці близькі до 50%; для дуже витягнутого еліпса PC1 наближається до 100%.

Чому еліпс 2σ намальований саме так?

Штриховий еліпс — це контур на відстані двох стандартних відхилень від середнього вздовж кожної головної осі. Його півосі дорівнюють 2√λ₁ і 2√λ₂, а сам еліпс повернуто відповідно до напрямів власних векторів. Для гаусових даних він охоплює близько 86% точок, наочно відображаючи структуру коваріацій.

Що показує число обумовленості?

Число обумовленості — це відношення двох власних значень λ₁/λ₂. Велике значення означає, що дані сильно витягнуті, а матриця коваріацій близька до виродженої, тому мінорний напрям містить мало інформації. Коли PC2 стискається майже до нуля, показник відображає нескінченність.

Як SVD пов'язаний із показаним PCA?

PCA матриці X еквівалентний сингулярному розкладу X/√(n−1). Головні компоненти — це праві сингулярні вектори, а сингулярні значення задовольняють σₖ = √((n−1)λₖ). Обчислення SVD безпосередньо на даних чисельно стабільніше, ніж власний розклад матриці коваріацій, хоча обидва методи дають ті самі осі.

Чи можна редагувати дані вручну?

Так. Клацніть будь-де на полотні, щоб додати окрему точку; натисніть «Регенерувати», щоб отримати нову випадкову хмару за поточними налаштуваннями повзунків; або скористайтеся «Очистити», щоб спорожнити полотно. PCA перераховується після кожної зміни, тому ви можете побудувати власний розподіл і одразу побачити його головні осі.

Чи є обчислення власних значень точним?

Для симетричної матриці 2×2 — так, воно точне. Власні значення знаходяться за формулою λ = tr/2 ± √(tr²/4 − det), що є аналітичним розв'язком характеристичного полінома. Обидва власні значення обмежені знизу нулем, що відповідає факту додатної напіввизначеності реальної матриці коваріацій.

Що означає проєкція на компоненту?

Увімкнення проєкцій малює відрізок від кожної точки до її проєкції на вісь PC1, ілюструючи зниження розмірності. Збереження лише координати PC1 відкидає інформацію PC2; квадрати довжин цих відкинутих відрізків і є помилкою відновлення, яку PCA мінімізує для будь-якої вибраної кількості компонент.

Де PCA застосовується в реальному світі?

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