Проблема:
С увеличением размеров (например, 100/функций) возникают такие проблемы, как:
- Время Сложность увеличивается.
- Трудно обобщить отношения.
- Все время все функции не собираются вносить свой вклад.
- Трудно найти форму данных.
Решение:
Итак, мы можем попытаться преобразовать набор данных на какой-либо другой оси таким образом, чтобы он смог сохранить исходное значение данных. мы можем сделать это с помощью PCA.
Шаги:
Шаг 1. Требования:
Для работы PCA данные должны иметь среднее значение = 0 и стандартное отклонение ~ 1.
Преобразовать нормальное распределение в стандартное нормальное распределение
Шаг 2. Сопоставьте наиболее подходящую линию, проходящую через начало координат:
Наилучшая подобранная линия определяется путем максимального расстояния между спроецированными точками на линии и исходной точкой.
Эти отдельные точки называются d1, d2, d3, d4, …
мы можем сделать это, разделив a, b, c на длину a
следовательно, наша новая смесь для PC1 будет записана как
Этот вектор длиной 1 единица, состоящий из 0,97 частей x1 и 0,242 частей x2, называется сингулярным вектором или собственным вектором для PC1.
а пропорции каждой оси равны под названием Загрузка оценок.
Шаг 3. ПК 2
Шаг 4. Расчет существующих вариаций для каждого ПК и участка осыпи
SS(расстояния для ПК1) = собственное значение для ПК1
SS(расстояния для ПК2) = собственное значение для ПК2
Мы можем преобразовать их в вариации вокруг
origin(0,0), разделив на n-1
например:
пусть вариация для
ПК1 = 15,
ПК2 = 3
общая вариация вокруг обоих ПК = 15+3 = 18
, что означает, что на ПК1 приходится
15/18 = 0,83 = 83% от общего количества вариаций
вокруг ПК
это также называется EVR (объясненный коэффициент дисперсии)
Шаг 5. Насыпной участок
построить EVR для каждого ПК
здесь мы можем видеть, что с 4 нет. из ПК мы получаем 90% объяснений,
поэтому мы берем только эти 4 ПК.