И другие программы этой серии
Меню Print вызывает диалоговое окно, которое позволяет выбирать общие стандартные варианты печати. Команда print обеспечивает большую гибкость при выводе выходных данных и позволяет контролировать печать из М-файлов. Результат может быть послан прямо на принтер, выбранный по умолчанию, или сохранен в заданном файле.
Содержание
5. Примеры программ
В этом разделе приведены наиболее употребительные алгоритмы, используемые при анализе многомерных данных. Рассмотрены как простейшие методы преобразования данных центрирование и шкалирование, так и алгоритмы для анализа данных — PCA, PLS.
5.1. Центрирование и шкалирование
Часто при анализе требуется преобразовать исходные данные. Наиболее используемыми методами преобразования данных выступают центрирование и шкалирование каждой переменной на стандартное отклонение. В разделе 4.3 приводился код функции для центрирования матрицы. Поэтому ниже показан только код функции, которая шкалирует данные. Обратите внимание, что исходная матрица должна быть центрирована function Xs = scaling(X)
% scaling: the output matrix is Xs
% matrix X must be centered
Xs = X * inv(diag(std(X)));
%end of scaling
Содержание
5.2. 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
Содержание
5.3 PCA/NIPALS
Для построения PCA счетов и нагрузок, используется рекуррентный алгоритм NIPALS, который на каждом шагу вычисляет одну компоненту.