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

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

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

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

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

В справочнике Дьяконова [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