Помощь в написании студенческих работ
Антистрессовый сервис

Svd/pca. 
Введение в программу матлаб

РефератПомощь в написанииУзнать стоимостьмоей работы

Код алгоритма NIPALS может быть написан и самими читателями, в данном же пособии авторы приводят свой вариант. При расчете PCA, можно вводить число главных компонент (переменная numberPC). Если же не известно, сколько необходимо компонент, следует написать в командной строке = pcanipals (X) и тогда программа задаст число компонент равным наименьшему из показателей размерности исходной матрицы X… Читать ещё >

Svd/pca. Введение в программу матлаб (реферат, курсовая, диплом, контрольная)

Наиболее популярным способом сжатия данных в многомерном анализе является метод главных компонент (PCA). С математической точки зрения PCA — это декомпозиция исходной матрицы X, т. е. представление ее в виде произведения двух матриц T и P

X = TPt + E.

Матрица T называется матрицей счетов (scores), матрица P — матрицей нагрузок (loadings), а E — матрицей остатков.

Простейший способ найти матрицы T и P — использовать SVD разложение через стандартную функцию MatLab, называемую svd.

function [T, P] = pcasvd (X).

% pcasvd: calculates PCA components.

% The output matrices are T and P.

% T contains scores.

% P contains loadings.

[U, D, V] = svd (X);

T = U * D;

P = V;

%end of pcasvd.

PCA/NIPALS

Для построения PCA счетов и нагрузок, используется рекуррентный алгоритм NIPALS, который на каждом шагу вычисляет одну компоненту. Сначала исходная матрица X преобразуется (как минимум — центрируется; см. раздел 4.3) и превращается в матрицу E0, a=0. Далее применяют следующий алгоритм.

  • 1. Выбрать начальный вектор t
  • 2. pt = tt Ea / ttt
  • 3. p = p / (ptp)Ѕ
  • 4. t = Ea p / ptp
  • 5. Проверить сходимость, если нет, то идти на 2

После вычисления очередной (a-ой) компоненты, полагаем ta=t и pa=p. Для получения следующей компоненты надо вычислить остатки Ea+1 = Ea — t pt и применить к ним тот же алгоритм, заменив индекс a на a+1.

Код алгоритма NIPALS может быть написан и самими читателями, в данном же пособии авторы приводят свой вариант. При расчете PCA, можно вводить число главных компонент (переменная numberPC). Если же не известно, сколько необходимо компонент, следует написать в командной строке [P, T] = pcanipals (X) и тогда программа задаст число компонент равным наименьшему из показателей размерности исходной матрицы X.

Показать весь текст
Заполнить форму текущей работой