2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение25.01.2020, 16:56 


02/07/19
52
По поводу результата.
Я подозреваю, что наши различия в выборе вектора для нормирования спектров, так как корреляция у нас достаточно близка.

Т.е. изначально у меня была матрица градуировочных спектров, которые нужно отнормировать на внутренний стандарт. Начальную величину внутреннего стандарта даёт прибор как площадь под фоном, заданную в диапазоне, указанном экспериментатором. Экспериментатор диапазон для поиска площади фона задает исходя из спектра примерно на глазок. Спектр я приводил здесь на форуме чуть выше. Фон образует арку, для которой левая граница точно не очень понятна. Диапазон у меня по шкале энергий где-то 16-35 кэВ. Т.е. начальные приближения вектора L для нормирования мне дал прибор, но хемометрика даёт возможности получать все данные из спектра точно, не обращаясь к прибору и мнению экспериментатора. Для этого исходную матрицу спектров для калибровки я разложил на главные компоненты и нашел матрицу нагрузок и счетов. Счета исходной калибровочной матрицы спектров можно связать через коэффициенты регрессии $b_L$ с начальными значениями L для нормирования. Т.е. для каждого нового спектра я могу вычислить его интенсивность внутреннего стандарта (в первом приближении) через умножение спектра (центрированного) на матрицу нагрузок и вектор коэффициентов $b_L$.
Как я писал, первое приближение для нормирования - оно не очень точное, изначально привязано к границам, выбранным экспериментатором, плюс в нем могут быть скрыты различные неучтенные ошибки, которые завязаны на алгоритм спектрометра.
Полная калибровка с помощью калибровочного набора спектров в следующие несколько действий
1. Считаем вектор нормирования $L=Tb_L$+L_{mean}
2. Нормируем калибровочную матрицу $X_n=\operatorname{diag}(L)^{-1}X$
3. Получаем через алгоритм PCA $P_n, T_n$ - матрицы для нормированного спектра
4. По PCR находим коэффициенты регрессии $b_n$ для связи счетов с концентрациями.
5. Нахожу по найденным $b_n$ расчетные значения концентраций.

Так как у меня известны $b_L$ для начального приближения, я с помощью градиентного спуска или Левенберга-Марквардта могу подобрать такие коэффициенты $b_L$, которые дадут минимальную ошибку между расчетными и аттестованными значениями.
У вас получились хорошие результаты, а я их просто уточнял.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение25.01.2020, 17:45 


07/10/15

2400
McConst в сообщении #1436870 писал(а):
ак как у меня известны $b_L$ для начального приближения, я с помощью градиентного спуска или Левенберга-Марквардта могу подобрать такие коэффициенты $b_L$, которые дадут минимальную ошибку между расчетными и аттестованными значениями


т.е. Вы просто подогнали решение под проверочные данные?

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение26.01.2020, 12:19 


02/07/19
52
Нет. Минимума между расчетом и аттестованными значениями добивался для калибровочных данных. Проверочные данные использовались только для поиска количества ГК по минимуму RMSE в предсказании, но в калибровке они не участвовали.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение26.01.2020, 19:28 


07/10/15

2400
Вообще, смысл нормировки спектров остаётся для меня весьма туманным. Правильно ли я McConst понимаю, что измерения в разных диапазонах спектра проводятся на разных интенсивностях, и нормировка преследует своей целью сделать его таким, каким он был бы, будучи полученным на одной и той же стандартной интенсивности для всех диапазонов спектра?
Если честно, я не совсем понимаю, зачем вообще уточнять $L$, если для заданной калибровки они не меняются? Ведь в итоге все они, всё равно, входят в коэффициенты калибровочного уравнения. На сколько изменятся $L$, на столько изменятся и $b$, а уравнение всё равно должно остаться тем же самым.
Понятно, что выбор $L$ сильно влияет на распределение главных компонент, а так как Вы используете только 17 компонент из 2047, то и уравнение для разных $L$ будет разным. Но непонятна сама цель уточнения $L$. Из представленных Вами данных следует, что в роли критерия качества нормировочных коэффициентов Вы рассматриваете точность их соответствия уравнению в главных компонентах, и после выполняемой Вами процедуры уточнения, $L$ соответствуют этому уравнению абсолютно точно. На каком основании Вы решили, что чем лучше нормировочные коэффициенты соответствуют какому то искусственному уравнению, тем такая нормировка будет более адекватной чем исходная?

Правильно ли я понимаю, что одним единственным уточнением Вы не ограничиваетесь. По полученным $b_L$ Вы уточняете $L$ и нормируете ими каждый раз исходные данные. Коэффициенты $b_L$ уточняете итеративно, с целью достижения минимальной ошибки на калибровочных данных? Т.е. Вы подбираете такие нормировочные коэффициенты, которые позволяют получить наиболее точное уравнение с 17 главными компонентами?
Но тогда $L$ это уже никакая не нормировка, а просто вспомогательные переменные, которые Вы вводите для повышения точности решения задачи. Физический смысл нормировочных коэффициентов они при этом утрачивают, правильно?

Правильно ли я понимаю, что Вы просто не знаете как лучше выбрать оптимальное сочетание из более чем 4 млн. исходных переменных, а PCA - всего лишь удобный способ решения данной проблемы и не более того?

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение27.01.2020, 00:09 


02/07/19
52
Цитата:
смысл нормировки спектров остаётся для меня весьма туманным.

Если снимать спектры в абсолютных единицах, тогда время и сила тока, на которых снимается спектр, должны быть константы для всего калибровочного набора и аналитических спектров. Такая калибровка не очень стабильна, так как сильно зависит от стабильности работы аппаратуры. Я не железячник, чтобы описать точно, но со временем рентгеновская лампа садится, датчик может работать более грубо, может сказываться дрейф температуры в помещении. И даже если в ПО я указываю один и тот же ток, через один два года он по факту может отличаться от того, что был изначально при калибровке. В автокатализаторах в силу строения их основы, на рентгеновских спектрах всегда есть "линия", которая может быть внутренним стандартом (в пределах некоторых допущений). Тогда при нормировании на внутренний стандарт, не зависимо от абсолютной интенсивности линий, все спектры имеют одинаковый масштаб. Калибровка с внутренним стандартом долговременна и воспроизводится по моим личным наблюдениям спустя 5 лет. Внутренний стандарт удобно даже практически использовать. Например, для точного анализа я снимаю один спектр 3 минуты. Чем дольше время снятия, тем выше абсолютная интенсивность. Калибровка выполняется в тех же условиях. Но если, например, есть необходимость быстро оценить предварительное содержание драгметаллов в образце, я могу снять спектр секунд за 15 и калибровка даст относительно корректный результат, не смотря на то, что время снятия спектра было меньше времени снятия при калибровке в 12 раз.

Цитата:
Правильно ли я McConst понимаю, что измерения в разных диапазонах спектра проводятся на разных интенсивностях, и нормировка преследует своей целью сделать его таким, каким он был бы, будучи полученным на одной и той же стандартной интенсивности для всех диапазонов спектра?

Нет. Бывают разные образцы. Одни достаточно прозрачны для рентгена - из лёгких элементов, другие - из тяжелых элементов - более контрастны. При большей контрастности за счет большей статистики линия становится чётче, выше чувствительность по отношении к фоновым шумам. Наш спектрометр для образцов из лёгких элементов позволяет за счет повышения тока добиться такой же контрастности, что и для образцов из тяжелых. Например, регистрировать 100 тыс. импульсов в секунду для спектров любых элементов. Но в таких случаях нормирование на внутренний стандарт необходимо.

Цитата:
я не совсем понимаю, зачем вообще уточнять $L$, если для заданной калибровки они не меняются?

Линия, на которую проводится нормирование, она имеет точно такие же свойства, что и линии, которые включены в многочлен для расчета концентрации и обладает всеми теми же недостатками - в ней кроется корреляция с другими интенсивностями. В некоторых вариантах анализа внутренний стандарт может перекрываться с аналитическими линиями. Но раз хемометрика справляется с этими проблемами, почему бы ей не поручить точный расчет интенсивности для нормирования? Прибор даёт площадь линии, как он может её рассчитать, но наверняка в координатах главных компонент нормирование будет более корректно.

На эту тему есть очень интересная статья. У автора спектральный метод в области ультрафиолета, но принципиальных от меня различий нет. Автор, как большинство химиков, хемометрику недооценил, так как пытался применять не ко всему спектру, а в силу традиции - только к интенсивностям разделенных линий (видно по списку его литературы). А вот сам подход к нормированию на внутренний стандарт использует как и я. Линию нормирования для спектра ищет методом градиентного спуска. В отличие от меня он в статье излагает всё чётко, без тумана и с указанием допущений метода.

Цитата:
Правильно ли я понимаю, что одним единственным уточнением Вы не ограничиваетесь. По полученным $b_L$ Вы уточняете $L$ и нормируете ими каждый раз исходные данные. Коэффициенты $b_L$ уточняете итеративно, с целью достижения минимальной ошибки на калибровочных данных?

Правильно.

Цитата:
Но тогда $L$ это уже никакая не нормировка, а просто вспомогательные переменные, которые Вы вводите для повышения точности решения задачи. Физический смысл нормировочных коэффициентов они при этом утрачивают, правильно?

Ну, вот автор статьи, на которую я привел ссылку, он считает, что смысл не утрачен и приводит аргументы. Я вместе с матрицами калибровке в файлах архива прикреплял файлы расчетного и исходного L. Цифры в L отличались, но на проценты - не глобально. То есть физический смысл коренным образом не утрачивался.
Да, было искушение использовать эти данные как просто уточняющие коэффициенты. На маленькой выборке можно подобрать коэффициенты так, чтобы предсказание в проверочном наборе было хорошее, но на большой выборке реальных образцов стабильность предсказания сильно страдает. Выбросы отличаются от МНК в 2-3 раза. При чем МНК в тех случаях явно не врал, так как я знал происхождение образцов и примерное содержание (по серийному номеру на глушителе). Возможно просто выборка маленькая и большим количеством параметров в PCR я нахожу ложный минимум.
Вообще, если тему хемометрического нормирования доведу до ума, то спектр можно будет расширять дополнительными переменными, в которые можно включать техническую информацию типа сила тока, температура в помещении, скорость счёта (импульсы в секунду) и т.д., а градиентный спуск даст оптимальные коэффициенты для нормирования. Есть статьи, где в качестве линии нормирования используются специальные линии от источника падающего рентгеновского излучения (некогерентного рассеяния). Хемометрический поиск линий мог бы дать оптимальные коэффициенты для нормирования одновременно и по внутреннему стандарту в образце, и по линии некогерентного рассеяния. При этом без особых изменений в принципе расчетов.

Цитата:
Правильно ли я понимаю, что Вы просто не знаете как лучше выбрать оптимальное сочетание из более чем 4 млн. исходных переменных, а PCA - всего лишь удобный способ решения данной проблемы и не более того?

В общем случае - да.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение27.01.2020, 11:00 
Аватара пользователя


07/03/16

3167
McConst в сообщении #1437072 писал(а):
В автокатализаторах в силу строения их основы, на рентгеновских спектрах всегда есть "линия", которая может быть внутренним стандартом

Простите за глупый вопрос (с рентгеном я дела не имел), но разве в самом приборе не предусмотрен образец для калибровки? Например, в спектрофотометрах таковой есть - стандарт белого цвета, обеспечивающий калибровку во всем диапазоне.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение27.01.2020, 13:30 


02/07/19
52
Есть образцы. Допускаю, что ваш стандарт белого цвета работает как и у нас. Существует дрейф шкалы длин волн туда-сюда. Чтобы правильно привязать каждому каналу полихроматора свою длину волны, снимают стандартный образец и по его линиям через квадратичное уравнение вычисляют длины волн, соответствующие каждому каналу во всем диапазоне работы полихроматора. Это калибровка шкалы.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение29.01.2020, 08:56 


07/10/15

2400
В общем обнаружилась причина плохой работы PCA. Возле канала №913 наблюдается очень больная внутригрупповая дисперсия данных. Т.е. большой разброс на одном и том же образце. В этом месте как раз самая большая линия спектра. Если этот участок спектра убрать - неоднородность, которая меня смущала исчезает. Похожее наблюдается вблизи канала 312, но значительно меньше.
Удалять участки спектра, конечно, не самая лучшая идея. Наверное нужна специальная нормировка или нелинейная трансформация. Есть ли у Вас McConst какие либо сведения о зависимости величины ошибки от величины спектра?

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение29.01.2020, 12:00 


02/07/19
52
Спасибо. Доберусь до прибора, посмотрю что там за линии и какие образцы. Попробую переснять спектр. Возможно, проблема во внешних факторах - с улицы иногда сквозняк идет, зимой критично. Было бы интересно узнать а как вы нашли? Строили графики счетов и нагрузок? Я в силу того, что темой владею слабо, обычно графиками пренебрегаю, работаю с тем, что удалось получить, или ищу проблему по каким нибудь другим признакам - вроде того, что интенсивность вдвое отличается в серии спектров, а потом выясняется, что прибор не в том режиме образец снят или сдвиг шкалы.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение29.01.2020, 13:18 


02/07/19
52
Посмотрел - 913 - это линия циркония. Цирконий на спектре чаще всего самый интенсивный компонент. И да, в основу некоторых автокатализаторов его не добавляют, вместо него бывает сильная линия стронция - около 819 канала. Чаще всего циркония много, а стронция раз в 5 меньше по интенсивности. Думаю, тут всё же с измерениями всё правильно, если только нет какого-нибудь нарушения линейности.
312 канал - это вторая из линий церия, первая около 280 канала. Керамические автокатализаторы делятся на две большие группы - на основе оксида алюминия, и на основе оксида церия. Т.е. диапазон изменения линий церия достаточно широк. А с учетом того, что мы часто измеряем не чистые катализаторы, а их смеси, там вообще может быть любое сочетание интенсивностей этих линий.
Даже не знаю как использовать эту информацию про внутригрупповую дисперсию данных. Если проблема в каком-то образце, можно попробовать её решить, но это нужно образец изучать и его спектр, а в целом, наверное для интенсивных линий разброс и должен быть в абсолютном значении больше чем для линий низкой интенсивности. Для PCA, у которого все интенсивности отсчитываются от центрального спектра разницы наверное нет, он считает что ошибка большая в обе стороны от центра?

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение29.01.2020, 16:50 


07/10/15

2400
McConst в сообщении #1437364 писал(а):
Если проблема в каком-то образце, можно попробовать её решить, но это нужно образец изучать и его спектр, а в целом, наверное для интенсивных линий разброс и должен быть в абсолютном значении больше чем для линий низкой интенсивности

Да я это проверял, удаление отдельных образцов ничего не даёт, а удаление части спектра все исправляет. Думаю да, как Вы и раньше писали, ошибка пропорциональна интенсивности линии. В PCA как и в МНК данные должны быть однородны, в том числе и ошибки. Из за этого он нормально не работает.

Самую лучшую модель, характеристики которой я представлял ранее, удалось улучшить ещё примерно на 50%, вот уравнение:
$$Pt=0.07-0.2 X_{372}+16 X_{547}+3.3 X_{548}+38 X_{643}-0.45 X_{732}-0.14  X_{820}-0.00053 X_{821}-0.24 X_{910}+0.18 {X_{910}}^2$$
сейчас у неё на проверочной выборке $R^2=0,994$. Смысла улучшать дальше наверное никакого нет. Всё же выборка небольшая, и выборочная ошибка даёт о себе знать. Да и для практики, наверное этого вполне достаточно.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение29.01.2020, 18:05 
Аватара пользователя


07/03/16

3167
Модель требует анализа.
Если $X_i$ - мощности линий спектра, то $X_0$ должна равняться нулю, положительные коэффициенты - с большой вероятностью относятся к линиям платины, а отрицательные - к линиям мешающих компонентов, имеющих в спектре линии, которые совпадают с линиями платины.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение30.01.2020, 05:58 


07/10/15

2400
Проверил ещё раз - последняя модель получилась очень хорошая. Единственный нюанс - число слагаемых в ней всё же подбиралось по проверочному набору. Но это в первом приближении допустимо. В конце концов McConst Вы и сами подбирали количество главных компонент точно таким же способом. Можно наверное, для чистоты эксперимента, подобрать и внутренний критерий, чтобы тестовый набор в настройке модели не использовался совсем.

Я всё это к тому, что наверное от регрессии на главные компоненты Вам лучше отказаться, с ней не получится построить такую хорошую модель. Выходит, что в спектре очень мало значимых параметров и лучше их как то отбирать. PCR использует все 2047 каналов, и даже оптимальное число главных компонент у Вас в 3 раза больше чем в этом уравнении. Понятно, что всяких нестабильностей и шумов в PCR будет тоже намного больше. Этот метод целесообразно использовать, когда имеется много значимых параметров или, когда они сильно сопряжены. У Вас нет ни того ни другого. Переход к смещённым оценкам Вам ничего не даст.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение30.01.2020, 21:41 


07/10/15

2400
Ну и по остальным металлам. Лучше всего получилась модель палладия, у неё $R^2=0,996$. Правда, в неё входит 32 линии спектра. С родием получилось хуже всего, для этой модели $R^2=0,989$ и в ней используется тоже всего 6 линий спектра. Вообще, она получилась весьма похожа на модель Pt. В этих 2-х моделях я не рассматривал перекрёстные произведения, а брал только линейные члены и квадраты. Вполне возможно, что учёт перекрёстных членов позволит дополнительно улучшить модель, хотя, в модели Pt все они оказались незначимыми.

К стати, ошибки у этих 3-х моделей коррелируют. Поэтому есть смысл строить общую модель, сразу для 3-х металлов, возможно, за счёт этого получится выиграть ещё пару десятых долей процента.

 Профиль  
                  
 
 Re: Регрессия на главные компоненты для анализа драгметаллов
Сообщение30.01.2020, 23:20 


02/07/19
52
Добрый день.
Только сейчас до компьютера добрался. Спасибо большое за помощь. В общем подход к решению задачи понятен. Подход про выбрасывание части спектра мне попадался, но было не понятно с чем он связан, а тут на реальном примере сам столкнулся. Спасибо, Andrey_Kireew, фактически ещё раз подтвердилось, что компоненты, не коррелирующие с концентрацией вносят дополнительную ошибку. Фактически, у вас получилось уравнение в стиле МНК. Загоню его в программу расчета, любопытно посмотреть какие оно результаты даст в сравнении с моим МНК.
Проверочный набор у меня так себе - маловат, плюс отбирал его из логики происхождения образцов и логика может давать сбой. Например, набор содержит узкий диапазон вариантов, который охватывает градуировка. Тогда набор будет излишне оптимистичным. Но тут не важно, главное понятен сам принцип.
А как вы отсеивали лишние компоненты? Строили графики счетов и нагрузок в разных координатах? Смотрели на группы выбросов? На матлабе наверное это сложно? Думаю, в Unscrambler такие графики проще делать, там под их построение уже все алгоритмы заточены. Вот, чувствую нехватку общения с опытными людьми, на форуме без реальных примеров правильного анализа данных в трёх словах вряд ли что-то объяснишь, тут именно опыт нужен.
Есть ещё один момент. В литературе, а я не так много её и читал, обычно после перехода в пространство латентных переменных все дальнейшие вычисления делаются в главных компонентах. Практически никто не делает пересчет обратно в координаты исходных переменных - в том виде, как уравнение дали мне вы. Хотя в исходных переменных вычислять значительно легче, чем хранить в памяти матрицы нагрузок. Такой пересчет я видел только однажды вот на этом сайте:
https://www.intuit.ru/studies/courses/3545/787/lecture/30339?page=8
Там коэффициенты для исходных переменных получены так же методом главных компонент. Но сама процедура перехода от ГК к исходным переменным мне так и осталась непонятна. Я как-то пробовал в таком же стиле решать задачу метода добавок в Главных Компонентах. Для одной ГК вручную разложил произведение матриц на многочлены и собрал коэффициенты. Достаточно кропотливая работа, требующая внимания. А вы эти коэффициенты собрали сразу по нескольким переменным из нескольких ГК. Это тоже есть в матлабе? Есть какой-то стандартный алгоритм перехода обратно к исходным переменным от латентных? Вообще реально там очень сложные выражения получаются. Я думаю, вы повыбрасывали малозначащие коэффициенты. Можете посоветовать ссылку на источники, где можно научиться таким приемам?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 76 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group