2014 dxdy logo

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

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




 
 Аппроксимация эмпирических данных (y=a+bx^c, нелинейный МНК)
Сообщение28.01.2009, 16:08 
Уважаемые знатоки, прошу помочь с задачей.

Не могу вспомнить как решаются такого рода системы, и даже не могу понять где искать подобные задачи для такой аналитической зависимости ($y=a + b * x^c$). Хоть из системы на изображении (1) и выведены коэффициенты a, b и с - я не могу понять каким образом рассчитать их значения.

Я разобрался как рассчитывать коэффициенты для линейной зависимости ($y=a + b * x$) - составил систему линейных уравнений, рассчитал коэффициенты a и b методом Крамера. Также разобрался с ($y=a * x^b$) и с ($y=a + b * x + c * x^2$). Все получилось, задача аппроксимации была решена. Но вот в данном случае не могу понять каким образом ($y=a + b * x^c$) разложить в систему и как посчитать коэффициенты.

Как рассчитать коэффициенты a, b и с для аппроксимации данных аналитическим выражением вида ($y=a + b * x^c$) ?

Большая просьба писать максимально подробно, у меня довольно посредственные (к стыду своему) знания математики.

Заранее огромное спасибо!

Рисунок 1:
Изображение

 
 
 
 
Сообщение28.01.2009, 22:08 
Наша задача: $$f(a,b,c)=\sum_{i=1}^n(a+bx_i^c-y_i)^2 \rightarrow \min$$. Так как $a,b,c$ произвольны, то минимум может достигаться только в тех точках, в которых $f'_a=f'_b=f'_c=0$. Находя частные производные и приравнивая их нулю, получаем систему (50). Первые два уравнения линейны относительно $a,b$ и позволяют выразить их через $c$. Подставляя найденные соотношения в третье уравнение и решая его, находим $c$.

 
 
 
 
Сообщение28.01.2009, 23:50 
угу. А как его решать -- методом научного тыка?

Тоже метод, конечно. За неимением лучшего. И может даже проскочить. Но даже он не отменяет того факта, что на бумажке напечатан полнейший бардак, не имеющий ни малейшего математического смысла.

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

Можно, конечно, предположить, что на следующих страницах есть что-то разумное. Но, учитывая приведённую -- как-то сомнительно.

 
 
 
 
Сообщение29.01.2009, 00:13 
ewert писал(а):
Можно, конечно, предположить, что на следующих страницах есть что-то разумное. Но, учитывая приведённую -- как-то сомнительно.


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

Моя же забота (учебная работа, не коммерческая), на данный момент, воссоздать этот комплекс (большая часть уже работает) и автор методики требует полного соблюдения мат. обоснования. Т.е. если экспериментальные данные были описаны функцией ($y=a+b*x^c$), то так и должно быть. А именно с этой функцией я разобраться и не могу. Пожалуйста! Помогите...

2 Полосин. Т.е. нужно в третье уравнение системы подставить a и b? Я правильно понял? И что делать дальше? Как решать такое уравнение? Все больше вопросов.

Спасибо за ответы, надеюсь на дальнейшую помощь...

 
 
 
 
Сообщение29.01.2009, 00:55 
Обозначив $$g(c)=\sum_{i=1}^n x_i^c$$, $$h(c)=\sum_{i=1}^n y_ix_i^c$$, $$Y=\sum_{i=1}^ny_i$$, получим: $$a=\frac{Yg(2c)-g(c)h(c)}{n(g(2c)-g(c))}$$, $$b=\frac{h(c)-Y}{g(2c)-g(c)}$$, и третье уравнение приобретает вид: $$ag'(c)+bg'(2c)/2=h'(c)$$. Аналитически в общем случае это уравнение не решается. Если известна дополнительная информация о точках $(x_i,y_i)$, то можно попытаться построить асимптотическое/приближенное решение, используя различные оценки и методы суммирования.

 
 
 
 
Сообщение29.01.2009, 01:12 
Можно линеаризовать задачку. Заранее приблизительно определить значение $c\simeq c_0$.
Далее, заменить $x^c$ на $x^{c_0}(1+\Delta c \ln x)$. Минимизировать $f(a,b,d)=\sum (a+bx_i^{c_0}+d\ln x_i-y_i)^2$, где $d=b\Delta c$, что есть линейная задача. Определив $(a,b,d)$, затем $\Delta c=\frac bd$, затем заменить $c_0$ на $c_0+\Delta c$, и проделать следующую итерацию, и ещё, и ещё... уточняя на каждом шаге $c_0$. Ну, а если не будет сходиться --- звать спецов. Они репу почешут и скажут что-то типа "модель плохая", "первое приближение плохое", етц.

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group