?

Log in

No account? Create an account

Математический вопрос - Ваши рубидии уже у кобальта во ртути

Oct. 21st, 2016

09:13 pm - Математический вопрос

Previous Entry Share Next Entry

Найти линейную функцию, приближающую данную выпуклую функцию так, чтобы минимизировать абсолютную ошибку, довольно легко: заключаем график функции на данном отрезке в полосу, параллельную прямой, соединяющей концы отрезка графика функции, и берем середину полосы.
Например, найдем линейное приближение к x2 на отрезке [1;9].
Прямая, соединяющая концы: y=10x-9, она же верхняя граница полосы.
Нижняя граница - касательная к графику, паралелльная данной, это y=10x-25.
Середина между ними: y=10x-17.
К сожалению, получается, что в х=1 приближенное значение оказывается отрицательным, что нежелательно.

А как найти линейную функцию, минимизирующую относительную ошибку? Я туплю, или это действительно непросто?
Кроме описательных, принимаются также ответы, содержащие запросы к Wolfram alpha.

Comments:

[User Picture]
From:xaxam
Date:October 22nd, 2016 05:13 am (UTC)
(Link)
Даже в случае абсолютной ошибки приведённый ответ неверный. Пример: возьмём функцию у=х на отрезке (-1,1) и доопределим её нулём в концах отрезка (если хочется непрерывности, можно чуть-чуть поправить). Ваша конструкция даёт постоянную линейную функцию (константу, равную нулю), а правильный ответ у=(1/2)х.
(Reply) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 05:33 am (UTC)
(Link)
Прошу прощения, я имел в виду только выпуклые функции.
(Reply) (Parent) (Thread)
[User Picture]
From:xaxam
Date:October 22nd, 2016 05:54 am (UTC)
(Link)
Да, для выпуклых алгоритм правильный. Д-во (для себя): сделаем аффинное преобразование плоскости (х,у) -> (х, у+ах), не меняющее расстояний вдоль вертикальных прямых и сохраняющее выпуклость так, чтобы в концах отрезка функция приняла одинаковые значения. Тогда решение задачи очевидно (константа, "средняя линия").
(Reply) (Parent) (Thread)
From:ex_juan_gan
Date:October 22nd, 2016 07:48 pm (UTC)
(Link)
Но неверно.
(Reply) (Parent) (Thread)
From:ex_juan_gan
Date:October 22nd, 2016 05:16 am (UTC)
(Link)
Ну, МНК немножко не такой ответ дает. xaxam уже привел хороший контрпример.

Относительную ошибку - это надо брать логарифм, и аппроксимировать логарифмом же. Если функция пересекает ось, то хм.
(Reply) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 05:36 am (UTC)
(Link)
Если функция пересекает ось, то Лопиталь рулез.

Брать логарифм я уже пробовал. Вылезает Lambert W, и без вольфрамальфы не обойтись.
(Reply) (Parent) (Thread)
[User Picture]
From:xaxam
Date:October 22nd, 2016 01:44 pm (UTC)
(Link)
С точки зрения математики приближение в смысле относительной ошибки аффинной функцией выглядит довольно неестественно. Более естественный класс функций, - экспоненты. С другой стороны, условие выпуклости надо бы тогда заменить на логарифмическую выпуклость...

Но это всё пилосопия, конечно, если есть конкретный запрос. Просто не все конкретные задачи имеют красивые решения ;-) У меня в загашнике есть прелестная байка про то, как инженер допытывался у математика, как устроены конформные отображения многоугольника на полуплоскость.

(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 02:56 pm (UTC)
(Link)
С точки зрения математики приближение в смысле относительной ошибки аффинной функцией выглядит довольно неестественно.

Что, численные методы у нас уже не математика? :)

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

(Reply) (Parent) (Thread)
From:ex_juan_gan
Date:October 22nd, 2016 07:47 pm (UTC)
(Link)
Не математика, конечно.
(Reply) (Parent) (Thread)
[User Picture]
From:ny_quant
Date:October 22nd, 2016 08:32 pm (UTC)
(Link)
Напомню чтоб далеко не ходить про квадратурные формулы ГАУССового типа.

Когда мы проходили численные методы, господа победители международных олимпиад они же в будущем хорошие профессиональные математики решили коллективно снять пенсне на численную математику и сдать не готовясь. Всех троих И.П.Мысовских вынес с экзамена с двойкой.
(Reply) (Parent) (Thread)
From:ex_juan_gan
Date:October 22nd, 2016 08:41 pm (UTC)
(Link)
Он, наверно, прав в данном случае, но я бы не воспринимал Ивана Петровича как математика.
(Reply) (Parent) (Thread)
[User Picture]
From:ny_quant
Date:October 23rd, 2016 12:54 am (UTC)
(Link)
Как насчет Гаусса?
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 09:02 pm (UTC)
(Link)
Ой, прошу прощения, прикладная математика.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 09:11 pm (UTC)
(Link)
Что же инженеру было на самом деле нужно, интересно?
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 05:37 am (UTC)
(Link)
Рассмотрим только выпуклые функции.
(Reply) (Parent) (Thread)
[User Picture]
From:maksa
Date:October 22nd, 2016 07:44 am (UTC)
(Link)
Хм. Мне казалось, что прямая, соединяющая конца отрезка [1; 9], — это не y = 10x - 9, а у = 0. Может, имелось в виду «прямая, соединяющая концы графика функции на этом отрезке»?
(Reply) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 02:51 pm (UTC)
(Link)
Разумеется. :) Пост писался на телефоне, прошу прощения за неровный почерк.
(Reply) (Parent) (Thread)
From:ex_juan_gan
Date:October 22nd, 2016 07:46 pm (UTC)
(Link)
Не пойдет это все.
Начни с функции f(x) = x < 1 ? x : x < 2 ? 1 : 3 - x; на отрезке 0..3.

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

Относительная... там тоже интегралов всяких надо набрать, но какую формулу минимизировать, надо посмотреть.
(Reply) (Thread)
[User Picture]
From:spamsink
Date:October 22nd, 2016 09:10 pm (UTC)
(Link)
И что не так с этой функцией?

Обозначения l1 и l2 мне неизвестны.

Интегралы и МНК не при делах, задача другая.
(Reply) (Parent) (Thread)
[User Picture]
From:Anatoly Borodin
Date:October 22nd, 2016 11:31 pm (UTC)
(Link)
Минимизация L2 - это линейная регрессия/метод наименьших квадратов. Ну да, 3 интеграла и СЛИ с двумя неизвестными.

Edited at 2016-10-22 11:35 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:October 23rd, 2016 12:20 am (UTC)
(Link)
Метод наименьших квадратов дает результат, зависящий от дискретного набора данных, и интеграл даст результат, зависящий от формы кривой. Мне же надо совсем другое.
(Reply) (Parent) (Thread)
[User Picture]
From:Anatoly Borodin
Date:October 23rd, 2016 01:06 am (UTC)
(Link)
Кстати, раз пошла такая пьянка, то максимум абсолютного значения погрешности - это не L1, а Linf.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:October 23rd, 2016 01:14 am (UTC)
(Link)
Тоже не годится, потому что интересует только максимум расстояния от функции до аппроксиманты по вертикали, а не по любой координате.
(Reply) (Parent) (Thread)