Найти в Дзене
Андрей Куликов

Сглаживание по трём точкам, исследование и усовершенствование

..........................."Вершины понизятся, а низины повысятся", - Исус Христос. Версия 2026.02.06, исправленная и дополненная. Сглаживание по трём точкам является свёрткой (конволюцией) исходных числовых данных с трёхчленным многочленом (полиномом), называемым окном [7]. Окно задаётся формулой и тремя весовыми коэффициентами. Линейное и нелинейное сглаживание производятся по одним и тем же формулам и алгоритмам, меняются только весовые коэффициенты в сглаживающем окне. При линейном сглаживании все весовые коэфффициенты в сглаживающем окне равны и сглаживающее окно прямоугольное. При нелинейном сглаживании весовые коэффициенты сглаживающем окне не равны и сглаживающее окно может быть треугольным, как у Хана при N=5, квадратичным (параболическим), как у Савицкого-Голея [8], экспоненциальным, одним из приближений колоколообразной функции нормального распределения Гаусса [6], как у Хэмминга, Блэкмана, Кайзера и др. [7], или прямо функцией нормального распределения Гаусса. Самым перв

..........................."Вершины понизятся, а низины повысятся", - Исус Христос.

Версия 2026.02.06, исправленная и дополненная.

Сглаживание по трём точкам является свёрткой (конволюцией) исходных числовых данных с трёхчленным многочленом (полиномом), называемым окном [7]. Окно задаётся формулой и тремя весовыми коэффициентами.

Линейное и нелинейное сглаживание производятся по одним и тем же формулам и алгоритмам, меняются только весовые коэффициенты в сглаживающем окне. При линейном сглаживании все весовые коэфффициенты в сглаживающем окне равны и сглаживающее окно прямоугольное. При нелинейном сглаживании весовые коэффициенты сглаживающем окне не равны и сглаживающее окно может быть треугольным, как у Хана при N=5, квадратичным (параболическим), как у Савицкого-Голея [8], экспоненциальным, одним из приближений колоколообразной функции нормального распределения Гаусса [6], как у Хэмминга, Блэкмана, Кайзера и др. [7], или прямо функцией нормального распределения Гаусса.

Самым первым и самым грубым приближением колоколообразной функции нормального распределения Гаусса является прямоугольное окно, которое получается при вычислении коэффициентов весовой функции методом "простого среднего (арифметического)". При этом свёртка сглаживаемых данных происходит с линейной функцией в окне, а сглаживание называется линейным.

В литературе по трёхточечному сглаживанию не редко приводятся формулы линейного сглаживания (свёртки, конволюции) равно отстоящих цифровых данных по трём точкам методом "простого среднего (арифметического)" [1][3]:

SY[0] = (5*Y[0]+2*Y[1]-Y[2])/6, т.е. коэффициенты (5,2,-1)/6,

SY[I] = (Y[I-1])+Y[I]+Y[I+1])/3, 1<=I<=N-1, т.е. коэффициенты (1,1,1)/3,

SY[N] = (-Y[N-2]+2*Y[N-1]+5*Y[N])/6, т.е. коэффициенты (-1,2,5)/6.

Проверим линейное сглаживание по формулам с этими весовыми коэффициентами на контрольном примере, в котором точки исходной наклонной линии (чёрная) периодически отклонены по оси Y смоделированными "шумами" на +3 и -3 от исходных (окружности чёрного цвета):

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

Более точным приближением колоколообразной функции нормального распределения, чем прямоугольное окно, является треугольное окно, которое является окном Хана при N=5 [7]:

W[I]=(1-COS(2*Pi*I/(N-1)))/2,

где W - весовой коэффициент точки в окне (Weight), I - номер точки в окне, N - ширина окна, а Pi=3.1415, но, из-за нулевых крайних коэффициентов, становится трёхточечным, с весовыми коэффициентами (1,2,1)/4 (25%, 50% и 25%) [7][5]. Применим их для точек внутри отрезка вместо прямоугольного сглаживающего окна с коэффициентами "простого среднего (арифметического)" (1,1,1)/3 (33и1/3%, 33и1/3% и 33и1/3%). Сглаживание при этом становится нелинейным:

SmoothedY[I]=SY[I] = (Y[I-1])+2*Y[I]+Y[I+1])/4, 1<=I<=N-1, т.е. (1,2,1)/4:

-2

На снимке видно, что сглаженные точки (окружности зелёного цвета) внутри отрезка точно попали в исходную наклонную линию, а крайние точки ("хвосты среднего арифметического") остались на прежних местах.

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

SY[0] = (3*Y[0]+2*Y[1]-Y[2])/4, т.е. коэффициенты (3,2,-1)/4,

SY[N] = (-Y[N-2]+2*Y[N-1]+3*Y[N])/4, т.е. коэффициенты (-1,2,3)/4:

-3

На снимке видно, что и крайние точки точно попали в исходную наклонную прямую ("хвосты среднего арифметического" исчезли). Следует отметить, что трёхточечное сглаживание с коэффициентами Хана, по неизвестной причине, оказалось лучше, чем с коэффициентами из фукции нормального распределения при N=3. Вероятно из-за того, что коэффициенты Хана являются пятиточечными, при N=5, но из-за нулевых крайних значений сводятся к трёхточечному окну сглаживания.

Увеличим амплитуду шумов в 100 раз (на два порядка) с +/-3 до +/-300:

-4

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

Так как при большей амплитуде Турбо Бэйсик не отображает шумы на графике, то увеличим амплитуду шумов в 100000 раз (на пять порядков) с +/-3 до +/-300000 в версии этой программы на C:

-5

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

Проверим линейное сглаживание ломанной линии с отклонениями +/-1 по формулам с весовыми коэффициентами для "простого среднего (арифметического)" из справочника Дьяконова [1]:

-6

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

Проверим нелинейное сглаживание ломанной линии по формулам с нелинейными весовыми коэффициентами "3 (судовождение)" из таблицы 1 в работе [5] для "среднего взвешенного" [3] с нелинейными весовыми коэффициентами для крайних точек:

-7

На снимке видно, что исходная ломанная линия в точке излома (Y[5]=5) сгладилась (SY[5]=5.5), "хвосты среднего арифметического" исчезли, т.е. нелинейное сглаживание "средним взвешенным" по Хану эффективнее линейного сглаживания "простым средним (арифметическим)" [1], что очень значимо, например, в судовождении [5], где каждая экспериментальная точка стоит очень дорого.

Для сравнения приведём результат сглаживания той же зашумлённой ломанной линии сглаживанием по пяти точкам с линейными весовыми коэффициентами для "простого среднего (арифметического)" из справочника Дьяконова [1]:

-8

На снимке видно, что, так как второй левый кусок и второй правый кусок (зелёные) от точки излома параллельны исходной ломанной линии (чёрной), то левая и правая точки от точки излома не сгладились вовсе, а в точке излома сглаженная точка (зелёная) опустилась очень низко и вместо выпуклости образовала впадину и две вершины на сглаженной (зелёной) (Эльбрус вместо Эвереста), но, по сравнению с зашумлённой ломанной (чёрные окружности), по амплитуде две вершины всётаки уменьшились, "хвосты среднего арифметического" присутствуют. Т.е. нелинейное сглаживание по трём точкам с весовыми коэффициентами "3 (судовождение)" из таблицы 1 в работе [5] для "среднего взвешенного" [3] эффективнее и сглаживания по пяти точкам с линейными весовыми коэффициентами для "простого среднего (арифметического)" [1].

Сглаживание зашумлённой ломанной второго порядка (параболы) линейным сглаживанием (с прямоугольным окном, методом "простого среднего (арифметического)"):

-9

На снимке видно, что сглаженные точки рыщут "зиг-загом", "хвосты среднего арифметического" присутствуют.

Сглаживание зашумлённой ломанной второго порядка (параболы) нелинейным сглаживанием с треугольным сглаживающим окном по Хану:

-10

На снимке видно, что сглаженные точки не рыщут "зиг-загом", а "хвосты среднего арифметического" исчезли, т.е. нелинейное сглаживание по Хану ломанной второго порядка (параболы) лучше, чем линейное сглаживание.

Сглаживание зашумлённой ломанной третьего порядка (кубической параболы) линейным сглаживанием (с прямоугольным окном, методом "простого среднего (арифметического)"):

-11

На снимке видно, что сглаженные точки рыщут "зиг-загом", а "хвосты среднего арифметического" присутствуют.

Сглаживание зашумлённой ломанной третьего порядка (кубической параболы) нелинейным сглаживанием с треугольным окном по Хану:

-12

На снимках видно, что сглаженные точки не рыщут "зиг-загом", а "хвосты среднего арифметического" исчезли, т.е. нелинейное сглаживание по Хану зашумлённой ломанной третьего порядка (кубической параболы) тоже лучше, чем линейное сглаживание.

Для сравнения приведём результаты сглаживания экспериментальных данных фотоседиментограммы из работы [5] (чёрная) по трём точкам методом "простого среднего (арифметического)" (красная) и методом "среднего взвешенного" (зелёная) [5]:

-13

На снимке видно, что результаты сглаживания фотоседиментограммы (чёрная) методом "простого среднего (арифметического)" (красная) и методом "среднего взвешенного" (зелёная) приблизительно одинаковы и отличаются не намного, но в сглаживании методом "простого среднего (арифметического)" сглаженные точки (красные) "перетягиваются" то в одну, то в другую сторону от более точного метода "среднего взвешенного" (зелёные).

Формулы нелинейного сглаживания по трём равно отстоящим по X точкам с весовыми коэффициентами Хана при N=5 [7] для "среднего взвешенного" [3][5] с нелинейными весовыми коэффициентами для крайних точек:

-14

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

SY[0] = (2*Y[0]+2*Y[1]-Y[2])/3, т.е. коэффициенты (2,2,-1)/3,

SY[N] = (-Y[N-2]+2*Y[N-1]+2*Y[N])/3, т.е. коэффициенты (-1,2,2)/3.

-15

Если нужно сгладить (отфильтровать, уменьшить) менее высокочастотные составляющие (шумы и гармоники), то нужно перейти к окну с бОльшим нечётным количеством точек (5, 7, 9, ...) [9][10][11][12].

Литература:

1. Д ь я к о н о в В. П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ: Справочник. — М.: Наука. гл. ред. физ.-мат. лит., 1989. — 240 с. — ISBN 5-02-014530-0. Файл: diakonovvp8.djvu

2. Боброва А. А. Сравнительный анализ методов сглаживания контурных линий на изображении. Глава 1. 2. Алгоритм сглаживания по трём точкам с коэффициентом. Выпускная квалификационная работа бакалавра. Санкт-Петербургский государственный университет. Кафедра моделирования экономических систем. Санкт-Петербург. 2016.

3. Сглаживание методом простой скользящей средней. Скользящая средняя взвешенная. https://math.semestr.ru/trend/smoothing.php

4. Примеры расчётов аэродинамических процессов переработки сыпучих материалов в Excel. Шишкин А. С., Шишкин С. Ф. Уральский федеральный Университет. Екатеринбург, 2015. 2.1. Сглаживание экспериментальных данных. Рис.2.2.

5. Весовое сглаживание навигационных данных с переменными интервалами измерений. Васьков А. С., Мельник В. Г. Государственный морской университет имени адмирала Ф.Ф.Ушакова. Новороссийск. Интернет-журнал «НАУКОВЕДЕНИЕ». Выпуск 4 (23), июль – август 2014. Таблица 1.

6. Нормальное распределение. Википедия.

7. Оконное преобразование Фурье. Википедия.

8. Фильтр Савицкого-Голея. Википедия.

9. Сглаживание по двум точкам. Куликов А. С.

10. Сглаживание по пяти точкам, исследование. Куликов А. С.

11. Сглаживание по семи точкам, исследование. Куликов А. С.

12. Сглаживание по девяти точкам, исследование. Куликов А. С.

Приложения:

1. Скачать Borland TurboBasic 1.1:

https://andserkul.narod.ru/TB.rar

2. Скачать программу построения графиков и сглаживания в TurboBasic'е:

https://andserkul.narod.ru/SMOOTH3G.bas

3. Скачать программу построения графиков и сглаживания на C:

https://andserkul.narod.ru/SMOOTH3P.c