Как стать автором
Обновить
8
0

Пользователь

Отправить сообщение

Если не ошибаюсь, был взят Пример4 от туда. Завтра проверю.

Наверное, да. Здесь, хорошо видны изгибы и анализ первой (и второй) производной поможет с определением позиций максимумов 3-4 пиков.
Попробую объяснить, привлекая абстрактные и реальные примеры. С ходу вижу пару причин (необходимостей).
Необходимость №1.
Если ограничиться лишь условием минимизации ошибки между экспериментальным и расчетными сигналами, то, в зависимости от выбранной(ых) функции(й) могут получиться ситуации (Рис 1), когда расчетный сигнал (Th1 или Th2), вроде, и дает маленькую и приемлемую по своей величине ошибку (тут тоже возможны варианты, к примеру, что какая-то Thi будет очень точно попадать в экспериментальные точки, но между ними будет вести себя совсем не так, как «истинная» кривая. Или вариант, когда она не совсем попадает в экспериментальные точки, но попадает довольно близко, так, что разница — delta будет в пределах допустимой экспериментальной ошибки), но огибает точки не так, как это бы делала «истинная» кривая, соответствующая модели, которая описывает данный эксперимент. При этом неизбежно будут возникать бессмысленные минимумы и максимумы (вы ведь не требовали минимизации ошибки производных экспериментального и расчетного сигналов).
У физиков, химиков и т.д. задачей, как раз и является нахождение «истинной» кривой, пусть даже она даст большее (иногда даже очень большое) значение ошибки, чем абстрактная Thi, но в ней будет смысл, стоящей за ней физической или химической модели.
image
Рис. 1. Абстрактный пример, когда значения расчетной функция Th1 или Th2 довольно близки к экспериментальным значениям, но для них нет требования к близости их производных к производной экспериментального сигнала.

Теперь зайдем с конца и рассмотрим готовый результат фиттинга реальных экспериментальных данных (Рис 2 ) тремя кривыми: F1, F2 и F3, суперпозиция которых (F1+F2+F3) не только довольно близко подходит к экспериментальным точкам (абсолютная ошибка мала), но и весьма неплохо повторяет профиль экспериментальной кривой. Если бы вместо, полученной результате фиттинга кривой F1+F2+F3 у нас была бы кривая, типа Thi, полученная по алгоритму из Рис. 1, то было бы невозможно из Thi получить отдельные (главное осмысленные, т.е. отражающие реально происходящие физические процессы) F1, F2 и F3 кривые. У нас было бы много бессмысленных максимумов и минимумов, и совсем не факт, что хотя бы один из них, давал полезную информацию, как F1, F2 и F3.

image
Рис. 2. Пример фиттинга экспериментальных данных (синяя кривая) расчетной кривой (красный пунктир), которая является суперпозицией (суммой) трех функций (F1, F2 и F3). Каждая из которых имеет свой физический смысл и проявляется в ходе эксперимента.

Наложив условие ( и совсем не факт, что это есть достаточное условие) минимизации производных, мы сильно сузили выбор самих функций для фиттинга и довольно просто получили значения параметров каждой из их, Рис. 3.
image
Рис. 3. Пример фиттинга экспериментальной кривой тремя функциями. Расчетная функция и ее производная достаточно хорошо описывают детали исходного сигнала и его производной, соответственно (хотя и тут есть пространство для улучшения....).

Важно заметить, что полученный набор параметров является не единственным, который дает столь малую ошибку сигнала и его производной. Но это уже другая тема…

Необходимость 2
Допустим мы находимся на правой границе интервала и пытаем фиттингом найти «истинную» функцию. Если мы будем учитывать как изменялся не только сам экспериментальный сигнал (к примеру координату движения частицы), но и его производная (скорость или энергия), мы сможем лучше подобрать физически осмысленную функцию(и) и ее параметры для экстраполяции кривой за границу интервала, т.е. предсказать ее дальнейшую скорость и траекторию. Здесь, позвольте без доказательств и конкретных примеров. Уверен, что студент первого курса по естественным наукам поймет о чем речь.

Да, равномерности данных по оси Х, не было, были повторяющиеся значения, которые мешали расчету производной.
Алгоритмы сглаживания брал одни из простых, которые попадали под руку («Формулы линейного сглаживания по пяти точкам»).
Я понимаю, что это дополнительное требование вызывает подобного рода вопросы, т.к. обычно его не предъявляют в задачах аппроксимации. В тоже время меня искреннее удивляет, что для вы не видите реальной пользы от этого требования. Подскажу, ее научная польза — это не дальнейшее уменьшение ошибки между расчетным и экспериментальным сигналом, начиная с какого-то уровня ее дальнейшая минимизация будет уже бессмысленна.

Попробую пояснить, но уже завтра. Хотя, в принципе, все уже написано.

Замечу, что никто не пытается минимизировать суммуошибок «огурцов» и «бананов», они минимизируются отдельно друг от друга, пусть даже по одному принципу. Статей в серьезных научных рецензируемых журналах у меня достаточно :)
Когда положения максимумов известны, это не может не радовать. Бывает, что и в XPS (видел примеры, когда расшифровывали сигналы от разных атомов углерода (около 10 шт) не очень сложных органических молекул, адсорбированных на атомарно чистых определенных металлических поверхностях ) положения некоторых максимумов приходилось искать фиттингом, так как на оригинальном спектре их присутствие было крайне не просто заметить.
Большое спасибо, действительно, ошибка ранее считалась не так, как указано в формуле в тексте статьи. Исправил, перезалил на гитхаб. Абсолютная величина ошибки уменьшилась, прочих, сколь-либо существенных изменений нет.

Должен ли Ориджин учитывать производную при фитинге — не знаю, это вопрос к Ориджину.
Подумав на эту тему (нужно ли учитывать поведение производной при фиттинге или нет), могу сказать, что тут нужно не давать математико-статистическое обоснование, уточнить для чего нужно описывать экспериментальные данные той или иной теоретической зависимостью.
Если формально ставить задачу, таким образом: «на заданном промежутке подобрать такую функцию, чтобы ошибка была меньше допустимой величины». То, тут точно нет никаких требований на производную.
Если же в метрику добавить условие на минимизацию ошибки производной, то можно получить от расчетной функции нечто большее. К примеру из общефизических представлений, она будет лучше повторять контур оригинального сигнала, ценность (полезность) ее значений за пределами ранее заданного интервала может также возрасти.
Спасибо, у меня тоже сложилось уже давно, что сложный фиттинг, это не самая сильная сторона Ориджина.
Про Fityk не знал, спасибо, посмотрю.
Пытаясь описать один и своих экспериментальных сигналов тремя гауссианами в Ориджине, я был несколько удивлен, когда программа спросила меня, а где должны быть вершины (максимумы) этих пиков. Одной из задач фитинга, как раз и является их нахождение, а Ориджин пытается получить эту информацию от пользователя, чтобы потом применить один из своих алгоритмом для описания «веток». При этом получается полная ерунда.
image
А причиной тому, по моему, является тот факт, что Ориджин автоматически не учитывает в алгоритме мультифитинга требование к совпадению производных оригинального сигнала и глобальной расчетной функции.
Получается, что вроде, отличие расчетного сигнала (красная кривая на графике) от экспериментального не очень большие (Ориджин, как мог провел оптимизацию), но результат не тот, что надо.
Спасибо за ссылку. Нет, на прямую не пробовал. Хотя просматривается некая схожесть подхода. И не хотеться все описывать полиномами, каким ми бы хорошими они не были (см. лирическое отступление выше).
Такое встречается не только в IT. Бывает это и в других областях, когда начальство, не имея профессионального понимания о процессах решения тех или иных задач, начинает ставить задачи, выполнение которых в текущих условиях и за отведенное время не просто физически невозможно, попытки это сделать напрямую приведут в обозримом будущем лишь к большим проблемам, в которых ты и будешь назначен виновным.

Универсальных решений нет, вижу пару-тройку частных:
1. Плыть по течению. Делать как говорят, разгребать возникающие проблемы, хотя они и нарастают быстрее, чем решаются, не спорить с начальством. По опыту, так делают 90-95 % подчиненных.
2. Доказывать обоснованно начальству, что для решения поставленной задачи, нужно сперва сделать А, Б, В и т.д. Это сложный путь, но позволяет получить качественный результат с минимизацией возникновения побочных проблем. Так бывает очень редко, в менее чем 5 % случаем.
3. Становиться самому начальником и набрать такой коллектив и так организовать его работу, чтобы у тебя было больше сотрудников, которые идут по 2му пути, и эти 5 % превратились бы в 50-80%.
Так бывает на практике еще реже.
2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность