2014 dxdy logo

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

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




 
 Приближение с помощью рядов
Сообщение25.06.2010, 22:43 
Посоветуйте как быть с такой проблемой:
Есть дискретные исходные данные,в виде зависимости y(x),
через равные промежутки аргумента.Ради простоты примем y(0)=0.
Нужно выразить функцию в виде ряда по степеням x.
Пробовал с помощью косинусного преобразования
(родственно многочленам Чебышева,
но аналитическую формулу наперед знать не нужно),
но понял что получается не так как хотелось бы.
График точно пройдет через все дискретные точки,
но между ними может иметь экстремумы и отклоняться
довольно сильно.Хочется получить кривую,
пусть не проходящую через точки,но выражающую общую тенденцию.
Чтобы поставить дополнительные условия - например на глаз видно
что не должно быть экстремумов и точек перегиба
(первая и вторая производные сохраняют знак).
И вместе с тем чтобы сумма среднеквадратичных отклонений
была минимальной,используя произвольное количество членов ряда.
Какие методы тут можно применить?

 
 
 
 Re: Приближение с помощью рядов
Сообщение25.06.2010, 22:47 
Аватара пользователя
МНК в чистом виде.

 
 
 
 Re: Приближение с помощью рядов
Сообщение26.06.2010, 10:00 
Аватара пользователя
Цитата:
Нужно выразить функцию в виде ряда по степеням x.
. В виде бесконечного ряда или в виде многочлена?

 
 
 
 Re: Приближение с помощью рядов
Сообщение26.06.2010, 11:11 
computer в сообщении #335234 писал(а):
Хочется получить кривую,
пусть не проходящую через точки,но выражающую общую тенденцию.
Чтобы поставить дополнительные условия - например на глаз видно
что не должно быть экстремумов и точек перегиба
(первая и вторая производные сохраняют знак).
И вместе с тем чтобы сумма среднеквадратичных отклонений
была минимальной,используя произвольное количество членов ряда.

Желания несколько противоречивы: чем больше членов, тем меньше шансов на то, что при минимальной сумме останется монотонность и выпуклость. В любом случае количество членов надо фиксировать. Это -- какая-то задача нелинейного программирования.

 
 
 
 Re: Приближение с помощью рядов
Сообщение26.06.2010, 11:23 
Модельно $y=\sqrt x$: налицо знакопостоянство функции и производных. Однако ряд ограничить трудно. Я бы (наивно) попробовал начать с $\Sum a_ix^{b_i}$, где $b_i$ пробегает что-то типа $1,\ 2,\ \dfrac12,\ 3,\ \dfrac13,\ \dfrac23,\ 4,\ \dfrac14,\ \dfrac34\ldots$. А $a_i$ вычислям по МНК.

 
 
 
 Re: Приближение с помощью рядов
Сообщение26.06.2010, 12:22 
Аватара пользователя
Если Вы будете функцию $y=\sqrt x$ интерполировать с равноотстоящими узлами многочленом, скажем, десятой степени, то получите сильно колеблющуюся функцию. Но если примените МНК, то аппроксимирующий многочлен 10-й степени будет выглядеть культурно.

 
 
 
 Re: Приближение с помощью рядов
Сообщение27.06.2010, 15:50 
Цитата:
В виде бесконечного ряда или в виде многочлена?

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

 
 
 
 Re: Приближение с помощью рядов
Сообщение27.06.2010, 16:44 
computer в сообщении #335234 писал(а):
например на глаз видно
что не должно быть экстремумов и точек перегиба
(первая и вторая производные сохраняют знак).
Составьте дискретный график первой производной (по двум соседним точкам), и второй производной (по трём соседним точкам). Увидите "самые плохие точки", провоцирующие лишние экстремумы. Их подправить, отбраковать, приписать меньший вес...
Как устроены сглаживающие сплайны --- не знаю, но слово такое есть.
Цитата:
И вместе с тем чтобы сумма среднеквадратичных отклонений была минимальной ...
Какие методы тут можно применить?
Какие, однако, сглаживающие сплайны, когда условие требует МНК в чистом виде?

 
 
 
 Re: Приближение с помощью рядов
Сообщение27.06.2010, 17:03 
Алексей К. в сообщении #335644 писал(а):
Как устроены сглаживающие сплайны --- не знаю, но слово такое есть.

Я тоже не помню. Однако сами по себе они не помогут -- там не накладываются требования типа выпуклости. Это просто обычные сплайны, только к условиям сшивания вместо условий интерполирования добавляется условие минимизации суммы квадратов отклонений.

Алексей К. в сообщении #335644 писал(а):
когда условие требует МНК в чистом виде?

В чистом -- это без допусловий, а тут хочется ещё и выпуклости.

 
 
 
 Re: Приближение с помощью рядов
Сообщение28.06.2010, 19:37 
Алексей К. в сообщении #335644 писал(а):
Как устроены сглаживающие сплайны --- не знаю, но слово такое есть.

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

-- Пн июн 28, 2010 20:41:27 --

ewert в сообщении #335653 писал(а):
В чистом -- это без допусловий, а тут хочется ещё и выпуклости.

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

 
 
 
 Re: Приближение с помощью рядов
Сообщение28.06.2010, 20:09 
computer в сообщении #335977 писал(а):
Сплайны обычно имеют в виду кубические,многочлены третьей степени.

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

computer в сообщении #335977 писал(а):
,их задача уравнять первую
и вторую производную по краям интервалов.

да что Вы говорите-то такое. Вовсе не по краям. И вовсе не обязательно вторую. Там совершенно другая идиология.

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


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