Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Вопросы начинающих (http://www.microchip.su/forumdisplay.php?f=14)
-   -   Линейная аппроксимация (http://www.microchip.su/showthread.php?t=18449)

alexD 11.02.2019 11:29

Линейная аппроксимация
 
Для нелинейной характеристики применяю линейную аппроксимацию по формуле y = (x + a)*b;
Использую 3 точки для расчета коэффициентов.
Подскажите, как рассчитать коэффициенты a и b? Какие есть методы?

Пробовал МНК (различные онлайн сайты) - дают плохое приближение.

Например, для этих трех точек, в скобках указано так (x, y):
(1.98234, 2.041324) (1.16723, 1.21596) (0.48703, 0.50579)

edv_2000 11.02.2019 12:08

Re: Линейная аппроксимация
 
Есть алгоритмы, которые позволяют сначала определить лучший вид зависимости для набора данных. А потом определить для них коэффициенты. Три отсчета это очень мало. Когда-то давно видел похожий алгоритм в Науке и жизни в далекие 80-е.

alexD 11.02.2019 13:21

Re: Линейная аппроксимация
 
Например, вот тут я ввел свои данные

Получил такие коэффициенты.

Цитата:

Линейная регрессия
y=1.0264x+0.0101
Найденные коэффициенты для моей формулы будут выглядеть так: y = (x + 0.0101/1.0264) * 1.0264 = (x + 0,00984) * 1.0264

И получилась средняя ошибка аппроксимации 0.5492 %, но это средняя. Если подставить исходные данные и найденные коэффициенты, то ошибка аппроксимации будет:
точка_x1 0,168997 %
точка_x2 0,6427126 %
точка_x3 0,8299081 %

Для меня это плохое "распределение" ошибок - внизу она низкая 0,16%, а вверху большая 0,82%, а я бы хотел, чтобы она была более равномерная.

Например, при коэффициентах в формуле y = (x + 0,005736)* 1,031736 , рассчитанные по этим трем точкам ошибки аппроксимации сосредоточены возле значения 0,5%:
точка_x1 0,4823134 %
точка_x2 0,4744195 %
точка_x3 0,5168987 %
Средняя ошибка аппроксимации 0,49 %, что лучше чем по МНК.

xepp 11.02.2019 13:45

Re: Линейная аппроксимация
 
То что Вам нужно называется МНК с полиномами. Прямая линия лишь частный случай. Алгоритм прекрасно описан в книге Бахвалова "Численные методы". Он прост, и отличие его от МНК в общем виде в том, что задача решается всегда единственным образом, без локальных минимумов, нелинейных алгебраически неразрешимых уравнений и прочих прелестей. Вечером отпишусь детально, если не найдёте.

alexD 11.02.2019 13:53

Re: Линейная аппроксимация
 
Цитата:

Сообщение от xepp (Сообщение 239700)
То что Вам нужно называется МНК с полиномами. Прямая линия лишь частный случай. Алгоритм прекрасно описан в книге Бахвалова "Численные методы". Он прост, и отличие его от МНК в общем виде в том, что задача решается всегда единственным образом, без локальных минимумов, нелинейных алгебраически неразрешимых уравнений и прочих прелестей. Вечером отпишусь детально, если не найдёте.

Спасибо! Но менять вид характеристики с линейной (прямая линия) на другие у меня нет возможности, поскольку вид уже задан, так же как изменять количество точек (только 3 дается).

У меня задача такая - рассчитать такие коэффициенты a и b в формуле y = (x + a)*b, которые дают наименьшую ошибку аппроксимации во всем диапазоне данных (по трем точкам: верхняя, средняя и нижняя).
Пока я понял, что МНК дает не самые лучшие результаты при расчете коэффициентов. Сейчас начал читать про метод наименьших модулей МНМ.

alexD 11.02.2019 14:50

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

xepp 11.02.2019 20:43

Re: Линейная аппроксимация
 
Да, всё так, МНК хорошо работает для случая нормального распределения. Причём в обычном виде с суммой квадратов отклонений ещё и дисперсии случайных отклонений в каждой точке должны быть равны. А если не равны - лучше использовать МНК с функционалом хи-квадрат.
Кроме прочего, МНК обычно подразумевает, что значения по х у нас заданные точно, а по у - экспериментально полученные со случайным разбросом. Может, у Вас разброс есть и по х, и по у? Тогда минимизировать надо совсем другое. Общий подход - метод максимального правдоподобия, из которого, кстати, МНК и получается, как с хи-квадрат, так и обычный.


Часовой пояс GMT +3, время: 18:08.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot