2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Интерполяция или аппроксимация?
Сообщение16.10.2017, 16:29 
Есть дискретный набор точек(черная линия на графике). Функция неизвестна. Я хочу взять произвольное значение $x$ и получить значение $y$ которое лучшим образом впишется в этот набор. Вопрос: что здесь нужно -- интерполировать или аппроксимировать?

Если интерполяция, то линейная не совсем хорошо. Что нужно брать для гладкости функции?

Если аппроксимировать, то исходя из чего искать подходящую функцию? Я привел, например, плохой вариант с экспонентой(красная линия). Нужно ли и как искать подходящий?

Изображение

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 16:53 
Adventor в сообщении #1256084 писал(а):
Нужно ли и как искать подходящий?
Постройте график в логарифмических осях. Если это степенная функция, она "выпрямится", а по углу наклона прямой можно определить степень. Если не "выпрямилась", возьмите только одну логарифмическую ось. Но способ не универсальный, конечно же.

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:02 
По идее, интерполяция - это подбор зависимости, идеально точно проходящей через заданные точки, но между ними ведущей себя в общем случае как угодно. Аппроксимация - это подбор параметров функции заранее известного класса, в некотором смысле наилучшим образом приближающей имеющиеся данные.

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

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:08 
Pphantom в сообщении #1256096 писал(а):
Для экспериментальных/наблюдательных данных, как правило, осмысленна именно аппроксимация, но тогда надо подбирать тип функции. Правда, заодно еще хорошо бы знать характерные величины ошибок (а то, возможно, уже имеющаяся экспонента будет вполне подходящей).

В данном случае значения по линейной интерполяции дают гораздо меньшие ошибки чем имеющаяся экспонента.

-- Пн окт 16, 2017 17:09:16 --

rockclimber в сообщении #1256094 писал(а):
Постройте график в логарифмических осях. Если это степенная функция, она "выпрямится", а по углу наклона прямой можно определить степень. Если не "выпрямилась", возьмите только одну логарифмическую ось. Но способ не универсальный, конечно же.

Получается кривоватенько, хоть по одной, хоть по двум логарифмическим осям.

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:15 
Adventor в сообщении #1256098 писал(а):
В данном случае значения по линейной интерполяции дают гораздо меньшие ошибки чем имеющаяся экспонента.
Ну, с формальной точки зрения можно сказать, что Вы при этом делаете аппроксимацию сплайном 1-го порядка. :-)

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

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:20 
Обе оси в лог.масштабе

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:30 
Adventor в сообщении #1256102 писал(а):
Красиво, однако.
Смущает, что есть перегиб в начале и асимптота в конце. Скорее всего, какая-то сложная функция... А если (гулять так гулять) ось $x$ прологарифмировать дважды?
Или, если не жалко, киньте в текстовом виде исходные данные.

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:40 
rockclimber в сообщении #1256107 писал(а):
Или, если не жалко, киньте в текстовом виде исходные данные.

Не смог найти как сделать спойлер...
Код:
  1            200000
  1.5         142000
  2             90000
  3             43000
  4             27000
  5             20000
  6.2          15000
  8             12000
10             10000
15              8300
20              7300
30              6600
50              6300
100              6000

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:43 

(Спойлер делается вот так!)

Adventor в сообщении #1256108 писал(а):
Не смог найти как сделать спойлер...
«Тег оффтопа. Инструкция по применению»

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:54 
rockclimber в сообщении #1256110 писал(а):

(Спойлер делается вот так!)

Adventor в сообщении #1256108 писал(а):
Не смог найти как сделать спойлер...
«Тег оффтопа. Инструкция по применению»

(спасибо!)

й

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:56 
И ошибки, стало быть, по крайней мере порядка $10^2$ (судя по "круглости" чисел)?

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение16.10.2017, 17:59 
Pphantom в сообщении #1256115 писал(а):
И ошибки, стало быть, по крайней мере порядка $10^2$ (судя по "круглости" чисел)?

Порядка $10^3$ наверху, порядка $10^2$ внизу.

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение17.10.2017, 04:51 
Аватара пользователя
Adventor в сообщении #1256084 писал(а):
Если аппроксимировать, то исходя из чего искать подходящую функцию?

Может физика процесса подскажет?
А так можно попробовать $ y(x)=a+\frac {b}{(x+c)^d} $.

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение17.10.2017, 11:33 
В логарифмических осях оно здорово напоминает гауссиану (поднятую вверх и сдвинутую). Это, правда, уже четыре свободных параметра, что, пожалуй, много.

 
 
 
 Re: Интерполяция или аппроксимация?
Сообщение17.10.2017, 15:01 
Аватара пользователя
ИМХО,
1. Если нанести доверительные интервалы в логарифмических осях, то прямая туда легко войдет.
2. Различные наклоны на краях могут быть связаны с систематическими ошибками измерения на крайних диапазонах.

Например, если измерялось сопротивление:
1. Сильно большие занижались из-за всякого рода утечек.
2. Сильно маленькие завышались из-за сопротивления проводов.

 
 
 [ Сообщений: 20 ]  На страницу 1, 2  След.


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