Использование гауссовых пиков для моделирования
-
redfermi2012
- Сообщения: 18
- Зарегистрирован: Вт июл 03, 2012 2:38 pm
Использование гауссовых пиков для моделирования
Здравствуйте!
Слышал об использовании перекрывающихся гауссовых пиков для моделирования, например, профилей элюции веществ (вычисленные для времен удерживание) или для рассчета чистых спектров веществ (используются сложное наложение нескольких гауссовых пиков). Не могли бы Вы подсказать как это делается (как ведутся расчеты) или подсказать литературу по данной теме?
Заранее благодарен за ответ.
Слышал об использовании перекрывающихся гауссовых пиков для моделирования, например, профилей элюции веществ (вычисленные для времен удерживание) или для рассчета чистых спектров веществ (используются сложное наложение нескольких гауссовых пиков). Не могли бы Вы подсказать как это делается (как ведутся расчеты) или подсказать литературу по данной теме?
Заранее благодарен за ответ.
-
Polychemist
- Сообщения: 9726
- Зарегистрирован: Вт дек 21, 2004 11:42 am
Re: Использование гауссовых пиков для моделирования
Origin, там несложно. Ну очевидно всякие там мат. монстры. Иксятники подтянутся - раскажут о бесплатных. И часто Лоренц лучше фиттит.
Re: Использование гауссовых пиков для моделирования
Литература: A.Felinger "Data Analysis and Signal Processing in Chromatography", Elsevier Science, 1998
Кроме Origin есть еще PeakFit и IgorPro. Что-то умеют и другие пакеты (Fityk, DataFit, etc.), но у меня не возникало необходимости пользоваться чем-либо, кроме Origin и PeakFit для решения подобных задач. Есть, конечно, реализации для "монстров" - как минимум, видел оную для Matlab-а. Насчет наличия бесплатных альтернатив со сравнимой функциональностью я не уверен.
И далеко не всегда пики можно хорошо описать "канонической" гауссианой. Впрочем, в книге у Фелингера вопрос рассмотрен весьма подробно.
Кроме Origin есть еще PeakFit и IgorPro. Что-то умеют и другие пакеты (Fityk, DataFit, etc.), но у меня не возникало необходимости пользоваться чем-либо, кроме Origin и PeakFit для решения подобных задач. Есть, конечно, реализации для "монстров" - как минимум, видел оную для Matlab-а. Насчет наличия бесплатных альтернатив со сравнимой функциональностью я не уверен.
И далеко не всегда пики можно хорошо описать "канонической" гауссианой. Впрочем, в книге у Фелингера вопрос рассмотрен весьма подробно.
Последний раз редактировалось bf109xxl Пн сен 24, 2012 11:24 pm, всего редактировалось 1 раз.
Re: Использование гауссовых пиков для моделирования
"Армяне лучше, чем грузины!" © АнекдотическоеPolychemist писал(а):И часто Лоренц лучше фиттит.
Вообще-то, выбор функции, описывающей хроматографический пик, должен определяться механизмом уширения, а не потому, что "лучше фиттит". Функций, описывающих хроматографические пики, довольно много - несколько десятков, пожалуй.
Вот ссылка на обзор: "Mathematical functions for the representation of chromatographic peaks"
Re: Использование гауссовых пиков для моделирования
Эволюционный факторный анализ (EFA) и его модификации (FSMW-EFA, E-EFA). Про EFA в хроматографии эти два небольших обзора. Программная реализация легко осуществима самостоятельно (если матричную алгебру мало-мальски знаете) в MatLab или его бесплатном линуксовом аналоге Octave. Есть уже написанная MCR-ALS (Рома Таулер):
Есть ли там обработка хроматограмм - не помню, но скорее всего есть, программа грамотная.
Но всё это только при условии спектральной регистрации процесса хроматографии.
Код: Выделить всё
http://www.mcrals.info/Но всё это только при условии спектральной регистрации процесса хроматографии.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Бог даёт лучшее тому, кто оставляет выбор за Ним
Re: Использование гауссовых пиков для моделирования
Один нюанс - EFA не требует применения Гауссовых или Лоренцовых функций. Там нужен набор спектров. В этом есть большой плюс, но из-за этого иногда при расчётах могут возникать некоторые минусы...
Бог даёт лучшее тому, кто оставляет выбор за Ним
Re: Использование гауссовых пиков для моделирования
...что делает данный метод куда менее привлекательным, т.к. его применимость будет весьма ограниченной. Эта вся хемометрика хорошо известна и давно описана в книжках - например, у Бреретона. Впрочем, в некоторых случаях может оказаться полезным. А вообще, в хроматографии форма пика бывает плохо воспроизводимой - я столкнулся с этим при попытке использовать разные модели для решения обратной задачи нахождения концентрационного профиля при ГПХ-разделении белков.C10H16 писал(а):Но всё это только при условии спектральной регистрации процесса хроматографии.
-
redfermi2012
- Сообщения: 18
- Зарегистрирован: Вт июл 03, 2012 2:38 pm
Re: Использование гауссовых пиков для моделирования
Спасибо за помощь! Просто прочитал две статьи:
http://rcs.chph.ras.ru/Tutorials/grey.htm
http://rcs.chph.ras.ru/Tutorials/mcr.htm
Особенно заинтересовала первая статья. Но весь вопрос возник из одной фразы:
. И где прочитать про это тоже не знаю
.
http://rcs.chph.ras.ru/Tutorials/grey.htm
http://rcs.chph.ras.ru/Tutorials/mcr.htm
Особенно заинтересовала первая статья. Но весь вопрос возник из одной фразы:
. В прилагающемся к статье файле, данные готовые есть, а откуда взяты и как просчитаны-ВОПРОСДля моделирования спектров использовались перекрывающиеся гауссовы пики, вычисленные для 53 условных длин волн
Последний раз редактировалось redfermi2012 Ср окт 03, 2012 12:12 pm, всего редактировалось 3 раза.
Re: Использование гауссовых пиков для моделирования
Там же все сказано: нужен "Chemometrics Add-In". Обратитесь к авторам, они обещают полную версию по запросу. Это как раз случай "хемометрический", когда доступны спектральные данные.
Правильно заданный вопрос - это большая экономия времени, однако.
Правильно заданный вопрос - это большая экономия времени, однако.
-
redfermi2012
- Сообщения: 18
- Зарегистрирован: Вт июл 03, 2012 2:38 pm
Re: Использование гауссовых пиков для моделирования
Это настройка не помогает для решения моего вопроса. Она нужна непосредственно для решения задач, которые описаны в статьях. А смоделированные спектральные данные относятся к исходным данным, как они берутся в этом и вопрос весь. Читал диссертацию автора статей, там тоже ничего такого не сказано и указанной настройки он в ней (в диссертации) при моделировании не использует.Там же все сказано: нужен "Chemometrics Add-In". Обратитесь к авторам, они обещают полную версию по запросу. Это как раз случай "хемометрический", когда доступны спектральные данные. Правильно заданный вопрос - это большая экономия времени, однако.
Re: Использование гауссовых пиков для моделирования
1. Можно задать вопрос автору по е-мейлу.redfermi2012 писал(а):как они берутся в этом и вопрос весь
2. Скорее всего, берется некая более-менее "правдоподобная" сумма гауссиан методом "от балды" - вручную или с использованием генератора псевдослуч.чисел "генерится" набор параметров пиков так, чтобы спектр был похож на настоящий. Важно лишь, чтобы количество пиков, их уширения и степени перекрытия были близки к реальным. Конкретные же цифири не столь важны. Ну, это мое такое личное мнение - скажем, я именно таким макаром делал тестовые данные для решения схожих задач (обратных некорректных), но без "хемометрики". Пиков в спектре немного, чистых компонентов тоже, посему соорудить таблицу с параметрами пиков и потом генерить спектр по ней элементарно. Единственное, я никогда не пользовался Екселем для этих целей.
-
redfermi2012
- Сообщения: 18
- Зарегистрирован: Вт июл 03, 2012 2:38 pm
Re: Использование гауссовых пиков для моделирования
Я тоже думал и думаю, что так делалось2. Скорее всего, берется некая более-менее "правдоподобная" сумма гауссиан методом "от балды" - вручную или с использованием генератора псевдослуч.чисел "генерится" набор параметров пиков так, чтобы спектр был похож на настоящий
А почитать где-нибудь подробнее про это можно?Ну, это мое такое личное мнение - скажем, я именно таким макаром делал тестовые данные для решения схожих задач (обратных некорректных), но без "хемометрики". Пиков в спектре немного, чистых компонентов тоже, посему соорудить таблицу с параметрами пиков и потом генерить спектр по ней элементарно. Единственное, я никогда не пользовался Екселем для этих целей.
Re: Использование гауссовых пиков для моделирования
"Про это" - про что именно?redfermi2012 писал(а): А почитать где-нибудь подробнее про это можно?
-
redfermi2012
- Сообщения: 18
- Зарегистрирован: Вт июл 03, 2012 2:38 pm
Re: Использование гауссовых пиков для моделирования
Про это-это про то как именно, например, Вы делали:"Про это" - про что именно?
Причем и без использования Екселя?тестовые данные для решения схожих задач (обратных некорректных), но без "хемометрики".
Литературный источник подскажите, если не сложно
Re: Использование гауссовых пиков для моделирования
<offtopic>
попса гложит мозги учёных
</offtopic>
redfermi2012 писал(а): В прилагающемся экселевском файле.
попса гложит мозги учёных
</offtopic>
Re: Использование гауссовых пиков для моделирования
Ну так я описал уже подробно. Что еще можно тут сказать? Ну, берете в том же Origin создаете таблицы параметров пиков (сдвиг x0, уширение w, экстенсивный параметр или площадь A, а фон y0 - его для тестов лучше брать нулевой, ИМХО) для каждого чистого компонента, можно оформить в виде "листов" (sheets) в одной "книге" (book), хотя я не люблю так из-за недоработанности доступа к "многолистовым" таблицам, потом используя функцию gauss() генерите в цикле по количеству пиков сумму гауссиан y_0, потом накладываете случайные флуктуации с заданным соотношением сигнал/шум SN, используя либо нормально распределенные значения (функция rand() ), либо по Пуассону (poisson() ):
y_noisy=y_0*(1+rand()/SN)
В случае гауссова распределения ошибки нужно что-то делать с отрицательными значениями - либо обрезать, либо обращать. Фильтрация элементарна:
y_noisy_flt=y_noisy<0?X:y_noisy, где X==0 или -y_noisy по желанию.
В Matlabe то же самое (даже еще проще), только создаете либо трехмерный массив "компонент - пик - параметры пика", либо набор двумерных массивов для каждого чистого компонента. И опять же в цикле элементарно суммируете гауссианы, накладывая потом тем же методом случайную компоненту.
Потом можно отфильтровать: y_noisy(y_noisy<0)=0; или y_noisy(y_noisy<0)=-y_noisy;
Я искренне не понимаю, что тут еще нужно читать? Или Вас интересуют методы решения обратных некорректных задач?
y_noisy=y_0*(1+rand()/SN)
В случае гауссова распределения ошибки нужно что-то делать с отрицательными значениями - либо обрезать, либо обращать. Фильтрация элементарна:
y_noisy_flt=y_noisy<0?X:y_noisy, где X==0 или -y_noisy по желанию.
В Matlabe то же самое (даже еще проще), только создаете либо трехмерный массив "компонент - пик - параметры пика", либо набор двумерных массивов для каждого чистого компонента. И опять же в цикле элементарно суммируете гауссианы, накладывая потом тем же методом случайную компоненту.
Потом можно отфильтровать: y_noisy(y_noisy<0)=0; или y_noisy(y_noisy<0)=-y_noisy;
Я искренне не понимаю, что тут еще нужно читать? Или Вас интересуют методы решения обратных некорректных задач?
Re: Использование гауссовых пиков для моделирования
Я, хоть и не юзаю Ексель, но все же считаю его неплохим и мощным инстрУментом для многих задач. Другое дело, что визуализация в нем хреноватая, плюс, отсутствуют многие функции для обработки данных, но эти функции нужны ну ооооочень малому количеству пользователей. Я предпочитаю Origin и Matlab: первый - за лаконичность LabTalk-а (несмотря на его эзотеричность), второй - просто за лаконичность и элегантность записи операций с массивами и матрицами. Но только вот в том же Origin'е доступ к данным по сравнению с Екселем сложнее, причем, я не нахожу эту сложность оправданной. К значению в ячейке таблицы можно доступиться несколькими разными способами, причем не все способы разрешают изменение значения. Мое мнение - перемудрили. Вместо логичного развития LabTalk'а предложили OriginC, писать на котором удобно только разработчикам, а вот обрабатывать данные - куда менее удобно, чем c LabTalk-ом в Script window. Вот и получается, что Origin - это орудие для вченого с большими запросами, ради которых стоит разбираться со сложным и громоздким "инструментом". А для большинства аналитиков Екселя будет вполне достаточно. Только бы использовали его возможности ширее. Надеюсь, в Екселе уже поправили глюки с некоторыми статистическими функциями. А то их бережно хранили как минимум до версии 2003.Cherep писал(а):<offtopic>
попса гложит мозги учёных
</offtopic>
ЗЫ. Локализованность имен функций в Екселе меня отпугнула от него враз и навсегда. Я не по-аглицки в компьютерных вопросах непонимэ.
Re: Использование гауссовых пиков для моделирования
<offtopic>
а лицензии есть?
на офис, на Origin и на Matlab:
</offtopic>
а лицензии есть?
на офис, на Origin и на Matlab:
</offtopic>
Re: Использование гауссовых пиков для моделирования
Есть. "Контора" платит. Ориджин 8.6 - корпоративка, с сервером лицензий, но на месяц можно "отдалживать" лицензию и работать без сервера. Матлаб 2012а - 10 или 12 лицензий на всю шарагу, поэтому ежели кто забывает завершить сеанс, ему товарищи строго указывают. Офис - 2010, корпоративный, еще лицензионная EndNote X5 (обещали вскорости апдейтнуть на X6, вроде). "Так чтааааа" © Первый "Гарант"Cherep писал(а):<offtopic>
а лицензии есть?
</offtopic>
Re: Использование гауссовых пиков для моделирования
PS мое дело напомнить, что оно не свободное, чтобы юные деятели науки не обольщались
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей