![]() |
![]() |
||||||
Категории: АстрономияБиология География Другие языки Интернет Информатика История Культура Литература Логика Математика Медицина Механика Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Транспорт Физика Философия Финансы Химия Экология Экономика Электроника |
Центрирование и шкалированиеЧасто при анализе требуется преобразовать исходные данные. Наиболее используемыми методами преобразования данных выступают центрирование и шкалирование каждой переменной на стандартное отклонение. В разделе 4.3 приводился код функции для центрирования матрицы. Поэтому ниже показан только код функции, которая шкалирует данные. Обратите внимание, что исходная матрица должна быть центрирована
Содержание 5.2. SVD/PCA Наиболее популярным способом сжатия данных в многомерном анализе является метод главных компонент (PCA). С математической точки зрения PCA — это декомпозиция исходной матрицы X, т.е. представление ее в виде произведения двух матриц T и P X = TPt + E Матрица T называется матрицей счетов (scores) , матрица P — матрицей нагрузок (loadings), а E — матрицей остатков. Простейший способ найти матрицы T и P — использовать SVD разложение через стандартную функцию MatLab, называемуюsvd.
Содержание 5.3 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.
О вычислении PCA с помощью надстройки Chemometrics рассказано в пособии Проекционные методы в системе Excel. Содержание PLS1 Самым популярным способом для многомерной калибровки является метод проекции на латентные структуры (PLS). В этом методе проводится одновременная декомпозиция матрицы предикторов Xи матрицы откликов Y: X=TPt+E Y=UQt+F T=XW(PtW)–1 Проекция строится согласованно – так, чтобы максимизировать корреляцию между соответствующими векторами X-счетов taи Y-счетов ua. Если блок данных Y включает несколько откликов (т.е. K>1), можно построить две проекции исходных данных – PLS1 и PLS2. В первом случае для каждого из откликов yk строится свое проекционное подпространство. При этом и счетаT (U) и нагрузки P (W, Q) , зависят от того, какой отклик используется. Этот подход называется PLS1. Для метода PLS2 строится только одно проекционное пространство, которое является общим для всех откликов. Детальное описание метода PLS приведено в этой книге Для построения PLS1 счетов и нагрузок, используется рекуррентный алгоритм. Сначала исходные матрицы X и Y центрируют
и они превращаются в матрицу E0 и вектор f0, a=0. Далее к ним применяет следующий алгоритм 1. wt = fat Ea 2. w = w / (wtw)½ 3. t = Ea w 4. q = tt fa / ttt 5. u = qfa / q2 6. pt = tt Ea / ttt После вычисления очередной (a-ой) компоненты, полагаем ta=t и pa=p. Для получения следующей компоненты надо вычислить остатки Ea+1 = Ea – t pt и применить к ним тот же алгоритм, заменив индекс a на a+1. Приведем код этого алгоритма, взятый из книги
О вычислении PLS1 с помощью надстройки Chemometrics Add In рассказано в пособии Проекционные методы в системе Excel. Содержание PLS2 Для PLS2 алгоритм выглядит следующим образом. Сначала исходные матрицы X и Y преобразуют (как минимум – центрируют; см. разделе 4.3), и они превращаются в матрицы E0 и F0, a=0. Далее к ним применяет следующий алгоритм. 1. Выбрать начальный вектор u 2. wt = ut Ea 3. w = w / (wtw)½ 4. t = Ea w 5. qt = tt Fa / ttt 6. u = Fa q/ qtq 7. Проверить сходимость, если нет, то идти на 2 8. pt = tt Ea / ttt После вычисления очередной (a-ой) PLS2 компоненты надо положить: ta=t, pa=p, wa=w, ua=u и qa=q. Для получения следующей компоненты надо вычислить остатки Ea+1 = Ea –t pt и Fa+1 = Fa – tqt и применить к ним тот же алгоритм, заменив индекс a на a+1. Приведем код, которой также заимствован из из книги.
О вычислении PLS2 с помощью надстройки Chemometrics Add In рассказано в пособии Проекционные методы в системе Excel. Содержание Заключение MatLab это это очень популярный инструмент для анализа данных. По данным опроса, его используют до трети всех исследователей, тогда как программа the Unsrambler применяется только 16% ученых. Главным недостатком MatLab являются его высокая цена. Кроме того, MatLab хорош для рутинных расчетов. Отсутствие интерактивности делает его неудобным при выполнении поисковых, исследовательских расчетов для новых, неисследованных массивов данных. Проблему цены решает альтернативное математическое обеспечение Chemometrics - специальная надстройка для системы Microsoft Excel. Подробнее о ней рассказано в пособии Проекционные методы в системе Excel. Содержание |