LINUX.ORG.RU
решено ФорумTalks

Nonlinear curve fitting

 


1

1

Привет, ЛОР! Чем сейчас под линуксом модно делать сабж? А то поиск по репам выдал только fityk, и он какой-то странный.

UPD: scipy rulez.

★★★★★

Последнее исправление: Axon (всего исправлений: 2)

Ну есть же wiki? qtiplot - для любителей мышиной возни, и какой нибудь scipy для всех остальных.

RCV ★★★★
()
Ответ на: комментарий от RCV

Ну есть же wiki?

Wiki холодна и безжизненна, а ЛОРовцы тëплые, живые, и уже перепробовали все варианты, и выбрали для меня самый удобный.

qtiplot - для любителей мышиной возни

Несмешная пародия на Origin.

scipy для всех остальных

Когда он научился фиттить?

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

Axon> Несмешная пародия на Origin.

Оно хотя бы имеет на порядок больше возможностей, чем этот кривой Origin. Вообще пишут, что умеют аппроксимацию кривых делать R и SciPy.

Вот так, например:

http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit....

http://www.slideshare.net/enthought/scientific-computing-with-python-webinar-...

Quasar ★★★★★
()

scipy.optimize.leastsq позволяет минимизировать систему уравнений, которые ты вычисляешь в своей функции, так что там может быть что угодно (в разумных пределах)

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

olegsov
()
Ответ на: комментарий от Quasar

Оно хотя бы имеет на порядок больше возможностей, чем этот кривой Origin.

Лол, вы явно не пробовали пользоваться и тем и другим.

Вообще пишут, что умеют аппроксимацию кривых делать R и SciPy.

Вот так, например:

О, годнота, спасибо. Буду смотреть.

Axon ★★★★★
() автор топика
Ответ на: комментарий от RCV

Когда он не умел?

Странно, но я специально искал, умеет ли он это, и не нашёл.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Sadler

Я разбираюсь со scipy, так как всё равно уже использую его для анализа своих данных, но за вариант спасибо.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

Axon> Лол, вы явно не пробовали пользоваться и тем и другим.

Qtiplot выруливает очень сильно за счёт поддержки Python. Origin по этой причине неимоверно сильно отстаёт по функциональности.

Quasar ★★★★★
()
Ответ на: комментарий от Axon

gnuplot, вообще говоря, очень хорош. И аппроксимацию делать он таки умеет. Только у него проблемы с поддержкой кириллицы до сих пор, а также формулы TeX как-то криво там поддерживаются...

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Qtiplot выруливает очень сильно за счёт поддержки Python.

Ну да, мы не написали половину функций, поэтому дали возможность сделать это пользователю. Нет, я не спорю, поддержка скриптинга - это круто, но выезжать на этом - не айс. К тому же, она есть только в платной версии.

gnuplot, вообще говоря, очень хорош.

Да с этим я не спорю.

И аппроксимацию делать он таки умеет.

Но там эта функциональность крайне убога и пользоваться ей неудобно.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

Все остальные элементарно не умеют подгонять правильно. Собственно говоря, в ROOT только это и нужно, ну и ещё деревья и гистограммы.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Все остальные элементарно не умеют подгонять правильно.

То есть? А что там не так?

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

В случае root используются алгоритмы минимизации и подгонки из paw/cernlib. В физике высоких энергий подгонке и работе с ошибками уделяли очень много внимания. Программа минимизации там очень навороченная и много раз проверенная.

Evgueni ★★★★★
()
Ответ на: комментарий от Axon

Постоянно натыкаюсь на функцию fit в нем, погугли.

h31 ★★★★
()
Ответ на: комментарий от Evgueni

Я же не физикой высоких энергий занимаюсь, мне за этой дельта вошью гоняться смысла нет.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

Ога, а потом удивляемся откуда у нас артефакты вылезают. Пользоваться следует правильными инструментами вне зависимости от...

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Ога, а потом удивляемся откуда у нас артефакты вылезают.

Да, блин, ну какие тут могут быть артефакты?

Axon ★★★★★
() автор топика

Спасибо RCV и Quasar, ткнувшим в scipy.optimize.curve_fit. Это то, что нужно.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

Ооо, на хвостах очевидно же. Как приписываются ошибки к бинам? Как оценивается ошибки подгонки? Нюансы именно в этом.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

Хвосты не будут нормально фиттиться, потому что там статистики нормальной нет, событий единицы.

Как приписываются ошибки к бинам? Как оценивается ошибки подгонки? Нюансы именно в этом.

Вы уверены, что эти нюансы на такой задаче имеют реальное значение?

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

А это зависит от того какие параметры подгонки тебе нужны. Если же у тебя модель, которая хвост описывает отдельно и тебе важны параметры именно хвоста, то это будет архиважно. Если же тебе нужна только ширина на полувысоте, то пофиг, чем и как подгоняешь, правда статошибка может быть неверной, точнее оптимистично заниженной.

Почему я к хвосту привязался — вся систематика (что гораздо сложнее оценивается чем статистика) сидит в хвостах!

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Evgueni

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

Почему я к хвосту привязался — вся систематика (что гораздо сложнее оценивается чем статистика) сидит в хвостах!

В моём случае хвосты, как раз, не особенно важны. Всё равно природа сверх высокоамплитудных ответов довольно спорная, а небольшую часть низкоамплитудных я просто теряю на фоне шума при автоматическом анализе. Мне тут интересна сама форма распределения.

Axon ★★★★★
() автор топика
Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от Axon

В смысле показать? А критерий? Хотя бы chi^2 посчитать нужно. Прям как в школе. Очевидно что, чем больше параметров подгонки — тем лучше подгоняется, так что chi^2 на число степеней свободы в студию.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Axon

Шум по хорошему нужно моделировать. А иначе ты с этого шума систематику набираешь.

Evgueni ★★★★★
()
Ответ на: комментарий от Axon

Совсем по серьёзному ищи СТАТИСТИКА ДЛЯ ФИЗИКОВ. Д. ХУДСОН

Evgueni ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.