Используйте функции 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 % дисперсии, однако именно третий главный компонент играет основную роль в группировании данных по дозировке. Анализ главных компонентов сжимает данные до уровня самых доминирующих, но не самых релевантных факторов.