Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

Ответ
 
Опции темы Опции просмотра
Старый 11.02.2019, 11:29   #1
alexD
Member
 
Регистрация: 06.11.2013
Возраст: 39
Сообщений: 35
Вес репутации: 118/21
alexD will become famous soon enoughalexD will become famous soon enough
По умолчанию Линейная аппроксимация

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

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

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

Последний раз редактировалось alexD; 11.02.2019 в 11:44.
alexD вне форума   Ответить с цитированием
Старый 11.02.2019, 12:08   #2
edv_2000
Member
 
Регистрация: 02.12.2011
Адрес: SPB
Возраст: 51
Сообщений: 56
Вес репутации: 188/28
edv_2000 has a spectacular aura aboutedv_2000 has a spectacular aura about
По умолчанию Re: Линейная аппроксимация

Есть алгоритмы, которые позволяют сначала определить лучший вид зависимости для набора данных. А потом определить для них коэффициенты. Три отсчета это очень мало. Когда-то давно видел похожий алгоритм в Науке и жизни в далекие 80-е.
edv_2000 вне форума   Ответить с цитированием
Старый 11.02.2019, 13:21   #3
alexD
Member
 
Регистрация: 06.11.2013
Возраст: 39
Сообщений: 35
Вес репутации: 118/21
alexD will become famous soon enoughalexD will become famous soon enough
По умолчанию 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 %, что лучше чем по МНК.

Последний раз редактировалось alexD; 11.02.2019 в 13:36.
alexD вне форума   Ответить с цитированием
Старый 11.02.2019, 13:45   #4
xepp
Senior Member
 
Аватар для xepp
 
Регистрация: 24.04.2007
Адрес: Kazan
Возраст: 40
Сообщений: 568
Вес репутации: 1108/60
xepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud of
Отправить сообщение для xepp с помощью ICQ
По умолчанию Re: Линейная аппроксимация

То что Вам нужно называется МНК с полиномами. Прямая линия лишь частный случай. Алгоритм прекрасно описан в книге Бахвалова "Численные методы". Он прост, и отличие его от МНК в общем виде в том, что задача решается всегда единственным образом, без локальных минимумов, нелинейных алгебраически неразрешимых уравнений и прочих прелестей. Вечером отпишусь детально, если не найдёте.
xepp вне форума   Ответить с цитированием
Старый 11.02.2019, 13:53   #5
alexD
Member
 
Регистрация: 06.11.2013
Возраст: 39
Сообщений: 35
Вес репутации: 118/21
alexD will become famous soon enoughalexD will become famous soon enough
По умолчанию Re: Линейная аппроксимация

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

У меня задача такая - рассчитать такие коэффициенты a и b в формуле y = (x + a)*b, которые дают наименьшую ошибку аппроксимации во всем диапазоне данных (по трем точкам: верхняя, средняя и нижняя).
Пока я понял, что МНК дает не самые лучшие результаты при расчете коэффициентов. Сейчас начал читать про метод наименьших модулей МНМ.
alexD вне форума   Ответить с цитированием
Старый 11.02.2019, 14:50   #6
alexD
Member
 
Регистрация: 06.11.2013
Возраст: 39
Сообщений: 35
Вес репутации: 118/21
alexD will become famous soon enoughalexD will become famous soon enough
По умолчанию Re: Линейная аппроксимация

Пока понял, что МНК хорошо работает, когда данные распределены по нормальному закону. Предполагаю, что у меня по этим трем точкам данных вырисовывается другой закон распределения (какой я сам не знаю) поэтому МНК для моих данных не оптимален в критерии минимума ошибки.
Пробовал анализировать данные в Excel (регрессия), коэффициенты он рассчитывает еще хуже...
alexD вне форума   Ответить с цитированием
Старый 11.02.2019, 20:43   #7
xepp
Senior Member
 
Аватар для xepp
 
Регистрация: 24.04.2007
Адрес: Kazan
Возраст: 40
Сообщений: 568
Вес репутации: 1108/60
xepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud ofxepp has much to be proud of
Отправить сообщение для xepp с помощью ICQ
По умолчанию Re: Линейная аппроксимация

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аппроксимация Pridnya Общетехнические вопросы 58 19.11.2015 20:17
LFSR и линейная сложность Vidocq Вопросы начинающих 0 11.01.2009 14:38


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


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