Функции > Анализ данных > Анализ главных компонентов > Пример. Анализ главных компонентов 2
  
Пример. Анализ главных компонентов 2
Используйте функции Nipals и Nipals2 для анализа комплексных данных, таких как ближняя инфракрасная область спектров фармацевтических препаратов с пятью различными дозировками активных ингредиентов (данные предоставлены компанией Bruker Optics, Inc.). Можно создать модель для различения каждой дозировки на основании спектра, даже когда фактические дозировки неизвестны. Эту модель можно использовать в целях контроля качества при производстве препаратов.
1. Определите следующий набор данных:
* 
Этот набор данных описывает двойное слепое исследование при клинических испытаниях.
Нажать для копирования этого выражения
Первый столбец содержит волновые числа (1/длина волны) в cm-1. В остальных 25 столбцах содержатся пять последовательных спектров для каждой дозировки.
2. Используйте функции submatrix, cols и rows для извлечения 25 спектров.
Нажать для копирования этого выражения
3. Используйте функции max и match, чтобы найти максимальное значение и спектр, в котором оно содержится. Так как значения данных очень малы, установите для TOL еще меньшее значение.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Максимальное значение находится в строке 210 и столбце 17 матрицы данных.
4. Постройте график первых двух спектров для каждой дозировки (всего 10 наборов данных). Пары наборов данных представляют собой столбцы [1,2], [6,7], [11,12], [16,17] и [21,22] матрицы Data.
Чтобы получить приемлемый масштаб для горизонтальной оси, разделите волновые числа на 1000. Таким же образом, поскольку значения спектров малы, мы умножаем их на 1000.
Используйте горизонтальный маркер, чтобы показать максимальное значение спектра.
Нажать для копирования этого выражения
Традиционно волновые числа приводятся в убывающем порядке. Поэтому Data<0> инвертируется для отображения волновых чисел в правильном порядке.
Ни одна из частей спектра не может помочь легко отличить одну дозировку от другой: все они обладают одинаковой базовой формой и близкими значениями поглощения.
Большая часть данных является избыточной. В каждом спектре присутствует 236 точек, что означает наличие 236 измеренных переменных (поглощение света определенной длины волны), однако изменения этих значений четко связаны между собой.
5. Разделите матрицу Data на два набора данных: волновые числа (столбец 0) и спектры для каждого препарата (подматрица S). Для соблюдения общепринятых условностей транспонируйте спектры для каждого препарата, чтобы каждый столбец соответствовал независимой переменной.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
6. Задайте число главных компонентов, а также максимальное число итераций перед применением функции Nipals к данным. Функция Nipals центрирует данные путем вычитания среднего спектра из каждого столбца.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
7. Выберите восстанавливаемый спектр.
Нажать для копирования этого выражения
8. Извлеките количественные показатели и нагрузки из выходных данных функции Nipals.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
9. Используйте функцию среднего для вычисления среднего спектра.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
10. Оцените исходный спектр путем умножения матрицы векторов нагрузок на матрицу количественных показателей и добавления среднего спектра.
Нажать для копирования этого выражения
11. Постройте графики исходного и восстановленного спектров. Масштабируйте горизонтальные и вертикальные оси, чтобы получить приемлемые значения.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Все спектры хорошо представлены всего двумя главными компонентами, полученными в анализе главных компонентов.
12. Преобразуйте количественные показатели в две матрицы. Каждый столбец матрицы представляет количественные показатели одной из пяти дозировок препаратов.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
13. Постройте график зависимости количественных показателей первого фактора от количественных показателей второго фактора. Каждая дозировка показана различным цветом.
Нажать для копирования этого выражения
Налицо некоторое группирование данных, но все еще трудно отличить одну дозировку от другой. Возможно, поможет добавление к графику третьего показателя.
14. Используйте функцию Nipals2 для добавления четырех главных компонентов в модель с двумя главными компонентами.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Выходная матрица функции NIPALS2 имеет такую же форму, что и выходная матрица функции NIPALS, однако включает дополнительные столбцы и строки, соответствующие дополнительных главным компонентам. Теперь число количественных показателей и нагрузок увеличилось до шести.
15. Извлеките нагрузки и количественные показатели из матрицы NIPALS2 для создания новой модели выбранного спектра.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
16. Постройте график и сравните две модели выбранного спектра. Масштабируйте горизонтальные и вертикальные оси, чтобы получить приемлемые значения.
Нажать для копирования этого выражения
17. Извлеките кумулятивную дисперсию из NIPALS2.
Нажать для копирования этого выражения
18. Постройте график зависимости кумулятивной дисперсии от числа главных компонентов.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Хотя первые два главных компонента представляют 99 % дисперсии, однако именно третий главный компонент играет основную роль в группировании данных по дозировке. Анализ главных компонентов сжимает данные до уровня самых доминирующих, но не самых релевантных факторов.