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

Полиномиальная регрессия методом наименьших квадратов для произвольно отстоящих данных на Borland Turbo Basic'е

....................................................."Даром дадено, даром давайте", - Исус Христос. Версия 2026.05.06, исправленная и дополненная. В справочнике Дьяконова [1] приведено небольшое описание и программа 5.25 полиномиальной регрессии (понижения степени аппроксимирующего (приближающего) полинома) методом наименьших квадратов [3] на Basic'е для карманного компьютера CASIO FX-702P, доступного не многим. Автор этой статьи сделал перевод этой программы на Borland Turbo Basic, доступный для многих пользователей MS-DOS, Windows и Android. В отличие от интерполяции не сглаживающими сплайнами [5][6][7][8], при которой интерполирующий мультиполином (многоряд) точно проходит через узлы входных данных, полиномиальная регрессия является сглаживанием методом наименьших квадратов и аппроксимирующий полином (ряд) не обязательно проходит через узлы входных данных, но сглаживание хуже, чем сглаживание по трём и большему нечётному количеству точек. Полиноминальная регрессия более пригодна д

....................................................."Даром дадено, даром давайте", - Исус Христос.

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

В справочнике Дьяконова [1] приведено небольшое описание и программа 5.25 полиномиальной регрессии (понижения степени аппроксимирующего (приближающего) полинома) методом наименьших квадратов [3] на Basic'е для карманного компьютера CASIO FX-702P, доступного не многим. Автор этой статьи сделал перевод этой программы на Borland Turbo Basic, доступный для многих пользователей MS-DOS, Windows и Android.

В отличие от интерполяции не сглаживающими сплайнами [5][6][7][8], при которой интерполирующий мультиполином (многоряд) точно проходит через узлы входных данных, полиномиальная регрессия является сглаживанием методом наименьших квадратов и аппроксимирующий полином (ряд) не обязательно проходит через узлы входных данных, но сглаживание хуже, чем сглаживание по трём и большему нечётному количеству точек. Полиноминальная регрессия более пригодна для выявления тренда, чем для аппроксимации или сглаживания.

Набор входных значений x, y(x) аппроксимируется (приближается) полиномом (многочленом) степени m в виде:

таким образом, чтобы минимизировать сумму квадратов отклонений аппроксимирующего полинома от входных значений x, y(x) [3].

Для этого составляется система линейных алгебраических уравнений (СЛАУ):

-2

где

-3

Решением её методом Гаусса [4] находятся коэффициенты a_0, a_1, a_2, a_3, ..., a_m.

Интерполяция производится по выше приведённой формуле аппроксимирующего полинома.

-4

Рис.1. Снимок с экрана результата прогона программы 5-25.BAS с контрольным примером "парабола" (y=x^2) в компиляторе Borland Turbo Basic.

Программа 5-25.BAS на Borland Turbo Basic'е

Степень полинома (максимум 14), число отсчётов и значения x_i и y_i(x_i) вводятся прямо в текст программы в операторах DATA. Диапазон и шаг интерполяции тоже вводятся прямо в текст программы в операторе цикла с переменной z.

-5
-6

Программа с графическим выводом 5-25G.BAS на Borland Turbo Basic'е

-7

Рис.2. Снимок с экрана результата прогона в компиляторе Borland Turbo Basic графической версии программы (5-25G.BAS) с регрессией полиномом 14-й степени прогноза погоды на 25 дней в феврале 2026 г.

Следует отметить, что во многих случаях, например, при интерполяции изотермы адсорбции-десорбции, интерполяция кубическим сплайном даёт лучшие результаты, чем аппроксимация полиномиальной регрессией методом наименьших квадратов отклонений.

Литература:

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

2. Полиномиальная регрессия. Wikipedia.

3. Метод наименьших квадратов. Википедия.

4. Решение СЛАУ методом Гаусса, программа. Куликов А. С. Дзен.

5. Простейший локальный кубический сплайн из справочника Дьяконова для равно отстоящих данных на Borland Turbo Basic'е и Borland C++ 5.5. Куликов А. С. Дзен.

6. Простейший локальный кубический сплайн для произвольно отстоящих данных из учебного пособия Амосова на Borland Turbo Basic'е. Куликов А. С. Дзен.

7. Глобальный кубический сплайн для произвольно отстоящих данных из справочника Дьяконова на Borland Turbo Basic'е. Куликов А. С. Дзен.

8. Глобальный кубический сплайн для произвольно отстоящих данных на Borland Turbo Basic'е. Куликов А. С. Дзен.

Приложения:

1. Программа: 5-25.BAS

2. Программа: 5-25G.BAS

3. Архив с Borland Turbo Basic: TB.rar

4. Руководство по Borland Turbo Basic: TBASIC.TXT