LINUX.ORG.RU

Аппроксимация полиномом функции-пилы?

 , мнк


0

1

Вопрос общего плана и второй, чуть менее общего.

Вопрос 1: Есть «пилящая» зависимость параметра мониторинга (загрузки процессора, например) от времени - чем лучше такое аппроксимировать?

Hint: Проблема в том, что если по этому параметру мониторинга нужно отрисовать график за 2 года на картинке размером 640*480 - то в общем все точки выводить совсем не хочется, а хочется построить по выборочным максимумам и минимумам (например, за 2-е суток) аппроксимацию.

Вопрос 2: Для МНК и аппроксимации полиномом k-й степени (ну, мне k=5 нравится, например) - в R есть, формально, функция nls в stats'ах (http://www.inside-r.org/r-doc/stats/nls). Но её синтаксис мне просто выносит напрочь мозг, а пример использования - добивает окончательно. Не видели ли вы, товарищи, пример какой-нибудь... попроще? :)

Заранее безлимитное всем спасибо!

★★★★★

Я правильно понимаю, что это когда точек так много что кривая выглядит довольно красиво, а если увеличить масштаб - то на деле очень мелкие зигзаги и для вычисления производных надо аппроксимировать?

Попробуй это:

https://www.gnu.org/software/gsl/manual/html_node/Chebyshev-Approximations.html

У R вполне должны быть биндинги к gsl или свои аналоги.

У меня недавно был похожий случай, но кривая была такая что помогло только это:

https://www.gnu.org/software/gsl/manual/html_node/Basis-Splines.html#Basis-Splines

ados ★★★★★
()

По моему ты хочешь простой интерполяции, и МНК тут не причем.

stats::approx           Interpolation Functions
stats::spline           Interpolating Splines

psv1967 ★★★★★
()

Кстати вот gsl-ий аналог nls:

https://www.gnu.org/software/gsl/manual/html_node/Nonlinear-Least_002dSquares-Fitting.html#Nonlinear-Least_002dSquares-Fitting

Может эти доки тебе помогут.

Я это как-то раз использовал, но не получалось. Может с функцией я ошибся, хотя она у меня была довольно похожа. Может функция была очень сложной для машинки. Не фартануло короче.

ados ★★★★★
()

Не стоит пилу аппроксимировать полиномами, даже чебышёвскими, по всей области, гораздо лучше локально сплайнами.

aedeph_ ★★
()

В R можно аппроксимировать полиномиальными и натуральными кубическими сплайнами. Функции соответственно bs() и ns() из splines. Лучшее ли это на пиле, я не знаю, но задав степень повыше можно получить любую точность. ns только для кубических и дает гладкую экстраполяцию на правом крае, тебе это не обязательно. В параметрах число степеней свободы - количество узлов на которые разбивается горизонтальная ось (+4 для ns) Тут можно посмотреть, как это устроено

https://www.youtube.com/watch?v=7ZIqzTNB8lk

Bell
()

хочется построить по выборочным максимумам и минимумам (например, за 2-е суток) аппроксимацию

Получится же не очень корректный график?

Какой параметр вам важнее отобразить - максимальную загрузку? Среднюю? Лучше тогда просто показывать это значение.

Если хотите показать честнее, можно вертикальные линии графика отображать с разным уровнем прозрачности.

Deleted
()

... функции-пилы? ... чем лучше такое аппроксимировать?

Компактно определяется коэффициентами наклонного преобразования (slant transform).
В стандартных мат. пакетах обычно считают через преобразования Уолша-Адамара.

quickquest ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.