Линейная аппроксимация комбинации линий по набору зашумленных точек
Постановка задачи
Рассмотрим задачу аппроксимации комбинации прямых линий по набору зашумленных координат точек, находящихся на данной комбинации линий (см. Рис. 1 и Рис. 2). Обычная формула линейной аппроксимации здесь не подойдет, так как точки перемешаны и результат будет некая усредненная линия между ними (см. Рис. 3).

Рис. 1 Комбинация линий и зашумленный набор координат

Рис. 2 Комбинация линий и зашумленный набор координат в увеличенном масштабе

Рис. 3 Результат линейной аппроксимации
Алгоритм
Единственный способ, который пришел в голову, это перебирать разные варианты линий. Т.е. перебираем все возможные углы, естественно на ограниченной сетке, от -90 градусов до +90 градусов (от -180 до 180 бессмысленно, т.к. линия симметрична относительно центра координат).
Таким образом, перебирая всевозможные варианты углов оцениваем тот угол наклона линии, при котором наибольшее количество точек находится на одинаковом расстоянии. Данный угол является искомым углом наклона линии, но он приблизительный, ввиду дискретности начального набора углов. Далее строим линейную аппроксимацию по полученному набору точек и получаем максимально приближенную аппроксимацию первой линии.
Для нахождения следующей линии, из рассмотрения убираются точки, использованные на предыдущем этапе. Таким образом, линия за линией, аппроксимируем все линии.
1. Набор рассматриваемых углов
На данном этапе необходимо разобраться какой набор углов будет перебираться. Зная особенности конкретной задачи можно подкорректировать данный набор углов, тем самым ускорив процесс детектирования линий. Так же можно учесть особенности угла наклона между линиями, то есть на каждом следующем шаге сужать диапазон перебираемых углов. В данной задаче будем использовать в лоб равномерный набор углов от -90 до 90 градусов с шагом 0.1 градуса.
2. Определение расстояния от точки до прямой
Для удобства перебора всевозможных вариантов линий, нам необходимо вывести формулу оценки кратчайшего расстояния от точки до линии.
Пусть уравнение линии и координаты точки, расстояние от которой измеряем, принимают следующие обозначения:
Тогда, так как кратчайшее расстояние от точки до линии это перпендикуляр к этой линии, получаем уравнение перпендикуляра, проходящего через заданную точку следующего вида:
Тогда, точка пересечения этих двух прямых:
Получаем расстояние от интересующей точки до точки пересечения:
3. Построение гистограммы расстояний
Если мы построим просто гистограмму расстояний, она будет малоинформативной, поэтому нам необходимо построить гистограмму по скользящему окну, таким образом она будет более плавной и результат мы получим с меньшей ошибкой (см. Рис. 4-6).
По построенной гистограмме определяем расстояние с максимальным количеством точек. По полученному набору максимального количества точек для каждого угла, строим зависимость количества точек и угла наклона линии (см. Рис. 7, 8). На Рис. 7 видно четких два пика, данные пики и есть углы наклона интересующих нас линий.

Рис. 4 Гистограмма расстояний (ошибочная линия)

Рис. 5 Гистограмма расстояний (правильная линия)

Рис. 6 Увеличенная гистограмма расстояний (правильная линия)

Рис. 7 Гистограмма распределения максимального количества равноудаленных точек в зависимости от угла наклона рассматриваемой линии (Шаг 1)

Рис. 8 Гистограмма распределения максимального количества равноудаленных точек в зависимости от угла наклона рассматриваемой линии (Шаг 2)
4. Построение линейной аппроксимации
Полученный из гистограммы угол наклона линии является неточным, так как он был получен на фиксированной сетке углов. Для получения более точного угла наклона и смещения интересующей линии, необходимо выполнить линейную аппроксимацию полученного набора точек по следующим формулам (см. Рис. 9 и Рис. 10):

Рис. 9 Результат аппроксимации первой линии

Рис. 10 Результат аппроксимации второй линии
Примеры использования
Приведем примеры распознавания линий на произвольных наборах точек (см. Рис 11-13).

Рис. 11 Результат работы на произвольной выборке точек

Рис. 12 Результат работы на произвольной выборке точек

Рис. 13 Результат работы на произвольной выборке точек
Вывод
С помощью приведенного алгоритма можно детектировать прямые линии с относительно высокой скоростью и определять их параметры (наклон и смещение). Количество линий при этом может быть неограниченное количество.
Для успешного детектирования линий, желательно чтобы точки были максимально сильно разбросаны по координатной системе, так как если все точки будут рядом, то при процедуре перехода детектирования от одной линии к другой, точки новой линии будут отброшены ввиду их близости к линии с предыдущей итерации.
Основная цель данной статьи увидеть взгляд со стороны, встречались ли у кого-либо подобные задачи и как вы их решали. Вдруг есть способы, которые в один проход умеют детектировать эти линии. Увидеть какие-нибудь интересные решения, которые можно будет использовать в других задачах.
Мо1ег, 8. 1)ахи С «Хцтег1са1 МейосЬ апс1 дойч аге'» С Ргеп1г:е-На11, 1988 С С Версия для вещественной арифметики одинарной точности. С С С С С С С С С А — КЕА1 С Нижний предел интегрирования. С В КЕА1. С Верхний предел интегрирования С Выходные параметры: С КЕБ1’1 Т вЂ” КЕА1 С Приближение к ингегралу 1. С Вычисляется с помощью 15-ТОЧЕ Ч НОГО П РАВИС ЛА КРОНРОДА 1КЕЯК), полученного оптимальным С добавлением абсцисс к 7-ТОЧЕЧНОМУ ПРАВИЛУ С ГАУССА (КЕМ). С С С С С С КЕВАВБ -КЕАЕ С Приближение к интегралу 3. С КЕ8АЯС вЂ” К ЕА1. С Приближение к интегралу для АВ8(Š— 1,/( — А)). С*»» ССЫЛКИ. Р1ЕББЕХ8 К ЕТ А1 111))АОРАСК- А 81 ВКОСЬ!Т11~Е С РАСКАС~Е РОК АЬТОМАТ1С 1ХТЕ(лКАТ1ОЧ~, С 8РК11~ОЕК, ВЕК1.1М, 1983 С ВЫЗЫВАЕМЫЕ ПОДПРОГРАММЫ: К1МАСН I’лава 5 КОНЕЦ ПРОЛОГА () К! 5 8(1ВКО()Т!ХЕ 9!Г)А(А,В,ЕРБ,К.Е,КЕ,!Н АО) НАЧАЛО ПРОЛОГА 010А Из книги: Р.
КаЬапег, С. Мо1сг, 8. Хачим «о!шпет(са! Ме!!1ойв апс! 8ойъагс» Ргспг(се-На!1, 1988 Описание параметров: А В ЕР8 (на входе) пределы интегрирования. (на входе) допустимая погрешность вычисления интеграла. чтобы получить точность до двух знаков, задайтс ЕРВ = .01, до трех знаков- ЕР8 = .001 и т.д. значение ЕР8 должно быть положительным, К (на выходе) наиболее точное из вычисленных программой 11!ПА значений вашего интеграла. Е (на выходе) оценка АВБ (интеграл — К). КЕ (на выходе) мера трудоемкости: количество вычислений вашей подынтегральной функции. КЕ всегда ке меньше ЗО.
1ЕЕА(з (на выходе) признак ошибки. Принимает значения: 0 Нормальное завершение, выполняются неравенсгва Е < ЕРВ и Е < ЕР8 е АВЯ(К). 1 Нормальное завершение, выполняются неравенства Е < ЕРБ, но Е > ЕР8~ АВБ(К). 2 Нормальное завершение, выполняются неравенства Е < ЕРБ ~ АВ8(К), но Е > ЕР8. 3 Нормальное завершение„но значение ЕР8 задано слишком малым, чтобы можно было удовлетворить требованиям абсолютной или относительной ДАТА НАПИСАНИЯ 821018 (ГГММДД) ДАТА ПЕРЕСМОТРА 870525 (ГГММДД) КАТЕГОРИЯ МО. Н2А1А1 КЛЮЧЕВЫЕ СЛОВА: адаптивная квадратура, автоматическая квадратура АВТОР: КАНА!ЧЕК О. К., 8С1ЕХТ1Г1С СОМР()Т1МСг Р1’Л81ОХ, ХВ8. НАЗНАЧЕНИЕ: 91ЭА находит приближение к одномерному интегралу для заданной пользователем подынтег ральной функции (простая в использовании программа).
ОПИСАНИЕ О10А вычисляет определенный интеграл для заданной пользователем функции одной переменной. с С с С С С С с с с с С С с с с с С с с с с С С с С С с с с С с С с с с с С С С с С С С с с Замечание. Если 1Г1.А(3 = 3, 4, 5 или 6, попробуйте вместо (~1РА воспользоваться Я11УАХ. Вы должны написать фортранную подпрограмму-функцию с именем Г, вычисляющую подынтегральную функцию. Обычно она выглядит так: ГГЧСТ1ОМ Г(Х) Е-(вычисление подынтегральной функции в точке Х) КЕТ1)КХ ЕМЭ погрешности.
4 Вычисления не завершены из-за больших ошибок округления. По-видимому, Е и К не далеки от истинных. 5 Вычисления не завершены из-за нехватки памяти. К и Е не далеки от истинных. 6 Вычисления не завершены из-за трудностей, вызванных слишком жесткими требованиями к погрешности. 7 Вычисления не завершены из-за того, что значение ЕРЯ задано с =0.0.
ИЛЛЮСТРИРУЮЩАЯ ПРОГРАММА А=00 В = 1.0 (ЗАДАНИЕ КОНЦОВ ОТРЕЗКА ИНТЕГРИРОВАНИЯ 10, Ц) ЕРЯ = 0.001 (ЗАДАНИЕ ДОПУСТИМОЙ ПОГРЕШНОСТИ) СА1.1. (~11УА (А,В,ЕРБ,К,Е,КЕ,1Г1 АС) ЕХ1:У Н1ХСТ1ОМ Г(Х) Е = 511’1(2.* Х) — Я 1КТ(Х) (НАПРИМЕР) КЕТ1)КХ Е1М1У ВЫХОДНЫЕ ДАННЫЕ ДЛЯ ЭТОГО ПРИМЕРА 0.0 1.0 .001 .041406750 .69077Š— 07 30 0 Замечание 1. Программа содержит небольшой элемент случайности. При нескольких последовательных обращениях к ней с одними и с С С с с с с С с с с с с с с с С с с С с с с с с с с С с с С С с с с с с с теми же входными параметрами результаты окажутся разными, по, как правило, близкими дру~ к другу.
Замечание 2. Программа предназначена для интегрирования по конечному отрезку. Поэтому входные параметры А и В должны быть вещественными числами из диапазона„который допустим на вашем компьютере. Если требуется произвести интегрирование по бесконечному отрезку, то задайте А или В или оба этих параметра такими, чтобы интеграл по отрезку [А, В) почти не отличался от интеграла по бесконечному отрезку. Здесь, однако, необходима осторожность. Например, чтобы проинтегрировать ЕХР( — Х*Х) по вещественной прямой, можно положить А = — 20., В = 20. или присвоить этим параметрам сходные значения, которые обеспечат хороший результат, Если вы выберете А = — 1.Е10 и В = + 1,Е10, то вы столкнетесь с двумя неприятными явлениями.
Во-первых, вы обязательно получите сообщение об ошибке из программы ЕХР, так как обращаться к ней придется при слишком малых значениях аргумента. Возможны и другие неприятности, например, произойдет исчезновение порядка. Во-вторых„даже если арифметика будет работать должным образом, О1РА, скорее всего, выдаст неверный результат, потому что по сравнению со столь большим отрезком интегрирования отрезок ( — 20., 201. который вносит основной вклад в значение интеграла.
почти «бесконечно мал», и вряд ли точки, в которых будет вычисляться подынтегральная функция, попадут в этот отрезок. Более гибкая программа О1РА представляет собой простой в использовании драйвер для другой программы (~1РАХ. (~1РАХ обладает по сравнению с О1РА дополнительными возможностями. Ссылки: нет ВЫЗЫВАЕМЫЕ ПОДПРОГРАММЫ: 01РАХ КОНЕЦ ПРОЛОГА Я1РА КЕА1 ЕСХСТ10)Х1 РСН(;1А(М.Х,Г,Р,А,В,1Е1хК) НАЧАЛО ПРОЛОГА РСНЯА ДАТА НАГ1ИСАНИЯ 870829 (ГГММДД) ДАТА ПЕРЕСМОТРА 870829 (ГГММДД) КАТЕГОРИЯ ХО. ЕЗ,Н2А2 КЛЮЧЕВЫЕ СЛОВА: простое в использовании эрмитово кубическое или сплайн-интегрирование, численное интегрирование, квадратура С*** АВТОР: КАНАХЕК 1Э К„(ХВК) С С С С С С*** НАЗНАЧЕНИЕ: РСНЯА вычисляет определенный интеграл для С кусочно-полиномиальной эрмитовой кубической С функции или сплайна по произвольному отрезку С (простая в использовании программа).
С*~* ОПИСАНИЕ 1ХТЕОЕК Х, 1ЕКК КЕА1. Х(Х), Г(Х), ЩХ), А, В С С С С С С С С С С С С С С С С С С С С С С С С С С С С С С С С С С С ЯС1ЕХТ1Г1С СОМР1)Т1ХС~ Е)171ЯОХ ХАТ10ХА1. ВБКЕАБ ОГ ЯТАХОАКОЯ КООМ А161, ТЕСНХО(.ОСУ ВШ1.ШХО ОА1ТНЕКЯВ1)КСх, МАКУ1 АМЭ, 20899 (301) 975-3808 РСНЯА: Кусочно-полиномиальное эрмитово ‘ кубическое или сплайн-интегрирование, произвольные пределы интегрирования, простота в использовании. Из книги: Р. КаЬапег, С, Мо1ег, Б.
Хаий «Хшпег)са1 МейосЬ апй Бочаге» Ргеп6се-На11, 1988 РСНЯА вычисляет по отрезку 1А, В1 определенный интеграл для кусочно-полиномиальной эрмитовой кубической функции или сплайна, заданных параметрами Х, Х, Г, В. Представляет собой простой в использовании драйвер для программы РСН1А Ф.Н. Фритча, описание которой приведено в указанной ниже работе (2). Программа обладает также другими возможностями, Обращение к подпрограмме: Ъ’А1Л.!Е = РСНЯА (Х, Х, Г, Р, А, В, 1ЕКК) Описание параметров: ЧАВ)Е-(на выходе) ЗНАЧЕНИЕ интеграла. — (на входе) число заданных точек.
(Сообщение об ошибке, если Х.1 Т.2.) -(на входе) вещественный массив значений независимой переменной. Элементы массива Х должны быть заданы в строго возрастающем порядке: Х(1 — 1) .1-Т. Х(1), 1 = 2(1) Х. (Сообщение об ошибке в противном случае.) 1ЕКК С*** ССЫЛКИ: 1. Г.Х. ГК1ТБСН, К,Е. САКЬБОХ, МОХОТОХЕ С С С С С С С С С КОНЕЦ ПРОЛОГА РСНЯА С С с С С с с с с С С С с С с С с С С С с С с с С с С с С С С С С С С с à — (на входе) вещественный массив значений функции.
Значение Г(1) соответствует Х(1). Π— (на входе) вещественный массив значений производной, Значение О(1) соответствует Х(1). А, В -(на входе) пределы интегрирования. Замечание. Здесь не требуется, чтобы отрезок (А, В) принадлежал отрезку (Х(1), Х(ХЦ. Однако если это не так, к результату нужно относиться с большой долей недоверия, — (на выходе) признак ошибки.
Нормальный выход: 1ЕКК = 0 (нет ошибок). Предупреждения: 1ЕКК = 1, если А не принадлежит отрезку (Х(1), Х(ХЦ. 1ЕКК = 2, если В не принадлежит отрезку (Х(1), Х(Х)1. 1ЕКК = 3, если выполняются оба вышеуказанных условия. (Отсюда следует, что либо отрезок [А, В | содержит отрезок (Х(1), Х(Х)3, либо эти отрезки не пересекаются.) Устранимые ошибки: 1ЕКК = — 1, если Х,ЬТ,2. 1ЕКК = — 3, если элементы массива Х заданы не в строго возрастающем порядке.
(В каждом из этих случаев интеграл не вычисляется.) Замечание, Проверка параметров осуществляется в указанном выше порядке; при обнаружении ошибки остальные параметры не проверяются. Р1ЕСЕ%1$Е С11В1С 1ХТЕКРО1.АТ1ОХ, $1АМ Я. ХБМЕК, АХА1.
17, 2 (АРК11. 1980), 238 — 24б 2. Г. Х. ГК1ТБСН, Р1ЕСЕ%1БЕ СБВ1С НЕКМ1ТЕ 1ХТЕКРОЬАТ1ОХ РАСКАБЕ, Г|ХАЬ ЯРЕС1. Г|САТ10ХБ, 1 АЮКЕХСЕ Ь|УЕКМОКЕ ХАТ1ОХА1. ЬАВОКАТОКЪ’, СОМРЬ1ТЕК РОС(3 МЕХТАТ1ОХ 13С11)-30194, А|АСЯТ 1982 ВЫЗЫВАЕМЫЕ ПОДПРОГРАММЫ: РСН1А Глава 6 Аппроксимация данных методом наименьших квадратов б.1. Введение Рассмотрим следующий эксперимент: воду прогоняют сквозь контейнер, в который добавлено некоторое количество краски. Через каждые несколько секунд измеряется концентрация ° краски в воде, вытекающей из контейнера.
Ожидается, что концентрация краски будет линейно уменьшаться со временем. Результаты измерений показаны на рис. б.!. Заметим, что точки данных не лежат на прямой линии. Это не так уж неожиданно. Измерительные приборы могут быть не совсем точными, может оказаться невозможным точно интерпретировать измерения, а смешивание может происходить не совсем так, как предсказано. Чтобы определить скорость, с которой убывает концентрация, экспериментатору следовало бы аппроксимировать данные прямой линией, которая в некотором смысле «наилучшим образом» аппроксимирует данные. На рис. б.! вычерчена одна из таких аппроксимаций. Ситуации такого типа встречаются весьма часто. Одна из причин, по которой требуется знать скорость смешивания, заключается в том, что 7.0 6.5 6.0 5.5 5.0 45 4,0 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0 0 1 2 3 4 5 6 7 8 8 10 !1 12 13 Рис.
6.1. Эксперимент с изменением концентрации. мы хотим уметь предсказывать, как будут протекать другие эксперименты. При других обстоятельствах нам может потребоваться смоделировать инфляцию в экономике, распространение эпидемии или рост населения страны. Когда данные «зашумлены», т. е. полны случайных ошибок, тогда аппроксимация данных простой функцией позволяет нам изучать тренды (тенденции изменения) в данных; зто называют сглаживанием.
Возможны две качественно различные причины, по которым требуется найти линию, аппроксимируюшую данные. (1) Скорость смешивания а необходима, например, чтобы определить, не перегружено ли оборудование для инжекции краски. (2) Аппроксимирующая линия необходима, чтобы предсказать концентрацию краски в моменты времени, для которых не проводилось измерений. В этом случае нас интересуют не столько значения а и р, сколько значения приближающей функции.
Если информации
о моделируемом объекте (процессе)
недостаточно или он настолько сложен
(имеет случайный характер), что невозможно
составить его детерминированную модель,
используют стохастические модели и
соответствующие экспериментально-статистические
методы.
На
практике весьма распространенной
является задача определения функции
(аналитической зависимости), которая
должна соответствовать некоторым
данным, полученным, например, при
проведении экспериментальных исследований.
При этом можно выделить два направления
приближения функции –
процесс интерполяции,
определяющий вид функции, совпадающей
с табличными данными, а также процесс
аппроксимации,
направленный на восстановление
функциональной зависимости по данным
эксперимента, возможно содержащего
ошибки. Аппроксимация при этом должна
обеспечивать оптимальное расположение
линии (поверхности для многофакторного
эксперимента) функции среди множества
экспериментальных точек, не обязательно
совпадающей с ними.
Простейшим
случаем интерполяции является определение
вида функции f(x)
одной переменной, проходящей через
заданные точки (xi,
yi),
т.е. f(xi)=yi
, i=1,…,N
(рис.19а).


y
y











x
x
а) б)
Рис.
19. Виды аппроксимации
Говорят,
что функция f
интерполирует
данные, и в
этом случае она называется интерполянтом,
или интерполирующей
функцией.
Как видно из графика, в зависимости от
способа интерполяции можно получить
различные интерполянты. Отсюда следует:
1)
данные (xi,
yi)
сами по себе не могут определить
интерполянт, и для фиксированного набора
данных существует бесконечное множество
интерполянтов;
2)
интерполяция может быть полезна только
в том случае, если данные не содержат
ошибок, если же, например, yi
содержит погрешности, данные необходимо
аппроксимировать как-то по-другому.
Наиболее
употребительным способом аппроксимации
данных, содержащих ошибки, является
метод наименьших квадратов. Он позволяет
определить вид функции с минимальной
суммой квадратов отклонений ее значений
от экспериментальных. На рис. 19б отражен
вариант такой функции при одномерной
линейной аппроксимации.
В общем случае
задача аппроксимации данных решается
для нелинейной функции многих переменных.
Так
как в реальном процессе всегда существуют
неуправляемые и неконтролируемые
переменные, результат эксперимента
есть случайная величина. Пусть, например,
требуется исследовать зависимость
y(x1,
x2,…xm),
причем величины y
и Х={x1,
x2,…xm}
измеряются в одних и тех же экспериментах.
Будем считать, что погрешность измерения
величин xj
пренебрежимо мала по сравнению с
погрешностью измерения величины y,
т.е. величины xj
измеряются точно, в то время как измерение
величины y
содержит случайные погрешности. Таким
образом, результаты эксперимента можно
рассматривать как выборочные значения
случайной величины (X),
зависящей от X
, как от параметра.
Регрессией
называют зависимость
![]()
условного математического ожидания
величины (X)
от переменной X
, т.е.
.
Задача регрессионного анализа состоит
в этом случае в восстановлении
функциональной зависимости
![]()
по результатам измерений (Xi,
yi),
i=1,2,…,
N.
Аппроксимируем неизвестную зависимость
![]()
при помощи заданной функции уравнения
регрессии
.
Это значит, что результаты измерений
можно представить в виде
,
где
![]()
–
неизвестные параметры регрессии, i
–
случайные величины, характеризующие
погрешности эксперимента. С учетом
разложения исследуемой зависимости в
ряд Тейлора в окрестности X0
и использования выборочных коэффициентов
![]()
как оценок теоретических (0=f(X0),
1=
f(X0)/
x1,…)
уравнение регрессии можно записать в
следующем общем виде [8]
,
(86)
где
b0
– свободный член уравнения регрессии;
bj
– линейные эффекты; bjj
–
квадратичные эффекты; bjk
— эффекты взаимодействия.
Коэффициенты
уравнения (86) определяются методом
наименьших квадратов из условия
,
(87)
где
N
– объем выборки.
Необходимым
условием минимума
![]()
является равенство нулю соответствующих
частных производных
,
,…
Тогда после преобразования получим
.
(88)
Система
(88) содержит столько же уравнений, сколько
неизвестных коэффициентов
![]()
входит в уравнение регрессии и называется
в математической статистике системой
нормальных уравнений.
Для решения системы (52) необходимо задать
конкретный вид функции
.
Линейная
регрессия одного параметра.
Определим по методу наименьших квадратов
коэффициенты линейного уравнения
.
Тогда с учетом
![]()
и
![]()
для системы (3) можно записать
или
.
(89)
Решая
данную систему относительно
![]()
и
,
получим при помощи определителей
следующие выражения:
,
.
Коэффициент
![]()
проще найти по известному
![]()
из первого уравнения системы (53)
![]()
, где
![]()
–
средние значения x
и y
(
).
Для
оценки силы линейной связи вычисляется
выборочный коэффициент корреляции r*
.
(89)
Чем
ближе r*
к единице, тем выше линейность зависимости
между x
и y.
Параболическая
регрессия одного параметра
определяется коэффициентами параболического
уравнения
.
Тогда для параболы второго порядка
система
нормальных уравнений (88) имеет вид

(90)
Аналогично
могут быть определены коэффициенты
![]()
для параболы любого порядка.
Трансцендентная
регрессия одного параметра
определяется коэффициентами уравнений
показательного
,
дробно-степенного типа
![]()
и др. Обычно трансцендентную регрессию
используют, чтобы уменьшить число
неопределенных коэффициентов, т.к. при
малых объемах выборки N
увеличение порядка полинома может
привести к росту остаточной дисперсии.
Вычисление коэффициентов трансцендентной
регрессии может оказаться весьма
трудоемким вследствие необходимости
решать систему нелинейных уравнений.
Вычисления можно упростить, если провести
замену переменных и линеаризовать
приведенные выше зависимости путем
логарифмирования:
|
|
|
|
|
|
|
Пусть |
Пусть |
|
|
|
Коэффициенты
![]()
или
![]()
определяются методом наименьших
квадратов, значения которых используются
для нахождения
.
Для
оценки силы (тесноты) нелинейной связи
(проведения корреляционного
анализа)
вычисляется корреляционное
отношение
,
(91)
где
f1=N–1,
f2=N–l
– числа степеней свободы; l
– число связей, наложенных на выборку
(для уравнения регрессии это число
определяемых коэффициентов
);

–
остаточная дисперсия;

— дисперсия относительно среднего.
Чем
больше ,
тем сильнее связь (01).
При =0
однозначное отсутствие связи между
случайными величинами возможно только
для нормального распределения. В случае
линейной регрессии (l=2)
корреляционное отношение равно
коэффициенту корреляции =|r*
|.
Множественная
регрессия
предполагает определение коэффициентов
(исследование корреляционной связи)
для многофакторного уравнения. Например,
для линейного случая уравнение
множественной регрессии имеет вид
.
Здесь, следовательно, требуется определить
не линию регрессии, а поверхность (m=2)
или гиперповерхность (m>2).
Статистический
анализ результатов (регрессионный
анализ)
проводится после определения уравнения
регрессии и включает: оценку адекватности
уравнения; проверку значимости всех
коэффициентов
![]()
в сравнении с ошибкой воспроизводимости;
расчет доверительных интервалов для
параметров модели
![]()
и выходной переменной
.
При
отсутствии параллельных опытов и,
следовательно, дисперсии воспроизводимости,
а также нормальном распределении
случайных величин yi
качество аппроксимации (адекватность)
можно оценить по критерию
Фишера
![]()
[4]. В данном случае он показывает, во
сколько раз уменьшается рассеяние
относительно полученного уравнения
регрессии по сравнению с рассеянием
относительно среднего. Чем больше
значение F
превышает табличное
![]()
для выбранного уровня вероятности
(значимости, надежности) p
(обычно
p=0.95)
и чисел
,
тем эффективнее уравнение регрессии.
При
одинаковом числе параллельных опытов
(каждый i-й
опыт с объемом выборки N
(
)
проводится U
раз
)
выборочные дисперсии

должны быть однородны. Последнее
выполняется если справедливо условие
Gmax<GpТАБ(N,U-1),
где GpТАБ(N,U–1)
– табличное значение критерия
Кохнера
при уровне значимости p;
;
![]()
–
максимальное значение выборочной
дисперсии. Для однородных выборочных
дисперсий рассчитываются дисперсия
воспроизводимости

и дисперсия адекватности
,
которые необходимы для определения
критерия Фишера
.
Если расчетное значение меньше табличного
,
то уравнение адекватно.
Оценка
значимости коэффициентов уравнения
регрессии проводится по критерию
Стьюдента
,
где
![]()
–
h-й
коэффициент уравнения;
![]()
–
среднее квадратичное отклонение h-го
коэффициента. Если
![]()
больше табличного
![]()
для выбранного уровня значимости p
и степени свободы f=N(U–1),
то коэффициент
![]()
значимо отличается от нуля. Незначимые
коэффициенты из уравнения исключаются
с последующим пересчетом оставшихся.
Чтобы не проводить повторных расчетов
модели, при отбрасывании (включении)
отдельных факторов применяют регрессионные
уравнения в форме ортогональных полиномов
(ортогональные многочлены Чебышева)
[4, 8]. Для уравнения регрессии
![]()
,
.
Определив
![]()
и табличные значения величины t
корня уравнения FN-2(
)=1–0.5,
функции распределения Стьюдента (t
– распределение) с N-2
степенями свободы можно найти доверительные
интервалы параметров модели
![]()
и доверительный коридор выходной
переменной
.
Для уравнения регрессии
![]()
получим
для
параметров
![]()
и
:
,
,
где
0,
1
–
половина ширины доверительного интервала
для
![]()
и
;
для
определения концов доверительных
интервалов (доверительной полосы или
коридора) выходной переменной
![]()
при каждом конкретном значении
![]()
(доказано, что доверительный интервал
накрывает истинное значение
![]()
с вероятностью 1-):
;
для
определения доверительной области всей
линии регрессии соответственно нижней
(left)
и верхней (right)
границ полосы:
,
где
![]()
–
корень уравнения F2,N-2(
)=1–;
F2,N-2(x)
– функция распределения Фишера (F
–
распределение) с 2 и N–2
степенями свободы.
Использование
модели
![]()
за пределами исследуемого диапазона
не обосновано.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Аппроксимацией (приближением) функции
называется нахождение такой функции
(аппроксимирующей функции), которая была бы близка заданной. Критерии близости функций
и
могут быть различные.
Основная задача аппроксимации — построение приближенной (аппроксимирующей) функции, в целом наиболее близко проходящей около данных точек или около данной непрерывной функции. Такая задача возникает при наличии погрешности в исходных данных (в этом случае нецелесообразно проводить функцию точно через все точки, как в интерполяций) или при желании получить упрощенное математическое описание сложной или неизвестной зависимости.

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

Здесь уi — заданные табличные значения функции; уiрасч — расчетные значения по аппроксимирующей функции; bi — весовые коэффициенты, учитывающие относительную важность i-и точки (увеличение b,. приводит при стремлении уменьшить R к уменьшению, прежде всего отклонения в i—й точке, так как это отклонение искусственно увеличено за счет относительно большого значения весового коэффициента).
Квадратичный критерий обладает рядом «хороших» свойств, таких, как дифференцируемость, обеспечение единственного решения задачи аппроксимации при полиномиальных аппроксимирующих функциях.
Другим распространенным критерием близости является следующий:
![]()
Этот критерий менее распространен в связи с аналитическими и вычислительными трудностями, связанными с отсутствием гладкости функции и ее дифференцируемости.
Выделяют две основные задачи:
1) получение аппроксимирующей функции, описывающей имеющиеся данные, с погрешностью не хуже заданной;
2) получение аппроксимирующей функции заданной структуры с наилучшей возможной погрешностью.
Чаще всего первая задача сводится ко второй перебором различных аппроксимирующих функций и последующим выбором наилучшей.
Метод наименьших квадратов
Метод базируется на применении в качестве критерия близости суммы квадратов отклонений заданных и расчетных значений. При заданной структуре аппроксимирующей функции уiрасч(х) необходимо таким образом подобрать параметры этой функции, чтобы получить наименьшее значение критерия близости, т.е. наилучшую аппроксимацию. Рассмотрим путь нахождения этих параметров на примере полиномиальной функции одной переменной:
Запишем выражение критерия аппроксимации при bi =1 (i=1, 2,…, n) для полиномиального уiрасч (х):

Искомые переменные аj можно найти из необходимого условия минимума R по этим переменным, т.е. dR / dар = 0 (для р =0, 1,2,…,k). Продифференцируем по ар (р — текущий индекс):

После очевидных преобразований (сокращение на два, раскрытие скобок, изменение порядка суммирования) получим

Перепишем последние равенства
![]()
Получилась система n+1 уравнений с таким же количеством неизвестных аj, причем линейная относительно этих переменных. Эта система называется системой нормальных уравнений. Из ее решения находятся параметры аj аппроксимирующей функции, обеспечивающие minR, т.е. наилучшее возможное квадратичное приближение. Зная коэффициенты, можно (если нужно) вычислить и величину R (например, для сравнения различных аппроксимирующих функций). Следует помнить, что при изменении даже одного значения исходных данных (или пары значений хi, уi, или одного из них) все коэффициенты изменят в общем случае свои значения, так как они полностью определяются исходными данными. Поэтому при повторении аппроксимации с несколько изменившимися данными (например, вследствие погрешностей измерения, помех, влияния неучтенных факторов и т.п.) получится другая аппроксимирующая функция, отличающаяся коэффициентами. Обратим внимание на то, что коэффициенты аj полинома находятся из решения системы уравнений, т.е. они связаны между собой. Это приводит к тому, что если какой-то коэффициент вследствие его малости захочется отбросить, придется пересчитывать заново оставшиеся. Можно рассчитать количественные оценки тесноты связи коэффициентов. Существует специальная теория планирования экспериментов, которая
позволяет обосновать и рассчитать значения хi, используемые для аппроксимации, чтобы получить заданные свойства коэффициентов (несвязанность, минимальная дисперсия коэффициентов и т.д.) или аппроксимирующей функции (равная точность описания реальной зависимости в различных направлениях, минимальная дисперсия предсказания значения функции и т.д.).

Рис. 3.7 Влияние степени аппроксимирующего полинома М на точность аппроксимации
В случае постановки другой задачи — найти аппроксимирующую функцию, обеспечивающую погрешность не хуже заданной, — необходимо подбирать и структуру этой функции. Эта задача значительно сложнее предыдущей (найти параметры аппроксимирующей функции заданной структуры, обеспечивающей наилучшую возможную погрешность) и решается в основном путем перебора различных функций и сравнения получающихся мер близости. Для примера на рис. 3.7 приведены для визуального сравнения исходная и аппроксимирующие функции с различной степенью полинома, т.е. функции с различной структурой. Не следует забывать, что с повышением точности аппроксимации растет и сложность функции (при полиномиальных аппроксимирующих функциях), что делает ее менее удобной при использовании.
Рассмотрим решение задачи аппроксимации и интерполяции с шумом в
программе MathCAD (рисунок 3.8).
Пример 3.1. В ходе проведения эксперимента были получены данные, представленные в таблице 3.1. Необходимо способом наименьших квадратов подобрать для заданных значений x и y квадратичную функцию
. Построить на одной координатной плоскости экспериментальные данные и аппроксимирующую функцию.
Таблица 3.1 Данные эксперимента
|
х |
80,5 |
77,0 |
70,8 |
56,7 |
39,7 |
29,9 |
|
у |
281 |
272 |
259 |
224 |
186 |
170 |
Решение. Для определения коэффициентов
квадратичной функции построим дополнительную таблицу 3.2.
Таблица 3.2 Дополнительная таблица
|
|
|
|
|
|
|
|
|
|
1 |
80,5 |
6480,25 |
521660,13 |
41993640,0625 |
281 |
22620,5 |
1820950,25 |
|
2 |
77 |
5929 |
456533 |
35153041,0000 |
272 |
20944 |
1612688,00 |
|
3 |
70,8 |
5012,64 |
354894,91 |
25126559,7696 |
259 |
18337,2 |
1298273,76 |
|
4 |
56,7 |
3214,89 |
182284,26 |
10335517,7121 |
224 |
12700,8 |
720135,36 |
|
5 |
39,7 |
1576,09 |
62570,773 |
2484059,6881 |
186 |
7384,2 |
293152,74 |
|
6 |
29,9 |
894,01 |
26730,899 |
799253,8801 |
170 |
5083 |
151981,70 |
|
Σ |
354,6 |
23106,88 |
1604673,972 |
115892072,1124 |
1392 |
87069,7 |
5897181,81 |
Строим систему уравнений

В нашем случае она будет иметь вид:

Из полученной системы уравнений находим ![]()
Искомая зависимость ![]()
Строим график экспериментальных данных и найденной зависимости.

Рис.3.8 Аппроксимация и интерполяция в задаче с помехами

Если требуется построить зависимость в виде показательной функции
, то необходимо составить систему:
(3.7)
Для этого строится таблица
|
|
|
|
|
|
|
1 |
||||
|
… |
… |
… |
… |
… |
|
n |
||||
|
Σ |
Из системы 3.7 находим коэффициенты
и
(необходимо выразить
).
Если требуется построить зависимость в виде степенной функции
, то составляется система:
(3.8)
Для этого строится таблица
|
|
|
|
|
|
|
1 |
||||
|
… |
… |
… |
… |
… |
|
n |
||||
|
Σ |
Из системы 3.8 находим коэффициенты
и
(необходимо выразить
).
Содержание
- Выполнение аппроксимации
- Способ 1: линейное сглаживание
- Способ 2: экспоненциальная аппроксимация
- Способ 3: логарифмическое сглаживание
- Способ 4: полиномиальное сглаживание
- Способ 5: степенное сглаживание
- Вопросы и ответы

Среди различных методов прогнозирования нельзя не выделить аппроксимацию. С её помощью можно производить приблизительные подсчеты и вычислять планируемые показатели, путем замены исходных объектов на более простые. В Экселе тоже существует возможность использования данного метода для прогнозирования и анализа. Давайте рассмотрим, как этот метод можно применить в указанной программе встроенными инструментами.
Выполнение аппроксимации
Наименование данного метода происходит от латинского слова proxima – «ближайшая» Именно приближение путем упрощения и сглаживания известных показателей, выстраивание их в тенденцию и является его основой. Но данный метод можно использовать не только для прогнозирования, но и для исследования уже имеющихся результатов. Ведь аппроксимация является, по сути, упрощением исходных данных, а упрощенный вариант исследовать легче.
Главный инструмент, с помощью которого проводится сглаживания в Excel – это построение линии тренда. Суть состоит в том, что на основе уже имеющихся показателей достраивается график функции на будущие периоды. Основное предназначение линии тренда, как не трудно догадаться, это составление прогнозов или выявление общей тенденции.
Но она может быть построена с применением одного из пяти видов аппроксимации:
- Линейной;
- Экспоненциальной;
- Логарифмической;
- Полиномиальной;
- Степенной.
Рассмотрим каждый из вариантов более подробно в отдельности.
Урок: Как построить линию тренда в Excel
Способ 1: линейное сглаживание
Прежде всего, давайте рассмотрим самый простой вариант аппроксимации, а именно с помощью линейной функции. На нем мы остановимся подробнее всего, так как изложим общие моменты характерные и для других способов, а именно построение графика и некоторые другие нюансы, на которых при рассмотрении последующих вариантов уже останавливаться не будем.
Прежде всего, построим график, на основании которого будем проводить процедуру сглаживания. Для построения графика возьмем таблицу, в которой помесячно указана себестоимость единицы продукции, производимой предприятием, и соответствующая прибыль в данном периоде. Графическая функция, которую мы построим, будет отображать зависимость увеличения прибыли от уменьшения себестоимости продукции.
- Для построения графика, прежде всего, выделяем столбцы «Себестоимость единицы продукции» и «Прибыль». После этого перемещаемся во вкладку «Вставка». Далее на ленте в блоке инструментов «Диаграммы» щелкаем по кнопке «Точечная». В открывшемся списке выбираем наименование «Точечная с гладкими кривыми и маркерами». Именно данный вид диаграмм наиболее подходит для работы с линией тренда, а значит, и для применения метода аппроксимации в Excel.
- График построен.
- Для добавления линии тренда выделяем его кликом правой кнопки мыши. Появляется контекстное меню. Выбираем в нем пункт «Добавить линию тренда…».
Существует ещё один вариант её добавления. В дополнительной группе вкладок на ленте «Работа с диаграммами» перемещаемся во вкладку «Макет». Далее в блоке инструментов «Анализ» щелкаем по кнопке «Линия тренда». Открывается список. Так как нам нужно применить линейную аппроксимацию, то из представленных позиций выбираем «Линейное приближение».
- Если же вы выбрали все-таки первый вариант действий с добавлением через контекстное меню, то откроется окно формата.
В блоке параметров «Построение линии тренда (аппроксимация и сглаживание)» устанавливаем переключатель в позицию «Линейная».
При желании можно установить галочку около позиции «Показывать уравнение на диаграмме». После этого на диаграмме будет отображаться уравнение сглаживающей функции.Также в нашем случае для сравнения различных вариантов аппроксимации важно установить галочку около пункта «Поместить на диаграмму величину достоверной аппроксимации (R^2)». Данный показатель может варьироваться от 0 до 1. Чем он выше, тем аппроксимация качественнее (достовернее). Считается, что при величине данного показателя 0,85 и выше сглаживание можно считать достоверным, а если показатель ниже, то – нет.

После того, как провели все вышеуказанные настройки. Жмем на кнопку «Закрыть», размещенную в нижней части окна.
- Как видим, на графике линия тренда построена. При линейной аппроксимации она обозначается черной прямой полосой. Указанный вид сглаживания можно применять в наиболее простых случаях, когда данные изменяются довольно быстро и зависимость значения функции от аргумента очевидна.





Сглаживание, которое используется в данном случае, описывается следующей формулой:
y=ax+b
В конкретно нашем случае формула принимает такой вид:
y=-0,1156x+72,255
Величина достоверности аппроксимации у нас равна 0,9418, что является довольно приемлемым итогом, характеризующим сглаживание, как достоверное.
Способ 2: экспоненциальная аппроксимация
Теперь давайте рассмотрим экспоненциальный тип аппроксимации в Эксель.
- Для того, чтобы изменить тип линии тренда, выделяем её кликом правой кнопки мыши и в раскрывшемся меню выбираем пункт «Формат линии тренда…».
- После этого запускается уже знакомое нам окно формата. В блоке выбора типа аппроксимации устанавливаем переключатель в положение «Экспоненциальная». Остальные настройки оставим такими же, как и в первом случае. Щелкаем по кнопке «Закрыть».
- После этого линия тренда будет построена на графике. Как видим, при использовании данного метода она имеет несколько изогнутую форму. При этом уровень достоверности равен 0,9592, что выше, чем при использовании линейной аппроксимации. Экспоненциальный метод лучше всего использовать в том случае, когда сначала значения быстро изменяются, а потом принимают сбалансированную форму.



Общий вид функции сглаживания при этом такой:
y=be^x
где e – это основание натурального логарифма.
В конкретно нашем случае формула приняла следующую форму:
y=6282,7*e^(-0,012*x)
Способ 3: логарифмическое сглаживание
Теперь настала очередь рассмотреть метод логарифмической аппроксимации.
- Тем же способом, что и в предыдущий раз через контекстное меню запускаем окно формата линии тренда. Устанавливаем переключатель в позицию «Логарифмическая» и жмем на кнопку «Закрыть».
- Происходит процедура построения линии тренда с логарифмической аппроксимацией. Как и в предыдущем случае, такой вариант лучше использовать тогда, когда изначально данные быстро изменяются, а потом принимают сбалансированный вид. Как видим, уровень достоверности равен 0,946. Это выше, чем при использовании линейного метода, но ниже, чем качество линии тренда при экспоненциальном сглаживании.


В общем виде формула сглаживания выглядит так:
y=a*ln(x)+b
где ln – это величина натурального логарифма. Отсюда и наименование метода.
В нашем случае формула принимает следующий вид:
y=-62,81ln(x)+404,96
Способ 4: полиномиальное сглаживание
Настал черед рассмотреть метод полиномиального сглаживания.
- Переходим в окно формата линии тренда, как уже делали не раз. В блоке «Построение линии тренда» устанавливаем переключатель в позицию «Полиномиальная». Справа от данного пункта расположено поле «Степень». При выборе значения «Полиномиальная» оно становится активным. Здесь можно указать любое степенное значение от 2 (установлено по умолчанию) до 6. Данный показатель определяет число максимумов и минимумов функции. При установке полинома второй степени описывается только один максимум, а при установке полинома шестой степени может быть описано до пяти максимумов. Для начала оставим настройки по умолчанию, то есть, укажем вторую степень. Остальные настройки оставляем такими же, какими мы выставляли их в предыдущих способах. Жмем на кнопку «Закрыть».
- Линия тренда с использованием данного метода построена. Как видим, она ещё более изогнута, чем при использовании экспоненциальной аппроксимации. Уровень достоверности выше, чем при любом из использованных ранее способов, и составляет 0,9724.
Данный метод наиболее успешно можно применять в том случае, если данные носят постоянно изменчивый характер. Функция, описывающая данный вид сглаживания, выглядит таким образом:
y=a1+a1*x+a2*x^2+…+an*x^nВ нашем случае формула приняла такой вид:
y=0,0015*x^2-1,7202*x+507,01 - Теперь давайте изменим степень полиномов, чтобы увидеть, будет ли отличаться результат. Возвращаемся в окно формата. Тип аппроксимации оставляем полиномиальным, но напротив него в окне степени устанавливаем максимально возможное значение – 6.
- Как видим, после этого наша линия тренда приняла форму ярко выраженной кривой, у которой число максимумов равно шести. Уровень достоверности повысился ещё больше, составив 0,9844.



Формула, которая описывает данный тип сглаживания, приняла следующий вид:
y=8E-08x^6-0,0003x^5+0,3725x^4-269,33x^3+109525x^2-2E+07x+2E+09
Способ 5: степенное сглаживание
В завершении рассмотрим метод степенной аппроксимации в Excel.
- Перемещаемся в окно «Формат линии тренда». Устанавливаем переключатель вида сглаживания в позицию «Степенная». Показ уравнения и уровня достоверности, как всегда, оставляем включенными. Жмем на кнопку «Закрыть».
- Программа формирует линию тренда. Как видим, в нашем случае она представляет собой линию с небольшим изгибом. Уровень достоверности равен 0,9618, что является довольно высоким показателем. Из всех вышеописанных способов уровень достоверности был выше только при использовании полиномиального метода.


Данный способ эффективно используется в случаях интенсивного изменения данных функции. Важно учесть, что этот вариант применим только при условии, что функция и аргумент не принимают отрицательных или нулевых значений.
Общая формула, описывающая данный метод имеет такой вид:
y=bx^n
В конкретно нашем случае она выглядит так:
y = 6E+18x^(-6,512)
Как видим, при использовании конкретных данных, которые мы применяли для примера, наибольший уровень достоверности показал метод полиномиальной аппроксимации с полиномом в шестой степени (0,9844), наименьший уровень достоверности у линейного метода (0,9418). Но это совсем не значит, что такая же тенденция будет при использовании других примеров. Нет, уровень эффективности у приведенных выше методов может значительно отличаться, в зависимости от конкретного вида функции, для которой будет строиться линия тренда. Поэтому, если для этой функции выбранный метод наиболее эффективен, то это совсем не означает, что он также будет оптимальным и в другой ситуации.
Если вы пока не можете сразу определить, основываясь на вышеприведенных рекомендациях, какой вид аппроксимации подойдет конкретно в вашем случае, то есть смысл попробовать все методы. После построения линии тренда и просмотра её уровня достоверности можно будет выбрать оптимальный вариант.
Построить аппроксимацию входных данных с учётом их погрешностей
04.03.2021, 02:16. Показов 687. Ответов 9
Доброго времени суток!
Имеется набор данных, условно, х и у. Все данные сняты экспериментально, поэтому имеют как инструментальную, так и случайную погрешность, которые оценочными (немного кустарными, но не суть) формулами сводятся к общему понятию «погрешность величины х» или «погрешность величины у».
Для каждой точки набора данных погрешность своя (причём и по х, и по у).
Пример такого набора , а так же график (рис.1), который, возможно, прояснит ситуацию лучше:
| Matlab M | ||
|
В данном случае, конечно, генерация данных произведена искусственно с помощью кода, а не снята ручками в лаборатории 
Итак, после того, как описаны начальные условия задачи, переходим к сути вопроса.
Необходимо построить аппроксимацию данных с учётом их погрешностей.
То есть, например, известно, что данные в теории ложатся на кривую, описываемую функцией: f(x) = a/x + b. Или, например, строится калибровочная кривая при помощи полинома (рис.2). Все эти построения производятся с помощью аппроксимации заданного набора какой-то заданной функцией.
Лично я делаю это в cftool. Но, к сожалению, он делает это по МНК. А в этот метод никак (как я смог понять) нельзя передать погрешности измерений, только измерения. При этом манящий раздел параметров weights — всего лишь возможность после первой аппроксимации минимизировать сумму вида:
Загнав во второй проход в графу weights вектор W.
(источник: https://www.mathworks.com/supp… ion&page=1)
То есть никакого обозримого учёта погрешности исходных данных нет, что влияет на выдаваемую матлабом погрешность вычисления параметров a и b или погрешность определённых по калибровочной кривой данных.
Соответственно, стоит вопрос — как учесть погрешность исходных данных при построении аппроксимационной модели?
И теперь коротко для тех, кто потерялся:
1. Есть данные x, y определённые с погрешностью.
2. Нужно построить аппроксимацию какой-то заданной функцией f(x) этих y и х.
3. Как при аппроксимации учесть погрешность исходных данных?
P.S.: Если это делается какой-то одной командой или чем-то красивым, как cftool, то будет вообще здорово 
Миниатюры
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
From Wikipedia, the free encyclopedia
Stochastic approximation methods are a family of iterative methods typically used for root-finding problems or for optimization problems. The recursive update rules of stochastic approximation methods can be used, among other things, for solving linear systems when the collected data is corrupted by noise, or for approximating extreme values of functions which cannot be computed directly, but only estimated via noisy observations.
In a nutshell, stochastic approximation algorithms deal with a function of the form
which is the expected value of a function depending on a random variable . The goal is to recover properties of such a function
without evaluating it directly. Instead, stochastic approximation algorithms use random samples of
to efficiently approximate properties of
such as zeros or extrema.
Recently, stochastic approximations have found extensive applications in the fields of statistics and machine learning, especially in settings with big data. These applications range from stochastic optimization methods and algorithms, to online forms of the EM algorithm, reinforcement learning via temporal differences, and deep learning, and others.[1]
Stochastic approximation algorithms have also been used in the social sciences to describe collective dynamics: fictitious play in learning theory and consensus algorithms can be studied using their theory.[2]
The earliest, and prototypical, algorithms of this kind are the Robbins–Monro and Kiefer–Wolfowitz algorithms introduced respectively in 1951 and 1952.
Robbins–Monro algorithm[edit]
The Robbins–Monro algorithm, introduced in 1951 by Herbert Robbins and Sutton Monro,[3] presented a methodology for solving a root finding problem, where the function is represented as an expected value. Assume that we have a function , and a constant
, such that the equation
has a unique root at
. It is assumed that while we cannot directly observe the function
, we can instead obtain measurements of the random variable
where
. The structure of the algorithm is to then generate iterates of the form:
Here, is a sequence of positive step sizes. Robbins and Monro proved[3], Theorem 2 that
converges in
(and hence also in probability) to
, and Blum[4] later proved the convergence is actually with probability one, provided that:
A particular sequence of steps which satisfy these conditions, and was suggested by Robbins–Monro, have the form: , for
. Other series are possible but in order to average out the noise in
, the above condition must be met.
Complexity results[edit]
- If
is twice continuously differentiable, and strongly convex, and the minimizer of
belongs to the interior of
, then the Robbins–Monro algorithm will achieve the asymptotically optimal convergence rate, with respect to the objective function, being
, where
is the minimal value of
over
.[5][6]
- Conversely, in the general convex case, where we lack both the assumption of smoothness and strong convexity, Nemirovski and Yudin[7] have shown that the asymptotically optimal convergence rate, with respect to the objective function values, is
. They have also proven that this rate cannot be improved.
Subsequent developments and Polyak–Ruppert averaging[edit]
While the Robbins–Monro algorithm is theoretically able to achieve under the assumption of twice continuous differentiability and strong convexity, it can perform quite poorly upon implementation. This is primarily due to the fact that the algorithm is very sensitive to the choice of the step size sequence, and the supposed asymptotically optimal step size policy can be quite harmful in the beginning.[6][8]
Chung (1954)[9] and Fabian (1968)[10] showed that we would achieve optimal convergence rate with
(or
). Lai and Robbins[11][12] designed adaptive procedures to estimate
such that
has minimal asymptotic variance. However the application of such optimal methods requires much a priori information which is hard to obtain in most situations. To overcome this shortfall, Polyak (1991)[13] and Ruppert (1988)[14] independently developed a new optimal algorithm based on the idea of averaging the trajectories. Polyak and Juditsky[15] also presented a method of accelerating Robbins–Monro for linear and non-linear root-searching problems through the use of longer steps, and averaging of the iterates. The algorithm would have the following structure:
The convergence of to the unique root
relies on the condition that the step sequence
decreases sufficiently slowly. That is
A1)
Therefore, the sequence with
satisfies this restriction, but
does not, hence the longer steps. Under the assumptions outlined in the Robbins–Monro algorithm, the resulting modification will result in the same asymptotically optimal convergence rate
yet with a more robust step size policy.[15] Prior to this, the idea of using longer steps and averaging the iterates had already been proposed by Nemirovski and Yudin[16] for the cases of solving the stochastic optimization problem with continuous convex objectives and for convex-concave saddle point problems. These algorithms were observed to attain the nonasymptotic rate
.
A more general result is given in Chapter 11 of Kushner and Yin[17] by defining interpolated time , interpolated process
and interpolated normalized process
as
Let the iterate average be and the associate normalized error to be
.
With assumption A1) and the following A2)
A2) There is a Hurwitz matrix and a symmetric and positive-definite matrix
such that
converges weakly to
, where
is the statisolution to
where is a standard Wiener process.
satisfied, and define . Then for each
,
The success of the averaging idea is because of the time scale separation of the original sequence and the averaged sequence
, with the time scale of the former one being faster.
Application in stochastic optimization[edit]
Suppose we want to solve the following stochastic optimization problem
where is differentiable and convex, then this problem is equivalent to find the root
of
. Here
can be interpreted as some «observed» cost as a function of the chosen
and random effects
. In practice, it might be hard to get an analytical form of
, Robbins–Monro method manages to generate a sequence
to approximate
if one can generate
, in which the conditional expectation of
given
is exactly
, i.e.
is simulated from a conditional distribution defined by
Here is an unbiased estimator of
. If
depends on
, there is in general no natural way of generating a random outcome
that is an unbiased estimator of the gradient. In some special cases when either IPA or likelihood ratio methods are applicable, then one is able to obtain an unbiased gradient estimator
. If
is viewed as some «fundamental» underlying random process that is generated independently of
, and under some regularization conditions for derivative-integral interchange operations so that
, then
gives the fundamental gradient unbiased estimate. However, for some applications we have to use finite-difference methods in which
has a conditional expectation close to
but not exactly equal to it.
We then define a recursion analogously to Newton’s Method in the deterministic algorithm:
Convergence of the algorithm[edit]
The following result gives sufficient conditions on for the algorithm to converge:[18]
C1)
C2)
C3)
C4)
C5)
Then converges to
almost surely.
Here are some intuitive explanations about these conditions. Suppose is a uniformly bounded random variables. If C2) is not satisfied, i.e.
, then
is a bounded sequence, so the iteration cannot converge to if the initial guess
is too far away from
. As for C3) note that if
converges to
then
so we must have ,and the condition C3) ensures it. A natural choice would be
. Condition C5) is a fairly stringent condition on the shape of
; it gives the search direction of the algorithm.
Example (where the stochastic gradient method is appropriate)[8][edit]
Suppose , where
is differentiable and
is a random variable independent of
. Then
depends on the mean of
, and the stochastic gradient method would be appropriate in this problem. We can choose
Kiefer–Wolfowitz algorithm[edit]
The Kiefer–Wolfowitz algorithm was introduced in 1952 by Jacob Wolfowitz and Jack Kiefer,[19] and was motivated by the publication of the Robbins–Monro algorithm. However, the algorithm was presented as a method which would stochastically estimate the maximum of a function. Let be a function which has a maximum at the point
. It is assumed that
is unknown; however, certain observations
, where
, can be made at any point
. The structure of the algorithm follows a gradient-like method, with the iterates being generated as follows:
where and
are independent, and the gradient of
is approximated using finite differences. The sequence
specifies the sequence of finite difference widths used for the gradient approximation, while the sequence
specifies a sequence of positive step sizes taken along that direction. Kiefer and Wolfowitz proved that, if
satisfied certain regularity conditions, then
will converge to
in probability as
, and later Blum[4] in 1954 showed
converges to
almost surely, provided that:
A suitable choice of sequences, as recommended by Kiefer and Wolfowitz, would be and
.
Subsequent developments and important issues[edit]
- The Kiefer Wolfowitz algorithm requires that for each gradient computation, at least
different parameter values must be simulated for every iteration of the algorithm, where
is the dimension of the search space. This means that when
is large, the Kiefer–Wolfowitz algorithm will require substantial computational effort per iteration, leading to slow convergence.
- To address this problem, Spall proposed the use of simultaneous perturbations to estimate the gradient. This method would require only two simulations per iteration, regardless of the dimension
.[20]
- To address this problem, Spall proposed the use of simultaneous perturbations to estimate the gradient. This method would require only two simulations per iteration, regardless of the dimension
- In the conditions required for convergence, the ability to specify a predetermined compact set that fulfills strong convexity (or concavity) and contains the unique solution can be difficult to find. With respect to real world applications, if the domain is quite large, these assumptions can be fairly restrictive and highly unrealistic.
Further developments[edit]
An extensive theoretical literature has grown up around these algorithms, concerning conditions for convergence, rates of convergence, multivariate and other generalizations, proper choice of step size, possible noise models, and so on.[21][22] These methods are also applied in control theory, in which case the unknown function which we wish to optimize or find the zero of may vary in time. In this case, the step size should not converge to zero but should be chosen so as to track the function.[21], 2nd ed., chapter 3
C. Johan Masreliez and R. Douglas Martin were the first to apply
stochastic approximation to robust estimation.[23]
The main tool for analyzing stochastic approximations algorithms (including the Robbins–Monro and the Kiefer–Wolfowitz algorithms) is a theorem by Aryeh Dvoretzky published in the proceedings of the third Berkeley symposium on mathematical statistics and probability, 1956.[24]
See also[edit]
- Stochastic gradient descent
- Stochastic variance reduction
References[edit]
- ^ Toulis, Panos; Airoldi, Edoardo (2015). «Scalable estimation strategies based on stochastic approximations: classical results and new insights». Statistics and Computing. 25 (4): 781–795. doi:10.1007/s11222-015-9560-y. PMC 4484776. PMID 26139959.
- ^ Le Ny, Jerome. «Introduction to Stochastic Approximation Algorithms» (PDF). Polytechnique Montreal. Teaching Notes. Retrieved 16 November 2016.
- ^ a b Robbins, H.; Monro, S. (1951). «A Stochastic Approximation Method». The Annals of Mathematical Statistics. 22 (3): 400. doi:10.1214/aoms/1177729586.
- ^ a b Blum, Julius R. (1954-06-01). «Approximation Methods which Converge with Probability one». The Annals of Mathematical Statistics. 25 (2): 382–386. doi:10.1214/aoms/1177728794. ISSN 0003-4851.
- ^ Sacks, J. (1958). «Asymptotic Distribution of Stochastic Approximation Procedures». The Annals of Mathematical Statistics. 29 (2): 373–405. doi:10.1214/aoms/1177706619. JSTOR 2237335.
- ^ a b Nemirovski, A.; Juditsky, A.; Lan, G.; Shapiro, A. (2009). «Robust Stochastic Approximation Approach to Stochastic Programming». SIAM Journal on Optimization. 19 (4): 1574. doi:10.1137/070704277.
- ^ Problem Complexity and Method Efficiency in Optimization, A. Nemirovski and D. Yudin, Wiley -Intersci. Ser. Discrete Math 15 John Wiley New York (1983) .
- ^ a b Introduction to Stochastic Search and Optimization: Estimation, Simulation and Control, J.C. Spall, John Wiley Hoboken, NJ, (2003).
- ^ Chung, K. L. (1954-09-01). «On a Stochastic Approximation Method». The Annals of Mathematical Statistics. 25 (3): 463–483. doi:10.1214/aoms/1177728716. ISSN 0003-4851.
- ^ Fabian, Vaclav (1968-08-01). «On Asymptotic Normality in Stochastic Approximation». The Annals of Mathematical Statistics. 39 (4): 1327–1332. doi:10.1214/aoms/1177698258. ISSN 0003-4851.
- ^ Lai, T. L.; Robbins, Herbert (1979-11-01). «Adaptive Design and Stochastic Approximation». The Annals of Statistics. 7 (6): 1196–1221. doi:10.1214/aos/1176344840. ISSN 0090-5364.
- ^ Lai, Tze Leung; Robbins, Herbert (1981-09-01). «Consistency and asymptotic efficiency of slope estimates in stochastic approximation schemes». Zeitschrift für Wahrscheinlichkeitstheorie und Verwandte Gebiete. 56 (3): 329–360. doi:10.1007/BF00536178. ISSN 0044-3719. S2CID 122109044.
- ^ Polyak, B T (1990-01-01). «New stochastic approximation type procedures. (In Russian.)». 7 (7).
- ^ Ruppert, D. «Efficient estimators from a slowly converging robbins-monro process».
- ^ a b Polyak, B. T.; Juditsky, A. B. (1992). «Acceleration of Stochastic Approximation by Averaging». SIAM Journal on Control and Optimization. 30 (4): 838. doi:10.1137/0330046.
- ^ On Cezari’s convergence of the steepest descent method for approximating saddle points of convex-concave functions, A. Nemirovski and D. Yudin, Dokl. Akad. Nauk SSR 2939, (1978 (Russian)), Soviet Math. Dokl. 19 (1978 (English)).
- ^ Kushner, Harold; George Yin, G. (2003-07-17). Stochastic Approximation and Recursive Algorithms and | Harold Kushner | Springer. www.springer.com. ISBN 9780387008943. Retrieved 2016-05-16.
- ^ Bouleau, N.; Lepingle, D. (1994). Numerical Methods for stochastic Processes. New York: John Wiley. ISBN 9780471546412.
- ^ Kiefer, J.; Wolfowitz, J. (1952). «Stochastic Estimation of the Maximum of a Regression Function». The Annals of Mathematical Statistics. 23 (3): 462. doi:10.1214/aoms/1177729392.
- ^ Spall, J. C. (2000). «Adaptive stochastic approximation by the simultaneous perturbation method». IEEE Transactions on Automatic Control. 45 (10): 1839–1853. doi:10.1109/TAC.2000.880982.
- ^ a b Kushner, H. J.; Yin, G. G. (1997). Stochastic Approximation Algorithms and Applications. doi:10.1007/978-1-4899-2696-8. ISBN 978-1-4899-2698-2.
- ^ Stochastic Approximation and Recursive Estimation, Mikhail Borisovich Nevel’son and Rafail Zalmanovich Has’minskiĭ, translated by Israel Program for Scientific Translations and B. Silver, Providence, RI: American Mathematical Society, 1973, 1976. ISBN 0-8218-1597-0.
- ^ Martin, R.; Masreliez, C. (1975). «Robust estimation via stochastic approximation». IEEE Transactions on Information Theory. 21 (3): 263. doi:10.1109/TIT.1975.1055386.
- ^ Dvoretzky, Aryeh (1956-01-01). «On Stochastic Approximation». The Regents of the University of California.
From Wikipedia, the free encyclopedia
Stochastic approximation methods are a family of iterative methods typically used for root-finding problems or for optimization problems. The recursive update rules of stochastic approximation methods can be used, among other things, for solving linear systems when the collected data is corrupted by noise, or for approximating extreme values of functions which cannot be computed directly, but only estimated via noisy observations.
In a nutshell, stochastic approximation algorithms deal with a function of the form
which is the expected value of a function depending on a random variable . The goal is to recover properties of such a function
without evaluating it directly. Instead, stochastic approximation algorithms use random samples of
to efficiently approximate properties of
such as zeros or extrema.
Recently, stochastic approximations have found extensive applications in the fields of statistics and machine learning, especially in settings with big data. These applications range from stochastic optimization methods and algorithms, to online forms of the EM algorithm, reinforcement learning via temporal differences, and deep learning, and others.[1]
Stochastic approximation algorithms have also been used in the social sciences to describe collective dynamics: fictitious play in learning theory and consensus algorithms can be studied using their theory.[2]
The earliest, and prototypical, algorithms of this kind are the Robbins–Monro and Kiefer–Wolfowitz algorithms introduced respectively in 1951 and 1952.
Robbins–Monro algorithm[edit]
The Robbins–Monro algorithm, introduced in 1951 by Herbert Robbins and Sutton Monro,[3] presented a methodology for solving a root finding problem, where the function is represented as an expected value. Assume that we have a function , and a constant
, such that the equation
has a unique root at
. It is assumed that while we cannot directly observe the function
, we can instead obtain measurements of the random variable
where
. The structure of the algorithm is to then generate iterates of the form:
Here, is a sequence of positive step sizes. Robbins and Monro proved[3], Theorem 2 that
converges in
(and hence also in probability) to
, and Blum[4] later proved the convergence is actually with probability one, provided that:
A particular sequence of steps which satisfy these conditions, and was suggested by Robbins–Monro, have the form: , for
. Other series are possible but in order to average out the noise in
, the above condition must be met.
Complexity results[edit]
- If
is twice continuously differentiable, and strongly convex, and the minimizer of
belongs to the interior of
, then the Robbins–Monro algorithm will achieve the asymptotically optimal convergence rate, with respect to the objective function, being
, where
is the minimal value of
over
.[5][6]
- Conversely, in the general convex case, where we lack both the assumption of smoothness and strong convexity, Nemirovski and Yudin[7] have shown that the asymptotically optimal convergence rate, with respect to the objective function values, is
. They have also proven that this rate cannot be improved.
Subsequent developments and Polyak–Ruppert averaging[edit]
While the Robbins–Monro algorithm is theoretically able to achieve under the assumption of twice continuous differentiability and strong convexity, it can perform quite poorly upon implementation. This is primarily due to the fact that the algorithm is very sensitive to the choice of the step size sequence, and the supposed asymptotically optimal step size policy can be quite harmful in the beginning.[6][8]
Chung (1954)[9] and Fabian (1968)[10] showed that we would achieve optimal convergence rate with
(or
). Lai and Robbins[11][12] designed adaptive procedures to estimate
such that
has minimal asymptotic variance. However the application of such optimal methods requires much a priori information which is hard to obtain in most situations. To overcome this shortfall, Polyak (1991)[13] and Ruppert (1988)[14] independently developed a new optimal algorithm based on the idea of averaging the trajectories. Polyak and Juditsky[15] also presented a method of accelerating Robbins–Monro for linear and non-linear root-searching problems through the use of longer steps, and averaging of the iterates. The algorithm would have the following structure:
The convergence of to the unique root
relies on the condition that the step sequence
decreases sufficiently slowly. That is
A1)
Therefore, the sequence with
satisfies this restriction, but
does not, hence the longer steps. Under the assumptions outlined in the Robbins–Monro algorithm, the resulting modification will result in the same asymptotically optimal convergence rate
yet with a more robust step size policy.[15] Prior to this, the idea of using longer steps and averaging the iterates had already been proposed by Nemirovski and Yudin[16] for the cases of solving the stochastic optimization problem with continuous convex objectives and for convex-concave saddle point problems. These algorithms were observed to attain the nonasymptotic rate
.
A more general result is given in Chapter 11 of Kushner and Yin[17] by defining interpolated time , interpolated process
and interpolated normalized process
as
Let the iterate average be and the associate normalized error to be
.
With assumption A1) and the following A2)
A2) There is a Hurwitz matrix and a symmetric and positive-definite matrix
such that
converges weakly to
, where
is the statisolution to
where is a standard Wiener process.
satisfied, and define . Then for each
,
The success of the averaging idea is because of the time scale separation of the original sequence and the averaged sequence
, with the time scale of the former one being faster.
Application in stochastic optimization[edit]
Suppose we want to solve the following stochastic optimization problem
where is differentiable and convex, then this problem is equivalent to find the root
of
. Here
can be interpreted as some «observed» cost as a function of the chosen
and random effects
. In practice, it might be hard to get an analytical form of
, Robbins–Monro method manages to generate a sequence
to approximate
if one can generate
, in which the conditional expectation of
given
is exactly
, i.e.
is simulated from a conditional distribution defined by
Here is an unbiased estimator of
. If
depends on
, there is in general no natural way of generating a random outcome
that is an unbiased estimator of the gradient. In some special cases when either IPA or likelihood ratio methods are applicable, then one is able to obtain an unbiased gradient estimator
. If
is viewed as some «fundamental» underlying random process that is generated independently of
, and under some regularization conditions for derivative-integral interchange operations so that
, then
gives the fundamental gradient unbiased estimate. However, for some applications we have to use finite-difference methods in which
has a conditional expectation close to
but not exactly equal to it.
We then define a recursion analogously to Newton’s Method in the deterministic algorithm:
Convergence of the algorithm[edit]
The following result gives sufficient conditions on for the algorithm to converge:[18]
C1)
C2)
C3)
C4)
C5)
Then converges to
almost surely.
Here are some intuitive explanations about these conditions. Suppose is a uniformly bounded random variables. If C2) is not satisfied, i.e.
, then
is a bounded sequence, so the iteration cannot converge to if the initial guess
is too far away from
. As for C3) note that if
converges to
then
so we must have ,and the condition C3) ensures it. A natural choice would be
. Condition C5) is a fairly stringent condition on the shape of
; it gives the search direction of the algorithm.
Example (where the stochastic gradient method is appropriate)[8][edit]
Suppose , where
is differentiable and
is a random variable independent of
. Then
depends on the mean of
, and the stochastic gradient method would be appropriate in this problem. We can choose
Kiefer–Wolfowitz algorithm[edit]
The Kiefer–Wolfowitz algorithm was introduced in 1952 by Jacob Wolfowitz and Jack Kiefer,[19] and was motivated by the publication of the Robbins–Monro algorithm. However, the algorithm was presented as a method which would stochastically estimate the maximum of a function. Let be a function which has a maximum at the point
. It is assumed that
is unknown; however, certain observations
, where
, can be made at any point
. The structure of the algorithm follows a gradient-like method, with the iterates being generated as follows:
where and
are independent, and the gradient of
is approximated using finite differences. The sequence
specifies the sequence of finite difference widths used for the gradient approximation, while the sequence
specifies a sequence of positive step sizes taken along that direction. Kiefer and Wolfowitz proved that, if
satisfied certain regularity conditions, then
will converge to
in probability as
, and later Blum[4] in 1954 showed
converges to
almost surely, provided that:
A suitable choice of sequences, as recommended by Kiefer and Wolfowitz, would be and
.
Subsequent developments and important issues[edit]
- The Kiefer Wolfowitz algorithm requires that for each gradient computation, at least
different parameter values must be simulated for every iteration of the algorithm, where
is the dimension of the search space. This means that when
is large, the Kiefer–Wolfowitz algorithm will require substantial computational effort per iteration, leading to slow convergence.
- To address this problem, Spall proposed the use of simultaneous perturbations to estimate the gradient. This method would require only two simulations per iteration, regardless of the dimension
.[20]
- To address this problem, Spall proposed the use of simultaneous perturbations to estimate the gradient. This method would require only two simulations per iteration, regardless of the dimension
- In the conditions required for convergence, the ability to specify a predetermined compact set that fulfills strong convexity (or concavity) and contains the unique solution can be difficult to find. With respect to real world applications, if the domain is quite large, these assumptions can be fairly restrictive and highly unrealistic.
Further developments[edit]
An extensive theoretical literature has grown up around these algorithms, concerning conditions for convergence, rates of convergence, multivariate and other generalizations, proper choice of step size, possible noise models, and so on.[21][22] These methods are also applied in control theory, in which case the unknown function which we wish to optimize or find the zero of may vary in time. In this case, the step size should not converge to zero but should be chosen so as to track the function.[21], 2nd ed., chapter 3
C. Johan Masreliez and R. Douglas Martin were the first to apply
stochastic approximation to robust estimation.[23]
The main tool for analyzing stochastic approximations algorithms (including the Robbins–Monro and the Kiefer–Wolfowitz algorithms) is a theorem by Aryeh Dvoretzky published in the proceedings of the third Berkeley symposium on mathematical statistics and probability, 1956.[24]
See also[edit]
- Stochastic gradient descent
- Stochastic variance reduction
References[edit]
- ^ Toulis, Panos; Airoldi, Edoardo (2015). «Scalable estimation strategies based on stochastic approximations: classical results and new insights». Statistics and Computing. 25 (4): 781–795. doi:10.1007/s11222-015-9560-y. PMC 4484776. PMID 26139959.
- ^ Le Ny, Jerome. «Introduction to Stochastic Approximation Algorithms» (PDF). Polytechnique Montreal. Teaching Notes. Retrieved 16 November 2016.
- ^ a b Robbins, H.; Monro, S. (1951). «A Stochastic Approximation Method». The Annals of Mathematical Statistics. 22 (3): 400. doi:10.1214/aoms/1177729586.
- ^ a b Blum, Julius R. (1954-06-01). «Approximation Methods which Converge with Probability one». The Annals of Mathematical Statistics. 25 (2): 382–386. doi:10.1214/aoms/1177728794. ISSN 0003-4851.
- ^ Sacks, J. (1958). «Asymptotic Distribution of Stochastic Approximation Procedures». The Annals of Mathematical Statistics. 29 (2): 373–405. doi:10.1214/aoms/1177706619. JSTOR 2237335.
- ^ a b Nemirovski, A.; Juditsky, A.; Lan, G.; Shapiro, A. (2009). «Robust Stochastic Approximation Approach to Stochastic Programming». SIAM Journal on Optimization. 19 (4): 1574. doi:10.1137/070704277.
- ^ Problem Complexity and Method Efficiency in Optimization, A. Nemirovski and D. Yudin, Wiley -Intersci. Ser. Discrete Math 15 John Wiley New York (1983) .
- ^ a b Introduction to Stochastic Search and Optimization: Estimation, Simulation and Control, J.C. Spall, John Wiley Hoboken, NJ, (2003).
- ^ Chung, K. L. (1954-09-01). «On a Stochastic Approximation Method». The Annals of Mathematical Statistics. 25 (3): 463–483. doi:10.1214/aoms/1177728716. ISSN 0003-4851.
- ^ Fabian, Vaclav (1968-08-01). «On Asymptotic Normality in Stochastic Approximation». The Annals of Mathematical Statistics. 39 (4): 1327–1332. doi:10.1214/aoms/1177698258. ISSN 0003-4851.
- ^ Lai, T. L.; Robbins, Herbert (1979-11-01). «Adaptive Design and Stochastic Approximation». The Annals of Statistics. 7 (6): 1196–1221. doi:10.1214/aos/1176344840. ISSN 0090-5364.
- ^ Lai, Tze Leung; Robbins, Herbert (1981-09-01). «Consistency and asymptotic efficiency of slope estimates in stochastic approximation schemes». Zeitschrift für Wahrscheinlichkeitstheorie und Verwandte Gebiete. 56 (3): 329–360. doi:10.1007/BF00536178. ISSN 0044-3719. S2CID 122109044.
- ^ Polyak, B T (1990-01-01). «New stochastic approximation type procedures. (In Russian.)». 7 (7).
- ^ Ruppert, D. «Efficient estimators from a slowly converging robbins-monro process».
- ^ a b Polyak, B. T.; Juditsky, A. B. (1992). «Acceleration of Stochastic Approximation by Averaging». SIAM Journal on Control and Optimization. 30 (4): 838. doi:10.1137/0330046.
- ^ On Cezari’s convergence of the steepest descent method for approximating saddle points of convex-concave functions, A. Nemirovski and D. Yudin, Dokl. Akad. Nauk SSR 2939, (1978 (Russian)), Soviet Math. Dokl. 19 (1978 (English)).
- ^ Kushner, Harold; George Yin, G. (2003-07-17). Stochastic Approximation and Recursive Algorithms and | Harold Kushner | Springer. www.springer.com. ISBN 9780387008943. Retrieved 2016-05-16.
- ^ Bouleau, N.; Lepingle, D. (1994). Numerical Methods for stochastic Processes. New York: John Wiley. ISBN 9780471546412.
- ^ Kiefer, J.; Wolfowitz, J. (1952). «Stochastic Estimation of the Maximum of a Regression Function». The Annals of Mathematical Statistics. 23 (3): 462. doi:10.1214/aoms/1177729392.
- ^ Spall, J. C. (2000). «Adaptive stochastic approximation by the simultaneous perturbation method». IEEE Transactions on Automatic Control. 45 (10): 1839–1853. doi:10.1109/TAC.2000.880982.
- ^ a b Kushner, H. J.; Yin, G. G. (1997). Stochastic Approximation Algorithms and Applications. doi:10.1007/978-1-4899-2696-8. ISBN 978-1-4899-2698-2.
- ^ Stochastic Approximation and Recursive Estimation, Mikhail Borisovich Nevel’son and Rafail Zalmanovich Has’minskiĭ, translated by Israel Program for Scientific Translations and B. Silver, Providence, RI: American Mathematical Society, 1973, 1976. ISBN 0-8218-1597-0.
- ^ Martin, R.; Masreliez, C. (1975). «Robust estimation via stochastic approximation». IEEE Transactions on Information Theory. 21 (3): 263. doi:10.1109/TIT.1975.1055386.
- ^ Dvoretzky, Aryeh (1956-01-01). «On Stochastic Approximation». The Regents of the University of California.
Привет, мой друг, тебе интересно узнать все про аппроксимация функций, тогда с вдохновением прочти до конца. Для того чтобы лучше понимать что такое
аппроксимация функций, интерполяция , интерполяция функций, аппроксимация, интерполирование, непрерывная аппроксимация, точечная аппроксимация, интерполяционный полином лагранжа, интерполяционный полином ньютона, погрешность глобальной интерполяции, метод наименьших квадратов, подбор эмпирических формул, кусочно-постоянная интерполяция, кусочно-линейная интерполяция , настоятельно рекомендую прочитать все из категории Численные методы.
Аппроксимировать – это означает «приближенно заменять». Допустим, известны значения некоторой функции в заданных точках. Требуется найти промежуточные значения этой функции. Это так называемая задача о восстановлении функции. Кроме того, при проведении расчетов сложные функции удобно заменять алгебраическими многочленами или другими элементарными функциями, которые достаточно просто вычисляются (задача о приближении функции).
интерполяция — это метод нахождения неизвестных промежуточных значений некоторой функции по имеющемуся дискретному набору ее известных значений. Типичным примером такой функции является временной ряд, значения которого — это наблюдения, зафиксированные через определенный интервал времени.
Интерполяция,
интерполирование (от лат. inter–polis — «разглаженный, подновленный, обновленный; преобразованный») — в вычислительной математике нахождение неизвестных промежуточных значений некоторой функции, по имеющемуся дискретному набору ее известных значений, определенным способом. Термин «интерполяция» впервые употребил Джон Валлис в своем трактате «Арифметика бесконечных» (1656).
В функциональном анализе интерполяция линейных операторов представляет собой раздел, рассматривающий банаховы пространства как элементы некоторой категории .
Отличие апроксимации от интерполяции.
- апроксимация -это приближение т.е какие либо приближенные вычисления, функции и др.
- интерполяция-один из видов апроксимации когда одна функция замещаеться другой функцией совпадающей с ней в одних точках а в других точках лишь приближающаяся к ней.
Интерпояция — в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений.
аппроксимация , или приближение — математический метод, состоящий в замене одних математических объектов другими, в том или ином смысле близкими к исходным, но более простыми.
В научных и инженерных расчетах, часто приходится оперировать наборами значений, полученных опытным путем или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения. Такая задача называется аппроксимацией. Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Существует также близкая к интерполяции задача, которая заключается в аппроксимации какой-либо сложной функции другой, более простой функцией. Если некоторая функция слишком сложна для производительных вычислений, можно попытаться вычислить ее значение в нескольких точках, а по ним построить, то есть интерполировать, более простую функцию. Разумеется, использование упрощенной функции не позволяет получить такие же точные результаты, какие давала бы первоначальная функция. Но в некоторых классах задач достигнутый выигрыш в простоте и скорости вычислений может перевесить получаемую погрешность в результатах.
Следует также упомянуть и совершенно другую разновидность математической интерполяции, известную под названием «интерполяция операторов». К классическим работам по интерполяции операторов относятся теорема Рисса — Торина и теорема Марцинкевича (Marcinkiewicz theorem), являющиеся основой для множества других работ.
Аппроксимация — замена одних математических объектов другими, имеющие похожие и близкие свойства для последующего использования в
прикладной задаче. Аппроксимация позволяет исследовать различные числовые характеристики или качественные свойства объекта изучения. Таким образом мы
можем свести задачу к исследованию более элементарных или удобных для вычислений объектов, характеристики которых известны или легко вычисляются.
Приближение имеет схожий смысл что и аппроксимация, термин «приближение» иногда употребляется в смысле приближающего объекта. Приближение функций
— нахождение для данной функции f функции g из некоторого определенного класса (например, среди полиномов заданной степени), в том или ином смысле близкой к f , дающей ее приближенное представление» .
Модель — любой образ какого-либо объекта, процесса или явления, используемый в качестве его аналога. Математическая модель — приближенное
описание какого-либо класса явлений из внешнего мира, выраженное с помощью математической символики и математического языка. Физическая модель —
приближенное описание некоторого объекта или явления с помощью образа, имеющего ту же физическую природу .
Один из самых важных этапов в изучении какого-либо объекта на основе математической модели данного объекта – удовлетворяет ли наша модель
нескольким критериям: соответствие изучаемому явлению и процессу, согласование результаты наблюдений и экспериментов с теоретическими
прогноза работы модели с учетом погрешности наблюдений. Поэтому необходима проверка модели на адекватность, то есть соответствие свойствам
реального объекта, при условии, что точность модели, должна быть больше точности наблюдений (ошибка модели должна быть меньше ошибки наблюдений).
Адекватность — соответствие, верность, точность. Точность измерения —
характеристика измерения, отражающая степень близости его результатов к
истинному значению измеряемой величины» .
Аппроксимация бывает двух видов:
- математическая или строгая;
- физическая или техническая аппроксимация.
Математическая аппроксимация в свою очередь подразделяется на несколько методов:
- полиномами (многочленами);
- сплайнами;
- отрезками ряда Фурье;
- полиномами по ортогональным многочленам;
- собственными функциями краевых задач.
«Менее строгая аппроксимация — физическая или техническая аппроксимация, или математическая модель физического явления, процесса и его
физической модели, технического устройства и его характеристик, сигнала и его параметров, среды, материи и т.п. Физическая (техническая) аппроксимация
включает в себя множество способов приближения функций, которые выбирают, руководствуясь конкретно поставленной задачей. В итоге, с помощью физической
(технической) аппроксимации легко решается широкий спектр задач, актуальных на данный момент времени, связанных с конкретными проблемами и вопросами
прикладного (технического) характера. Строгая теория математической аппроксимации строится как фундаментальная, глобальная теория
аппроксимации, которая для решения текущих прикладных практических задач может и не пригодиться. Это может произойти вследствие либо потери с течением
времени актуальности решаемой задачи, либо сложности теории (аппроксимирующей функции), либо большого количества коэффициентов
аппроксимации» .
В основном, характеристические данные большинства сложных реальных процессов и явлений получают в результате опыта или эксперимента, очень редко
удается получить или вывести зависимость в виде аналитической. Для изучения явлений и процессов нужно для начала представить характеристики в формальной
математической форме, в которой их можно использовать для вычислений и расчетов . Простым и наглядным способом будет представление характеристик
в виде таблицы. Этот способ удобен для анализа при помощи ЭВМ, аргументы и функции образуют массивы данных. В ряде случаев характеристики реальных
процессов и явлений имеют сложный вид и нагляднее представить их в виде графиков, диаграмм или других графических изображений.
Применение экспериментальных данных в виде таблиц или графиков иногда оказывается не слишком удобным, и данные описывают при помощи
элементарных аналитических зависимостей, которые с достаточной точностью качественно отражают характер рассматриваемых соотношений [10]. В данном
случае возникает потребность в нахождении функции, наиболее близкой к исследуемой, таким образом мы сформулируем задачу аппроксимации.
Необходимо построить функцию по экспериментальным данным, приближенными аналитическими выражениями.
Для решения поставленной задачи необходимо получить аналитическую зависимость, то есть подобрать аппроксимирующую функцию, которая бы
удовлетворяла условиям достаточной простоты и отражала бы ключевые особенности экспериментально полученной функции с заранее заданной
степенью точности [11].
«Общая задача аппроксимации включает в себя две самостоятельные задачи:
- выбор класса подходящей аппроксимирующей функции;
- определение коэффициентов аппроксимирующей функции (определение коэффициентов аппроксимации).
Чтобы выбрать класс аппроксимирующей функции, необходимо решить
задачу, которая бы соблюдала некоторые требования:
- простота функции (для математических операций и реализации на ЭВМ);
- достаточная точность (ошибка аппроксимации должна быть одного порядка с разбросом параметров характеристик отдельных реализаций);
- наглядность, позволяющая судить об изменении коэффициентов аппроксимации при изменении характеристик процесса;
- ясность понимания процессов в явлении и выявление свойств и характеристик, представляющих интерес в конкретном случае» .
Исходя из этого, функцию, которая будет приближать характеристику какоголибо объекта, выбирают руководствуясь физическими представлениями о
природе изучаемого явления или процесса. Выбор проходит, основываясь на внешнем сходстве исследуемой характеристики с графическим изображением
выбранной функции . К функции, которая является решением поставленной задачи предъявляются уже известные требования: обеспечивая хорошее качество
приближения с низкой среднеквадратической ошибкой, она должна быть простой и удобной для дальнейшего использования при решении на ЭВМ [10].
Аналитические выражения, отображающие характеристики реальных процессов должны как можно лучше соответствовать реальности. Однако
повышение точности аппроксимации приводит, как правило, к усложнению аппроксимирующих выражений и увеличению их количества, что затрудняет
определение и вычисление коэффициентов и применение этих выражений для анализа процессов .
Способов решения данной задачи существует большое количество, как и аналитических выражений, для которых необходимо найти значения
коэффициентов. Может быть нецелесообразно и не иметь смысла, стараться получить аппроксимирующие выражения, дающие наибольшую точность, чем
точность отдельных методов или конкретных характеристик процесса .
При решении задачи аппроксимации так же, как и при решении любой задачи, человек сталкивается с проблемой построения математической модели и поиска
компромисса в соотношении с точностью результатов и сложностью вычислений и самой модели .
«Определение коэффициентов аппроксимации наиболее плотно связано с запрашиваемой точностью. Точность определяется критериями приближения,
обычно применяют критерии равномерного, среднеквадратичного и интерполяционного или точечного приближений» [11]. Если число заданных
точек превышает число определяемых коэффициентов аппроксимации, то лучшим путем будет использовать
метод наименьших квадратов , при котором
среднеквадратичная ошибка минимальна, так как прямое решение данной системы может не дать ответа. «Метод наименьших квадратов применяется, когда
необходима регулируемая и достаточно высокая точность аппроксимации. Для данного метода требуются громоздкие вычисления, что заставляет решать данную
задачу только при использовании компьютера, но имеется конструктивный подход для аналитического определения коэффициентов модели аппроксимации.
Метод наименьших квадратов обеспечивает наименьшую среднюю квадратическую ошибку аппроксимирующей функции от значений исходной
функции на заданном множестве точек, большим, чем число неизвестных коэффициентов» .
Необходимо отметить, что точность аналитического представления изучаемого явления будет тем выше, чем точнее выбранная нами математическая
модель, описывающая данное явление. Определимся с требованиями, которые нужно предъявить к выбору модели, описывающей явление или процесс при
одинаковой ее точности — наименьшее количество коэффициентов модели и ее простота, выполнение данных требований способствует уменьшению
систематической ошибки и времени обработки экспериментальных данных.
1. Методы аппроксимации функций.
- 1.1.
непрерывная аппроксимация . - 1.2.
точечная аппроксимация . - 1.3.
интерполяционный полином лагранжа . - 1.4.
интерполяционный полином ньютона . - 1.5.
погрешность глобальной интерполяции . - 1.6. Метод наименьших квадратов.
- 1.7.
подбор эмпирических формул . - 1.8.
кусочно-постоянная интерполяция - 1.9.
кусочно-линейная интерполяция .
Виды интерполяции
- Локальная интерполяция:
- Кусочно–постоянная интерполяция
- Кусочно–линейная интерполяция
- Кубический интерполяционный сплайн
- Глобальная интерполяция:
- Полином Лагранжа
- Подбор эмпирических формул
- Метод наименьших квадратов
- Алгебраическая интерполяция
- Табличное задание функции
- Простейшие способы интерполяции
- Интерполяционные полиномы
- Сплайн-интерполяция
- Тригонометрическая интерполяция
- Неклассические методы интерполяции
- Реконструкция функций
- Всюду гладкая интерполяция
Постановка задачи интерполяции
На интервале [a, b] заданы точки xi, i=0, 1,…, N; a ≤ x i ≤ b, и значения неизвестной функции в этих точках fi, i=0, 1,…., N. Требуется найти функцию F(x), принимающую в точках xi те же значения fi. Точки
называются узлами интерполяции, а условия F(xi)= fi. – условиями интерполяции. При этом F(x) ищем только на отрезке [a,b]. Если необходимо найти функцию вне отрезка, то — это задачаэкстраполяции. Пока мы будем рассматривать только интерполяционные задачи.
Задача имеет много решений, т.к. через заданные точки (xi, fi), i=0, 1,…, N, можно провести бесконечно много кривых, каждая из которых будет графиком функции, для которой выполнены все условия интерполяции. Для практики важен случай аппроксимации функции многочленами, т.е.
.
Все методы интерполяции можно разделить на локальные и глобальные. В случае локальной интерполяции на каждом интервале [xi–1, xi] строится отдельный полином. В случае глобальной интерполяции отыскивается единый полином на всем интервале [a, b]. При этом искомый полином называется интерполяционным полиномом.
Пример интерполяции
Например, если наблюдения за ходом исследуемого бизнес-процесса (скажем, продаж) регистрировались в последний день каждой декады, то при необходимости оценить значения внутри данного интервала потребуется выполнить интерполяцию.
Точки x1,x2,…xn называются узлами интерполяции, их совокупность — интерполяционной сеткой, а расстояние между ее соседними узлами — шагом интерполяции, который может быть как равномерным, так и неравномерным. Задача заключается в поиске интерполирующей функции F(xi)=yi. Иными словами, интерполяция позволяет узнать, какие значения принимает функция в точках, не являющихся ее узлами.
В настоящее время существует множество различных методов интерполяции. Выбор наиболее подходящего из них определяется требованием к точности, вычислительной сложности, гладкости интерполирующей функции, количеству точек данных и т.д.
Наиболее простым методом является линейная интерполяция, когда предполагается, что промежуточные точки лежат на прямых, соединяющих ее узлы (как показано на рисунке). Интерполирующая функция в этом случае имеет вид:

Очевидно, что если наблюдения фиксировались редко и шаг интерполяции большой, то данный метод может оказаться слишком грубым. Поэтому более часто используют интерполяцию полиномами (формула Ньютона, полиномы Лагранжа), сплайн-функциями и т.д.
Термин «интерполяция» впервые ввел английский математик Джон Валлис в 1656 году.
В технологиях анализа данных интерполяция используется для восстановления пропущенных значений, а также замены аномальных.
МЕТОДЫ АППРОКСИМАЦИИ ФУНКЦИЙ
1 Непрерывная аппроксимация
Если исходная функция f(x) задана аналитическим выражением, то при построении аппроксимирующей функции возможно требовать минимальности отклонения одной функции от другой на некотором непрерывном множестве точек, например, на отрезке [a,b]. Такой вид аппроксимации называется непрерывным или интегральным.
Теоретически для наилучшего приближения целесообразно требовать, чтобы во всех точках некоторого отрезка [a,b] отклонения аппроксимирующей функции от функции f(x) было по абсолютной величине меньше заданной величины
:

В этом случае говорят, что функция равномерно приближает функцию f(x) с точностью ε на интервале [a,b] . Об этом говорит сайт https://intellect.icu . Практическое получение равномерного приближения представляет большие трудности, и поэтому этот способ применяется главным образом в теоретических исследованиях.
Наиболее употребительным является так называемое среднеквадратичное приближение, для которого наименьшее значение имеет величина

Потребовав обращения в нуль частных производных от М по параметрам, определяющим функцию , получают уравнения, позволяющие найти наилучшие значения этих параметров.
1.2 Точечная аппроксимация
Аппроксимация, при которой приближение строится на заданном дискретном множестве точек , называется точечной.
Для получения точечного среднеквадратичного приближения функции y=f(x), заданной таблично, аппроксимирующую функцию строят из условия минимума величины

где yi – значения функции f(x) в точках xi.
Основная сфера применения среднеквадратичного приближения – обработка экспериментальных данных (построение эмпирических формул).
Другим видом точечной аппроксимации является интерполирование, при котором аппроксимирующая функция принимает в заданных точках xi, те же значения yi , что и функция f(x), т.е.
.

Рисунок 1 Среднеквадратическое приближение
В этом случае, близость интерполирующей функции к заданной функции состоит в том, что их значения совпадают на заданной системе точек.
На рис. 1 показаны качественные графики интерполяционной функции (сплошная линия) и результаты среднеквадратичного приближения (пунктирная линия). Точками отмечены табличные значения функции f(x).
1.3 Интерполяционный полином Лагранжа
Лагранж предложил строить интерполяционный полином в виде разложения
,
где li(x) – базисные функции.
Для того, чтобы полином удовлетворял условиям Лагранжа, т.е. был бы интерполяционным, базисные функции li(x) должны обладать следующими свойствами:
1) быть полином степени n
2) удовлетворять условию

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

В отличие от интерполяционного полинома в канонической форме для вычисления значений полинома Лагранжа не требуется предварительно определять коэффициенты полинома путем решения системы уравнений. Однако для каждого значения аргумента x полином Лагранжа приходится пересчитывать вновь, коэффициенты же канонического полинома вычисляются только один раз. Поэтому практическое применение полинома Лагранжа оправдано только в том случае, когда интерполяционная функция вычисляется в сравнительно небольшом количестве точек x.
Интерполяционный полином Лагранжа оказывается очень удобным для приближенного вычисления определенных интегралов. Если, например, некоторую функцию заменить интерполяционным полином Лагранжа
, то определенный интеграл от нее может быть вычислен следующим образом
.
Значения интегралов от не зависят от f(x) и могут быть легко вычислены аналитически.
1.4 Интерполяционный полином Ньютона
Рассмотрим еще одну форму записи интерполяционного полинома

Требования совпадения значений полинома с заданными значения функции в узловых точках Ni(xi)=yi, i=0,1,…,n приводит к системе линейных уравнений с треугольной матрицей для неизвестных коэффициентов :
,
решить которую не составляет труда.
Интерполяционный полином называется полиномом Ньютона. Интересная особенность полинома Ньютона состоит в том, что каждая частичная сумма его первых (m+1) слагаемых представляет собой интерполяционный полином степени m, построенный по первым (m+1) табличным данным.
1.5 Погрешность глобальной интерполяции
Ошибка приближения функции f(x) интерполяционным полиномом n-й степени Ln(x) в точке x определяется разностью
.
Можно показать, что погрешность Rn(x) определяется следующим выражением
.
Здесь
– производная (n+1) порядка функции f(x) в некоторой точке
, а функция определена как

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

Рисунок 2 Погрешность интерполяции
Вследствие описанного поведения погрешности, глобальная интерполяция в некоторых случаях может давать совершенно неудовлетворительный результат. Из рисунка видно, что погрешность интерполяции тем выше, чем ближе точка x лежит к концам отрезка
. За пределами отрезка интерполяции (т.е. при экстраполяции)
быстро растет, поэтому погрешность возрастает существенно.
1.6 Метод наименьших квадратов
Пусть для исходных данных xi, fi, i=1,…,N (нумерацию лучше начинать с единицы), выбран вид эмпирической зависимости: y=φ(a0,a1,…,am) с неизвестными коэффициентами a0,a1,…,am . Запишем сумму квадратов отклонений между вычисленными по эмпирической формуле и заданными опытными данными:

Параметры a0,a1,…,am будем находить из условия минимума функции S(a0,a1,…,am). В этом состоит метод наименьших квадратов (МНК).
Известно, что в точке минимума все частные производные от S по равны нулю:

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

Формула (1) для определения суммы квадратов отклонений примет вид:

Вычислим производные

Приравнивая эти выражения к нулю и собирая коэффициенты при неизвестных a0,a1,…,am , получим следующую систему линейных уравнений

Данная система уравнений называется нормальной. Решая эту систему линейных уравнений, получаем коэффициенты
.
В случае полинома первого порядка m=1, т.е.
, система нормальных уравнений примет вид

При m=2 имеем:

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

Рисунок 3
Тогда говорят о подборе эмпирических формул. Построение эмпирической формулы состоит из двух этапов подбора вида этой формулы
, содержащей неизвестные параметры a0,a1,…,am, и определение наилучших в некотором смысле этих параметров. Вид формулы иногда известен из физических соображений (для упругой среды связь между напряжением и деформацией) или выбираются из геометрических соображений: экспериментальные точки наносятся на график и примерно угадывается общий вид зависимости путем сравнения полученной кривой с графиками известных функций. Успех здесь в значительной степени определяется опытом и интуицией исследователя.
Для практики важен случай аппроксимации функции многочленами, т.е. F(x)=a0+a1x+a2x2+…+amxm .
После того, как выбран вид эмпирической зависимости степень близости к эмпирическим данным определяется, используя минимум суммы квадратов отклонений вычисленных и экспериментальных данных.
1.8 Кусочно–постоянная интерполяция
На каждом отрезке [xi-1,xi] интерполяционный многочлен равен константе, а именно левому или правому значению функции.
Для левой кусочно-линейной интерполяции
F(x)= fi-1, если xi-1 ≤x

Для правой кусочно-линейной интерполяции F(x)= fi-1, если xi-1

Легко понять, что условия интерполяция выполняются. Построенная функция является разрывной, что ограничивает ее применение. Для левой кусочно-линейной интерполяции имеем графическое представление

Рисунок 4 Кусочно-постоянная интерполяция
1.9 Кусочно–линейная интерполяция
На каждом интервале [xi–1, xi] функция является линейной Fi(x)=kix+li. Значения коэффициентов находятся из выполнения условий интерполяции в концах отрезка:

Получаем систему уравнений:

откуда находим

Следовательно, функцию F(x) можно записать в виде:
F(x)=
x+ fi- kixi , если , т.е.

Или F(x)=ki ·(x-xi-1)+fi-1, ki = (fi — fi-1) / (xi — xi-1), xi-1 ≤ x ≤ xi, i=1,2,…,N-1
При использовании линейной интерполяции сначала нужно определить интервал, в который попадает значение x, а затем подставить его в формулу.
Итоговая функция будет непрерывной, но производная будет разрывной в каждом узле интерполяции. Погрешность такой интерполяции будет меньше, чем в случае кусочно–постоянной интерполяции. Иллюстрация кусочно–линейной интерполяции приведена на рисунке

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

Для правой кусочно-линейной интерполяции
, т.е.

Легко понять, что условия интерполяция выполняются. Построенная функция является разрывной), что ограничивает ее применение. Для левой кусочно-линейной интерполяции имеем графическое представление:

Кусочно–линейная интерполяция
На каждом интервале [xi–1, xi] функция является линейной
. Значения коэффициентов находятся из выполнения условий интерполяции в концах отрезка:
. Получаем систему уравнений:
, откуда находим
. Следовательно, функцию F(z) можно записать в виде:
, т.е.

Или F(x) = ki * (x - xi-1) + fi-1,
ki = (fi - fi-1) / (xi - xi-1), xi-1 ≤ x ≤ xi, i=1,2,...,N-1
При использовании линейной интерполяции сначала нужно определить интервал, в который попадает значение x, а затем подставить его в формулу.
Итоговая функция будет непрерывной, но производная будет разрывной в каждом узле интерполяции. Погрешность такой интерполяции будет меньше, чем в случае кусочно–постоянной интерполяции. Иллюстрация кусочно–линейной интерполяции приведена на рисунке

Пример: Заданы значений некоторой функции:
| x | 0 | 2 | 3 | 3.5 |
| f | -1 | 0.2 | 0.5 | 0.8 |
Требуется найти значение функции при z=1 и z=3.2 по кусочно–постоянной и кусочно–линейной интерполяции.
Решение. Точка z=1 принадлежит первому локальному отрезку [0, 2], т.е.
и, следовательно, по формулам левой кусочно–постоянной интерполяции F(1) = f0 = –1, по формулам правой кусочно–постоянной интерполяции F(1)=f1=0.2. Воспользуемся формулами кусочно–линейной интерполяции:

.
Точка z=3.2 принадлежит третьему интервалу [3, 3.5], т.е.
и, следовательно, по формулам левой кусочно – постоянной интерполяции F(3.2)=
=0.5, по формулам правой кусочно – постоянной интерполяции F(3.2)=
=0.8. Воспользуемся формулами кусочно–линейной интерполяции:


Кубический интерполяционный сплайн
Слово сплайн (английское слово «spline») означает гибкую линейку, используемую для проведения гладких кривых через заданные точки на плоскости. Форма этого универсального лекала на каждом отрезке описывается кубической параболой. Сплайны широко используются в инженерных приложениях, в частности, в компьютерной графике. Итак, на каждом i–м отрезке [xi–1, xi], i=1, 2,…, N, решение будем искать в виде полинома третьей степени:
Si(x)=ai+bi(x–xi)+ci(x–xi)2/2+di(x–xi)3/6
Неизвестные коэффициенты ai, bi, ci, di, i=1, 2,…, N, находим из:
• условий интерполяции: Si(xi)=fi, i=1, 2,…, N; S1(x0)=f0,
• непрерывности функции Si(xi–1)=Si–1(xi–1), i=2, 3,…, N,
• непрерывности первой и второй производной:
S /i(xi–1)=S /i–1(xi–1), S //i(xi–1)=S //i–1(x i–1), i=2, 3,…, N.
Учитывая, что
, для определения 4N неизвестных получаем систему 4N–2 уравнений:
ai=fi, i=1, 2,…, N,
bi hi – cihi2/2 + di hi3/6=fi – fi–1, i=1, 2,…, N,
bi – bi–1 = ci hi – di hi2/2, i=2, 3,…, N,
di hi = ci – ci–1 , i=2, 3,…, N.
где hi=xi – xi–1. Недостающие два уравнения выводятся из дополнительных условий: S //(a)=S //(b)=0. Можно показать, что при этом
. Из системы можно исключить неизвестные bi , di , получив систему N+1 линейных уравнений (СЛАУ) для определения коэффициентов ci:
c0 =0, cN =0,
hici–1+2(hi+hi+1)ci+h i+1ci+1=6
, i=1, 2,…, N–1. (1)
После этого вычисляются коэффициенты bi, di:
, i=1, 2,…, N. (2)
В случае постоянной сетки hi=h эта система уравнений упрощается.

Данная CЛАУ имеет трехдиагональную матрицу и решается методом прогонки.
Коэффициенты
определяются из формул:

Для вычисления значения S(x) в произвольной точке отрезка z∈[a, b] необходимо решить систему уравнений на коэффициенты ci, i=1,2,…, N–1, затем найти все коэффициенты bi, di. Далее, необходимо определить, на какой интервал [xi0, xi0–1] попадает эта точка, и, зная номер i0, вычислить значение сплайна и его производных в точке z
S(z)=ai0 +bi0(z–xi0)+ci0(z–xi0)2/2+di0(z–x i0)3/6
S /(z)=bi0+ci0(z–xi0)+di0(z–x i0)2/2, S //(z)=ci0+di0(z–x i0).
Пример.
|
x0,f0 |
x1,f1 |
x2,f2 |
x3,f3 |
x4,f4 |
|
|
х |
0 |
¼ |
1/2 |
3/4 |
1 |
|
f |
1 |
2 |
1 |
0 |
1 |
Требуется вычислить значения функции в точках 0.25 и 0.8, используя сплайн – интерполяцию.
В нашем случае: hi=1/4,
.
Выпишем систему уравнений для определения
:

Решая эту систему линейных уравнений, получим:
.

Рассмотрим точку 0.25, которая принадлежит первому отрезку, т.е.
. Следовательно, получим, 
Рассмотрим точку 0.8, которая принадлежит четвертому отрезку, т.е.
.
Следовательно, 
Глобальная интерполяция
В случае глобальной интерполяции отыскивается единый полином на всем интервале [a, b], т.е. строится полином, который используется для интерполяции функции f(x) на всем интервале изменения аргумента x. Будем искать интерполирующую функцию в виде полинома (многочлена) m–ой степени Pm(x)=a0+a1x+a2x2+a3x3+…+am xm. Какова должна быть степень многочлена, чтобы удовлетворить всем условиям интерполяции? Допустим, что заданы две точки: (x0, f0) и (x1, f1), т.е. N=1. Через эти точки можно провести единственную прямую, т.е. интерполирующей функцией будет полином первой степениP1(x)=a0+a1x. Через три точки (N=2) можно провести параболу P2(x)=a0+a1x+a2x2 и т.д. Рассуждая таким способом, можно предположить, что искомый полином должен иметь степень N .
Для того, чтобы доказать это, выпишем систему уравнений на коэффициенты. Уравнения системы представляют собой условия интерполяции в при каждом x=xi:

Данная система является линейной относительно искомых коэффициентов a0, a1, a2,…, aN. Известно, что СЛАУ имеет решение, если ее определитель отличен от нуля. Определитель данной системы

носит имя определителя Вандермонда. Из курса математического анализа известно, что он отличен от нуля, если xk≠ xm (т.е. все узлы интерполяции различные). Таким образом, доказано, что система имеет решение.
Мы показали, что для нахождения коэффициентов
a0, a1, a2,…, aN надо решить СЛАУ, что является сложной задачей. Но есть другой способ построения полинома N–й степени, который не требует решения такой системы.
Полином Лагранжа
Решение ищем в виде
, где li(z) – базисные полиномы N–й степени, для которых выполняется условие:
. Убедимся в том, что если такие полиномы построены, то LN(x) будет удовлетворять условиям интерполяции:
.
Каким образом построить базисные полиномы? Определим
, i=0, 1,…, N.
Легко понять, что
, и т.д.
Функция li(z) является полиномом N–й степени от z и для нее выполняются условия «базисности»:
=0, i≠k;, т.е. k=1,…,i-1 или k=i+1,…,N.
.
Таким образом, нам удалось решить задачу о построении интерполирующего полинома N– й степени, и для этого не нужно решать СЛАУ. Полином Лагранжа можно записать в виде компактной формулы:
. Погрешность этой формулы можно оценить, если исходная функция g(x) имеет производные до N+1 порядка:
.
Из этой формулы следует, что погрешность метода зависит от свойств функции g(x), а также от расположения узлов интерполяции и точки z. Как показывают расчетные эксперименты, полином Лагранжа имеет малую погрешность при небольших значениях N<20. При бόльших N погрешность начинает расти, что свидетельствует о том, что метод Лагранжа не сходится (т.е. его погрешность не убывает с ростом N).
Рассмотрим частные случаи. Пусть N=1, т.е. заданы значения функции только в двух точках. Тогда базовые полиномы имеют вид:

, т.е. получаем формулы кусочно–линейной интерполяции.
Пусть N=2. Тогда: 

В результате мы получили формулы так называемой квадратичной или параболической интерполяции.
Пример: Заданы значений некоторой функции:
| x | 0 | 2 | 3 | 3.5 |
| f | -1 | 0.2 | 0.5 | 0.8 |
Требуется найти значение функции при z=1, используя интерполяционный полином Лгранжа. Для этого случая N=3, т.е. полином Лагранжа имеет третий порядок. Вычислим значения базисных полиномов приz=1:


Подбор эмпирических формул
При интерполировании функций мы использовали условие равенства значений интерполяционного полинома и данной функции в узлах интерполяции. Если же исходные данные получены в результате опытных измерений, то требование точного совпадения не нужно, так как данные не получены точно. В этих случаях можно требовать лишь приближенного выполнения условий интерполяции
. Это условие означает, что интерполирующая функция F(x) проходит не точно через заданные точки, а в некоторой их окрестности, так, например, как это показано на рис.

Тогда говорят о подборе эмпирических формул. Построение эмпирической формулы состоит из двух этапов6 подбора вида этой формулы
, содержащей неизвестные параметры
, и определение наилучших в некотором смысле этих параметров. Вид формулы иногда известен из физических соображений (для упругой среды связь между напряжением и деформацией) или выбираются из геометрических соображений: экспериментальные точки наносятся на график и примерно угадывается общий вид зависимости путем сравнения полученной кривой с графиками извесиных функций. Успех здесь в значительной степени определяется опытом и интуицией исследователя.
Для практики важен случай аппроксимации функции многочленами, т.е.
.
После того, как выбран вид эмпирической зависимости степень близости к эмпирическим данным определяется, используя минимум суммы квадратов отклонений вычисленных и экспериментальных данных.
Метод наименьших квадратов
Пусть для исходных данных xi, fi, i=1,…,N (нумерацию лучше начинать с единицы), выбран вид эмпирической зависимости:
с неизвестными коэффициентами
. Запишем сумму квадратов отклонений между вычисленными по эмпирической формуле и заданными опытными данными:
.
Параметры
будем находить из условия минимума функции
. В этом состоит метод наименьших квадратов (МНК).
Известно, что в точке минимума все частные производные от
по
равны нулю:
(1)
Рассмотрим применение МНК для частного случая, широко используемого на практике. В качестве эмпирической функции рассмотрим полином

.
Формула (1) для определения суммы квадратов отклонений примет вид:
(2)
Вычислим производные:

Приравнивая эти выражения нулю и собирая коэффициенты при неизвестных
, получим следующую систему линейных уравнений:

Данная система уравнений называется нормальной. Решая эту систему линейных уравнений, получаем коэффициенты
.
В случае полинома первого порядка m=1, т.е.
, система нормальных уравнений примет вид:

При m=2 имеем:

Как правило, выбирают несколько эмпирических зависимостей. По МНК находят коэффициенты этих зависимостей и среди них находят наилучшую по минимальной сумме отклонений.
Пример. Заданы координаты точек:
|
x |
-5 |
-3.5 |
-2 |
1.5 |
3.25 |
5 |
|
f |
0.5 |
1.2 |
1.4 |
1.6 |
1.7 |
1.5 |
т.е. N=6. Требуется найти эмпирические зависимости: линейную
, квадратичную
, гиперболическую
по методу МНК и выбрать среди них наилучшую по наименьшей сумме квадратов отклонений.
Система нормальных уравнений для линейной зависимости:

Учитывая, что N=6,
, получим

Решая систему линейных уравнений, получим
. Следовательно, линейная зависимость имеет вид:
.
Вычислим сумму квадратов отклонений:
.
Рассмотрим квадратичную зависимость. Система нормальных уравнений имеет вид

Найдем неподсчитанные суммы: 

Решая СЛАУ, получим 
Следовательно, квадратичная зависимость имеет вид:
.
Вычислим сумму квадратов отклонений:
.
Выпишем систему нормальных уравнений для гиперболической зависимости. Согласно МНК находим сумму квадратов отклонений:
. Составляем систему нормальных уравнений:

Или

Учитывая, что
, получим

Сумма квадратов отклонений:
Из трех зависимостей выбираем наилучшую, т.е. квадратичную.
Смежные концепции
- Экстраполяция — методы нахождения точек за пределами заданного интервала (продление кривой)
- Аппроксимация — методы построения приближенных кривых
См. также
- Интерполяционные формулы
- Регрессия (математика)
- Метод наименьших квадратов
- Сглаживание данных эксперимента
- Абстрагирование
- Моделирование
- Экстраполяция
- Теорема Ока об аппроксимации
- интерполяционный поиск , интерполирующий поиск ,
Если я не полностью рассказал про аппроксимация функций? Напиши в комментариях Надеюсь, что теперь ты понял что такое аппроксимация функций, интерполяция , интерполяция функций, аппроксимация, интерполирование, непрерывная аппроксимация, точечная аппроксимация, интерполяционный полином лагранжа, интерполяционный полином ньютона, погрешность глобальной интерполяции, метод наименьших квадратов, подбор эмпирических формул, кусочно-постоянная интерполяция, кусочно-линейная интерполяция
и для чего все это нужно, а если не понял, или есть замечания,
то нестесняся пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории
Численные методы