2014 dxdy logo

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

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


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


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Аппроксимация функцию с подошью МНК
Сообщение17.05.2011, 23:42 


17/05/10
29
Здравствуйте, мне нужно аппроксимировать функцию с подошью МНК, но я не как не могу разобраться в этот методе наименьших квадратов используя многочлены разных степеней(2-5).
Поиски статей успехом не увенчались, я нашел пару статей с исходным кодом на разных языках программирования или же статьи с линейной аппроксимацией, подскажите в чем состоит этот метод.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение18.05.2011, 15:29 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
Пусть $[a,b]$ - интервал аппроксимации, $f(x)$ - заданная функция. В МНК, применительно к вашему случаю, требуется так выбрать коэффициенты аппроксимирующего многочлена $y(x;a_0,a_1,...,a_n)=a_0+a_1x+a_2x^2+...+a_nx^n$, чтобы на интервале аппроксимации минимизаровалась сумма квадратов отклонений аппроксимирующей функции от исходной: $$\varepsilon(a_0,a_1,...,a_n)=\int\limits_a^b(f(x)-y(x;a_0,a_1,...,a_n))^2dx\rightarrow min$$ Минимизируемая величина является функцией $n+1$ переменных. Для определения набора переменных, соответствующих экстремуму, найдём её частные производные по всем переменным и приравняем к нулю, в результате получим систему уравнений: $$\frac {\partial \varepsilon} {\partial a_k}=\frac {\partial} {\partial a_k}\int\limits_a^b(f(x)-y(x;a_0,a_1,...,a_n))^2dx=0,k=0,...,n$$ или $$-2\int\limits_a^b(f(x)-y(x;a_0,a_1,...,a_n))\frac {\partial y(x;a_0,a_1,...,a_n)} {\partial a_k}dx=0,k=0,...,n$$ Так как $\frac {\partial y(x;a_0,a_1,...,a_n)} {\partial a_k}=x^k$, получим: $\int\limits_a^b(f(x)-y(x;a_0,a_1,...,a_n))x^kdx=0,k=0,...,n$. Подставив выражение для аппроксимирующего многочлена, получим СЛАУ относительно коэффициентов многочлена:$$a_0C_k+a_1C_{k+1}+...+a_nC_{k+n}=M_k,k=0,...,n$$ где $C_k=\int\limits_a^bx^kdx=\frac {b^{k+1}-a^{k+1}} {k+1}$, $M_k=\int\limits_a^bx^kf(x)dx$ - степенной момент функции. Решая полученную систему уравнений находим коэффициенты аппроксимирующей функции.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение18.05.2011, 15:39 
Заслуженный участник


11/05/08
32166
profrotter в сообщении #447214 писал(а):
$\int\limits_a^b(f(x)-y(x;a_0,a_1,...,a_n))x^kdx=0,k=0,...,n$.

Это, конечно, верно, но безо всяких дифференцирований: просто потому, что $\|f-y\|=\min\ \Leftrightarrow\ f-y\perp z$ для любого многочлена $z(x)$ степени не выше $n$.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение03.03.2012, 01:37 


03/03/12
4
А расскажите пожалуйста как решать в случае если функция зависит от двух переменных f(x,y)?

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение03.03.2012, 21:16 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
Пусть $x\in[x_1,x_2];y\in[y_1,y_2]$ - прямоугольная область, в которой выполняется аппроксимация, $f(x,y)$ - заданная функция, $f_a(x,y;a_0,a_2,...,a_{N-1})$ - аппроксимирующая функция переменных $x,y$ с параметрами $a_0,a_2,...,a_{N-1}$. Рассмотрим разность $$\Delta(x,y;a_0,a_2,...,a_{N-1})=f(x,y)-f_a(x,y;a_0,a_2,...,a_{N-1}).$$ Квадарат этой разности $\Delta^2(x,y;a_0,a_2,...,a_{N-1})$ всегда положителен и в качестве меры качества аппроксимации можно рассмотреть объём под этой поврехностью над областью $[x_1,x_2]\times[y_1,y_2]$: $$\varepsilon(a_0,a_2,...,a_{N-1})=\int\limits_{x_1}^{x_2}\int\limits_{y_1}^{y_2}\Delta^2(x,y;a_0,a_2,...,a_{N-1})dxdy$$ Чем меньше значение $\varepsilon$,тем меньше "разностный объём" и тем ближе аппроксимируемая и аппроксимирующая поверхности проходят друг к другу. Из необходимого условия экстремума получаем систему уравнений для коэффициентов аппроксимирующей функции: $$\frac {\partial \varepsilon}{\partial a_k}=0, k=0,...,N-1$$

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение03.03.2012, 21:39 
Заслуженный участник


11/05/08
32166
Kristiks в сообщении #544723 писал(а):
А расскажите пожалуйста как решать в случае если функция зависит от двух переменных f(x,y)?

Ровно так же. МНК ровно никак не зависит от природы аргументов модели -- числовые они, или векторные, или ещё какие. Единственно что возникают нюансы, связанные с корректностью задачки; но и они при естесвенно-разумной постановке задачи снимаются автоматически.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение04.03.2012, 17:58 


03/03/12
4
Спасибо большое, но в буквенном виде не очень понятно... Можете объяснить в числах?? Например x принимает значения 20; 25; 30; 40. y принимает значения 60; 85; 90; 100. z принимает значения 0.01; 0.02; 0,1; 0,3. А степень многочлена - 3.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение04.03.2012, 18:18 
Заслуженный участник


11/05/08
32166
Kristiks в сообщении #545243 писал(а):
А степень многочлена - 3.

Какого конкретно многочлена-то?...

Если зет от икс-игрек, то задача заведомо некорректна: безумно много базисных функций.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение04.03.2012, 18:25 


03/03/12
4
а как тогда можно аппроксимировать функцию зет от x и y, чтобы степень получаемой функции была 3?

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение04.03.2012, 18:29 
Заслуженный участник


11/05/08
32166
Это Ваша задача -- придумать, как. Но в любом случае количество параметров модели должно быть не больше, чем количество точек, по которым эта модель строится. Это условие не всегда достаточно, но оно всегда необходимо. У Вас же оно нарушается очень грубо.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение04.03.2012, 18:52 


03/03/12
4
А вы не помогли бы помочь решить эту задачу, если это условие будет выполняться?

-- 04.03.2012, 19:52 --


 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение05.03.2012, 15:47 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
Полагаю в Вашем случае следует минимизировать $$\varepsilon=\sum\limits_{n=0}^{N-1}\sum\limits_{k=0}^{K-1}(z_{nk}-f_a(x_n,y_k))^2$$ по коэффициентам аппроксимирующей функции. А аппроксимирующая функция в виде многочлена степени $M$ на $L$ в двумерии должно быть $$f_a(x,y)=\sum\limits_{m=0}^{M}\sum\limits_{l=0}^{L}a_{ml}x^my^l.$$ Теперь надо выражение для аппроксимирующего многочлена подставить в выражение для $\varepsilon$, взять частные производные по всем $a_{ml}$ и приравнять их к нулю. При этом получится большая СЛАУ, из которой эти коэффициенты и найдутся. Интересно было бы посмотреть на результаты такой аппроксимации.

Не могу порекомендовать книжек к сожалению. И сверить не с чем. Ну там ewert посмотрит, если что-то неверно - напишет. :mrgreen:

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение05.03.2012, 16:18 
Заслуженный участник


11/05/08
32166
profrotter в сообщении #545545 писал(а):
Интересно было бы посмотреть на результаты такой аппроксимации.

Да ничего интересного. Надо просто тупо составлять систему -- и решать. Формальный вид системы никак не зависит от природы "узлов" -- одномерные ли они, многомерные или вообще цветозапаховые. А вот корректной ли окажется эта системка или нет -- это уже зависит от ситуации.

Для начала я бы предложил подумать над совсем деццким вопросом -- пусть модель есть попросту линейная регрессия: $f(x,y)=a+bx+cy$. При каких наборах входных данных (т.е. наборах иксов, игреков и приближаемых зетов) задачка на МНК окажется корректной, а при каких -- нет?...

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение07.03.2012, 07:20 
Аватара пользователя


21/01/09
3925
Дивногорск
ewert в сообщении #545556 писал(а):
Для начала я бы предложил подумать над совсем деццким вопросом -- пусть модель есть попросту линейная регрессия: $f(x,y)=a+bx+cy$. При каких наборах входных данных (т.е. наборах иксов, игреков и приближаемых зетов) задачка на МНК окажется корректной, а при каких -- нет?...

Задача МНК корректна, если отклик зашумлен гауссовской помехой.

 Профиль  
                  
 
 Re: Аппроксимация функцию с подошью МНК
Сообщение07.03.2012, 09:37 
Заслуженный участник


11/05/08
32166
Александрович в сообщении #545946 писал(а):
Задача МНК корректна, если отклик зашумлен гауссовской помехой.

Речь шла не о статистической интерпретации, а просто о корректности системы уравнений (т.е. о единственности решения).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

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



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

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


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

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