Paired piecewise linear regression model with fixed nodes
- Authors: Zubrilin K.M.1
-
Affiliations:
- Branch of Federal State Budgetary Educational Institution of Higher Education «Kerch State Maritime Technological University» in Feodosiya
- Issue: Vol 60, No 4 (2024)
- Pages: 113-124
- Section: Mathematical analysis of economic models
- URL: https://bakhtiniada.ru/0424-7388/article/view/269451
- DOI: https://doi.org/10.31857/S0424738824040103
- ID: 269451
Full Text
Abstract
In this paper we develop a method for constructing a paired regression model in the class of piecewise linear continuous functions with fixed nodes. The concept of linear division of the correlation field, its partial sections and its nodes is introduced into consideration. Using the linear division of the correlation field, a class of piecewise linear functions with fixed nodes is determined. The linear division is revealed during the visual analysis of the correlation field. Using the least squares method, a system of linear equations is compiled to find point estimates of the parameters of the approximating function. With the exception of two unknown angular coefficients (unknown) this system is reduced to a tridiagonal system of equations, the unknowns of which are the nodal values of the approximating function. The tridiagonal system is solved by the run-through method. An algorithm was constructed to demonstrate the operation of the developed method. Its initial data is arrays of the corresponding values of the explanatory and dependent variables, as well as an array of numbers of the right ends of the intervals defining the nodes. An array of fixed nodes is constructed from an array of values of the explanatory variable and an array of numbers of the right ends of the intervals. Next, an array of point estimates of the parameters of the approximating function is constructed. This algorithm is implemented in Python in the form of user-defined functions.
Full Text
ВВЕДЕНИЕ
Регрессионное моделирование представляет собой математический аппарат исследования экономических процессов, целями которого являются анализ изучаемого процесса, прогноз экономических показателей, моделирование поведения процесса и выработка управленческих решений. Например, регрессионное моделирование используется для прогнозирования финансовых временных рядов, моделирования показателей перевозочного процесса на транспорте, исследования пропускной способности аэропортов и т. п.
Исходными данными парной регрессионной модели являются наборы значений объясняющей и зависимой переменных, которые геометрически изображаются точками координатной плоскости, образуя корреляционное поле.
Моделирование начинается с определения вида аппроксимирующей функции. В результате предварительного анализа корреляционного поля выявляется класс функций, среди представителей которого находится аппроксимирующая функция. Представитель класса — математическое выражение, содержащее объясняющую переменную и некоторые параметры. Когда параметры независимо друг от друга пробегут по множествам допустимых значений, представитель пробежит весь класс.
Следующий этап — применение метода наименьших квадратов для нахождения оценок параметров аппроксимирующей функции. Эти оценки образуют решение оптимизационной задачи о минимуме суммы квадратов отклонений наблюдаемых значений объясняемой переменной от теоретических значений, рассчитанных на основании аппроксимирующей функции.
На заключительном этапе моделирования проверяется адекватность построенной модели, т. е. соответствует ли построенная модель априорным данным.
Постмодельный этап использует основные предпосылки регрессионного анализа для проверки значимости параметров аппроксимирующей функции — достаточно ли объясняющей переменной для описания зависимой переменной.
Парная линейная регрессионная модель является самой распространенной ввиду простоты получения ее оценок как точечных, так и интервальных. Тем не менее реальные физические и социально-экономические процессы, как правило, имеют более сложную, нелинейную природу. Существуют априорные приемы выявления класса нелинейных функций (степенных, показательных, логарифмических и т. д.), к которому принадлежит аппроксимирующая функция. Парные нелинейные регрессионные модели, перечисленные выше, относятся к числу линеаризующихся моделей. Они надлежащей заменой переменных приводятся к линейной вспомогательной модели. Нахождение оценок параметров нелинейной модели, а также проверка значимости этих параметров осуществляется на основании вспомогательной линейной модели.
В большинстве случаев изучаемые нелинейные модели не линеаризуются. Здесь можно применить полиномиальную модель и попытаться улучшить ее адекватность повышая степень аппроксимирующего многочлена. Но это ведет к усложнению точечных оценок. Вопрос же о получении интервальных оценок параметров и проверки их значимости остается открытым.
Более эффективный путь — использование кусочно-непрерывной аппроксимации с известными кусками. Если в качестве кусков брать линейные функции, то получатся кусочно-линейные модели. Они различаются методами построения аппроксимирующих кусочно-линейных функций.
В работе (Боровской, Костелей, 2017, с. 73) применяется алгоритм кусочно-линейной аппроксимации при прогнозировании финансовых временных рядов. Здесь строится набор трендовых линий, разделяющих область интервала и не соединенных между собой. Затем для получения непрерывной трендовой модели используется механизм сглаживания. В результате получается трендовая модель, состоящая из последовательно соединенных трендов.
В работах (Носков, 2013, с. 135; Иванова, Лебедева, Носков, 2016, с. 107; Носков, Лоншаков, 2008, с. 63; Носков, Хоняков, 2019, с. 47) рассмотрена кусочно-линейная регрессионная модель, называемая также производственной функцией Леонтьева, или функцией с нулевой эластичностью замены ресурсов. Идентификация параметров этой модели осуществлена при помощи метода наименьших модулей, реализация которого сводится к задаче линейно-булевого программирования.
В работе (Носков, 2023, с. 218) осуществляется формализация вложенной кусочно-линейной регрессии двух типов, являющихся комбинациями традиционной кусочно-линейной регрессии и функции риска. Нахождение оценок параметров вложенной кусочно-линейной регрессии сводится к решению задачи линейно-булевого программирования.
В настоящей работе разрабатывается метод построения аппроксимирующей функции в классе кусочно-линейных функций с фиксированными узлами.
1. КЛАСС КУСОЧНО-ЛИНЕЙНЫХ ФУНКЦИЙ С ФИКСИРОВАННЫМИ УЗЛАМИ
Пусть имеются наборы и значений объясняющей и зависимой переменных. Точки , координатной плоскости образуют корреляционное поле .
Будем предполагать, что последовательность строго возрастает, т. е. . При необходимости последовательности и можно перенумеровать так, чтобы условие возрастания выполнялось.
Для точек и таких, что и , множество точек , корреляционного поля , удовлетворяющих условию будем называть полосовым участком, а точки и его узлами, левым и правым соответственно. Случай бесконечных узлов не исключается.
Узлы полосового участка определяются неоднозначно. Если , то в качестве левого узла можно взять любое число интервала или . Если , то найдется такое натуральное число , что и . В этом случае каждое число интервала может быть взято в качестве левого узла. Если , то правым узлом может быть любое число интервала или . Если , то найдется такое натуральное число , что и . Тогда каждое число интервала может быть взято в качестве правого узла. Вопрос выбора хороших узлов, т. е. узлов, удовлетворяющих нужным условиям (например, оптимальности), остается открытым. В общем случае, когда на узлы не накладываются условия, левым узлом будем брать или середину интервала , а правым узлом или середину интервала .
С геометрической точки зрения для конечных узлов и прямые и вырезают из корреляционного поля полосовой участок. Эти прямые будем называть узловыми.
Полосовым разбиением корреляционного поля будем называть конечную последовательность непустых попарно непересекающихся полосовых участков, объединение которых совпадает с корреляционным полем. При этом для каждого полосового участка этой последовательности, кроме последнего, его правый узел совпадает с левым узлом следующего участка данной последовательности. Элементы полосового разбиения будем называть частичными участками разбиения. Таким образом, последовательность полосовых участков является полосовым разбиением, если:
- ;
- ; ;
Если число частичных участков полосового разбиения равно , то их попарно различные узлы, расположенные в порядке возрастания, обозначим как
, , , …, , . (1)
Причем в общем случае, и . Тогда — первый частичный участок разбиения; — второй, …; — участок m. Найдется такая возрастающая последовательность первых n — 1 натуральных чисел, что для каждого . Для удобства введем обозначения: , . Тогда:
;
, ;
.
Геометрически прямые , , …, разрезают корреляционное поле на полосовые участки, составляющие его полосовое разбиение.
Полосовой участок будем называть линейным, если, рассматривая его как отдельное корреляционное поле, можно эффективно применять линейную аппроксимацию. Полосовое разбиение корреляционного поля будем называть линейным, если каждый его частичный участок является линейным.
На данный момент нет четкого алгоритма построения линейного разбиения корреляционного поля. Можно предложить следующие правила: во-первых, линейность участка определяется визуально, а во-вторых, число таких линейных участков должно быть наименьшим. Поэтому первичной обработкой исходных данных является визуальный анализ корреляционного поля, результатом которого будет последовательность номеров правых концов интервалов , для определения узлов , линейного разбиения R.
Для каждого частичного участка линейного разбиения R на отрезке с концами в узлах построим линейную функцию таким образом, чтобы для любых двух соседних частичных участков данного разбиения в их общем узле значения линейных функций совпадали. В результате на интервале будет построена кусочно-линейная функция с фиксированными узлами (1):
(2)
где
, . (3)
Значения кусочно-линейной функции в узлах называют узловыми значениями.
Использовав элементарные преобразования, с учетом условий (3), легко получить выражения для коэффициентов , , , , через узлы и узловые значения. В таком случае кусочно-линейная функция примет вид
(4)
Геометрически (рис. 1) левый кусок изображается лучом с началом в точке , правый кусок — лучом с началом в точке , промежуточный кусок i — отрезком с концами в точках и для каждого . Эти отрезки являются звеньями ломаной линии.
Рис. 1. Кусочно-линейная функция, определенная на линейном разбиении корреляционного поля
Из (4) видно, что кусочно-линейная функция зависит от m + 1 параметров. Из них m — 1 узловых значений , …, , перемещающих вершины ломаной вдоль узловых прямых , …, ; — угловой коэффициент левого луча, поворачивающий его вокруг начала в точке ; — угловой коэффициент правого луча, позволяющий поворачивать его вокруг начала .
Таким образом, мы построили класс кусочно-линейных функций с фиксированными узлами. Именно в этом классе, методом наименьших квадратов, мы будем искать аппроксимирующую функцию.
2. МЕТОД НАИМЕНЬШИХ КВАДРАТОВ В КЛАССЕ КУСОЧНО-ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ ФУНКЦИЙ С ФИКСИРОВАННЫМИ УЗЛАМИ
Сумма квадратов отклонений точек корреляционного поля от кусочно-линейной непрерывной функции (4) имеет вид:
.
Обозначим , , тогда
(5)
Согласно методу наименьших квадратов оценки параметров функции регрессии, представленной кусочно-линейной непрерывной функцией с фиксированными узлами, находятся как решение оптимизационной модели .
Необходимые условия локального экстремума функции от нескольких переменных имеют вид:
, , …, . (6)
Введем в рассмотрение величины групповых сумм:
, , , ,
, ;
, , , .
Тогда частные производные от , с учетом (5), примут следующий вид.
Частная производная по :
.
Отсюда
(7)
Частная производная по :
Тогда
(8)
Для произвольного находим частную производную по :
Тогда
(9)
Частная производная по :
Тогда
(10)
Частная производная по :
Тогда
(11)
Подставляя правые части равенств (7)–(11) в систему (6), получим систему уравнений:
(12)
Из первого уравнения системы (12) находим
. (13)
Правую часть равенства (13) подставим во второе уравнение системы (12):
.
Фактически мы из второго уравнения системы (12) исключили . Подобным образом из последнего равенства системы (12) будем иметь
(14)
С помощью равенства (14) из предпоследнего уравнения системы (12) исключаем и приходим к уравнению:
К двум уравнениям, полученным из второго и предпоследнего уравнения системы (12) исключением и , добавляем неиспользованные уравнения системы (12). Приходим к системе уравнений:
(15)
коэффициенты которой определяются равенствами:
(16)
(17)
(18)
Именно точечные оценки параметров , …, находятся как решения системы уравнений (15).
Система уравнений (15) называется трехдиагональной. Известен метод прогонки решения такой системы (см., например, (Ильин, Кузнецов, 1985, с. 50)). Для полноты изложения приведем его в разд. 3.
3. МЕТОД ПРОГОНКИ РЕШЕНИЯ ТРЕХДИАГОНАЛЬНОЙ СИСТЕМЫ УРАВНЕНИЙ
Главные миноры матрицы системы (15) обладают свойствами:
, . (19)
Раскладывая по последней строке, будем иметь
Вспомогательные определители получаются из главных миноров заменой последнего столбца столбцом свободных членов:
, . (20)
Раскладываем по последней строке
.
Из первого уравнения системы (15) получим
. (21)
Методом математической индукции доказывается, что выполняются равенства
(22)
(23)
Уравнение (23) и последнее уравнение системы (15) приводят к системе двух линейных уравнений с переменными и .
Методом Крамера решения систем линейных уравнений приходим к равенству
. (24)
Подставляя правую часть (24) в (23), находим . Применяя к равенству (22) индукцию спуска, получим все значения от до включительно. Подставляя в (21), находим , что завершает решение системы (15).
Для решения системы (12) необходимо выполнить еще два шага. Значение подставить в равенство (14) и определить , а подставить в равенство (13) и найти . Решив систему (12), мы найдем точечные оценки параметров аппроксимирующей функции (4).
Равенства (21)–(24) совместно с (13) и (14) составляют каркас алгоритма определения точечных оценок параметров аппроксимирующей функции. Остановимся на этом подробнее.
4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АППРОКСИМИРУЮЩЕЙ ФУНКЦИИ В КЛАССЕ КУСОЧНО-ЛИНЕЙНЫХ ФУНКЦИЙ С ФИКСИРОВАННЫМИ УЗЛАМИ
Входными данными являются массивы значений , и . По ним вычисляются групповые суммы, которые сохраняются в специальных переменных и массивах. Затем находим коэффициенты и свободные члены системы (15) и сохраняем их значения в отдельном массиве. После этого рассчитываем значения главных миноров и вспомогательных определителей и сохраняем их в двух массивах. Применяя равенства (21)–(24) к элементам двух последних массивов, мы найдем для . В заключение равенствами (13) и (14) получаем , . Алгоритм возвращает массив значений параметров , , , .
Данный алгоритм реализован на языке Python в виде функции Gluing_m_Linear_Pieces().
Вычисление значения аппроксимирующей функции в точке реализуется с помощью функции mLinearGluing(), а на векторе — с помощью функции mLinearGluingV().
Напомним, что последовательность узлов построена в разд. 1 по номерам , правых концов интервалов . Функция IndexKnot() принимает массивы и и возвращает массив узлов как середины , соответствующих интервалов.
Также организована функция mLinearGluingDeter() для вычисления коэффициента детерминации .
5. ПРИМЕР
Работу алгоритма из разд. 4 проиллюстрируем на следующем примере. В табл. 1 приведены значения , соответствующих значений объясняющей и зависимой переменных. Согласно алгоритму, составляем корреляционное поле (рис. 2).
Таблица 1. Значения соответствующих значений объясняющей X и зависимой Y переменных
i | x | y | i | x | y | i | x | y |
1 | 0,5 | 0,63 | 17 | 8,5 | 46,81 | 33 | 16,5 | 32,73 |
2 | 1 | 1,91 | 18 | 9 | 35,66 | 34 | 17 | 13,14 |
3 | 1,5 | 2,12 | 19 | 9,5 | 63,41 | 35 | 17,5 | 7,57 |
4 | 2 | 1,85 | 20 | 10 | 63,91 | 36 | 18 | 7,62 |
5 | 2,5 | 2,06 | 21 | 10,5 | 55,85 | 37 | 18,5 | 15,03 |
6 | 3 | 3,64 | 22 | 11 | 57,04 | 38 | 19 | 14,14 |
7 | 3,5 | 4,63 | 23 | 11,5 | 55,21 | 39 | 19,5 | 17,1 |
8 | 4 | 4,81 | 24 | 12 | 54,82 | 40 | 20 | 11,67 |
9 | 4,5 | 3,72 | 25 | 12,5 | 49,69 | 41 | 20,5 | 11,48 |
10 | 5 | 5,38 | 26 | 13 | 49,24 | 42 | 21 | 23,08 |
11 | 5,5 | 9,36 | 27 | 13,5 | 55,74 | 43 | 21,5 | 36,1 |
12 | 6 | 6,2 | 28 | 14 | 53,25 | 44 | 22 | 32,34 |
13 | 6,5 | 7,87 | 29 | 14,5 | 46,48 | 45 | 22,5 | 64,81 |
14 | 7 | 10,45 | 30 | 15 | 49,18 | 46 | 23 | 54,49 |
15 | 7,5 | 28,44 | 31 | 15,5 | 43,15 | |||
16 | 8 | 29,71 | 32 | 16 | 32,47 |
Рис. 2. Корреляционное поле
Примечание. Рис. 2–4 выполнены в Python с помощью пакета расширений matplotlib.
Проводим визуальный анализ на обнаружение линейного разбиения данного корреляционного поля. Выбираем интервалы: , , , , . Находим их середины
Вертикальные прямые , , , , разбивают корреляционное поле на шесть полосовых участков. В пределах каждого участка можно эффективно проводить линейную аппроксимацию. Следовательно, все полосовые участки являются линейными, образуя линейное разбиение данного корреляционного поля, а точки ; ; и — его конечными узлами (рис. 3).
Рис. 3. Визуальный анализ корреляционного поля с построением линейного разбиения
К массивам , , применяем функцию Gluing_m_LinearPieces(). Находим массив параметров (коэффициентов) аппроксимирующей функции 5,545729; 59,61817; 48,05973; 10,0931; 16,10552;0,717556; 20,23084.
Далее вычисляем значения кусочно-линейной функции в точках массива с помощью функции mLinearGluing() и получаем массив значений (табл. 2). С помощью найденных значений строим график аппроксимирующей функции (рис. 4). С помощью функции mLinearGluingDeter() вычисляем коэффициент детерминации R2 = 0,9571.
Таблица 2. Значения кусочно-линейной аппроксимирующей функции
i | ϕ (xi) | i | ϕ (xi) | i | ϕ (xi) | i | ϕ (xi) | i | ϕ (xi) |
1 | 1,42 | 11 | 5,008 | 21 | 58,042 | 31 | 43,314 | 41 | 15,676 |
2 | 1,779 | 12 | 5,366 | 22 | 56,991 | 32 | 33,822 | 42 | 21,163 |
3 | 2,137 | 13 | 9,408 | 23 | 55,94 | 33 | 24,331 | 43 | 31,279 |
4 | 2,496 | 14 | 17,133 | 24 | 54,89 | 34 | 14,839 | 44 | 41,394 |
5 | 2,855 | 15 | 24,857 | 25 | 53,839 | 35 | 10,523 | 45 | 51,509 |
6 | 3,214 | 16 | 32,582 | 26 | 52,788 | 36 | 11,381 | 46 | 61,625 |
7 | 3,572 | 17 | 40,307 | 27 | 51,737 | 37 | 12,24 | ||
8 | 3,931 | 18 | 48,031 | 28 | 50,687 | 38 | 13,099 | ||
9 | 4,29 | 19 | 55,756 | 29 | 49,636 | 39 | 13,958 | ||
10 | 4,649 | 20 | 59,093 | 30 | 48,585 | 40 | 14,817 |
Рис. 4. Корреляционное поле и кусочно-линейная аппроксимирующая функция
6. ВЫВОДЫ И ПЕРСПЕКТИВЫ ДАЛЬНЕЙШИХ ИССЛЕДОВАНИЙ
Разработан метод построения парной регрессионной модели в классе кусочно-линейных функций с фиксированными узлами. В результате визуального анализа корреляционного поля определяются фиксированные узлы кусочно-линейной функции и строятся групповые суммы. По формулам (16)–(18) вычисляются коэффициенты системы (15), которая решается методом прогонки. Из равенств (13) и (14) находим угловые коэффициенты.
Представлен алгоритм вычисления точечных оценок параметров аппроксимирующей функции в классе кусочно-линейных функций с фиксированными узлами. Этот алгоритм реализован на языке Python в виде пользовательской функции.
Улучшить полученные результаты можно решив следующие задачи.
- Нахождение оптимальных фиксированных узлов (1). Оптимальность понимается в смысле обеспечения минимума суммы квадратов отклонений (5). При этом областью изменения узла является интервал , . Если рассматривать сумму квадратов отклонений как функцию переменных , то частные производные , выражаются через переменные , , , , …, , , , …, нелинейно. В таком случае уравнения , относительно указанных переменных являются нелинейными. Так что при решении системы для отыскания неизвестных оценок можно столкнуться с серьезными трудностями.
- Используя основные предпосылки регрессионного анализа определить интервальные оценки для параметров , , , …, , а также для математического ожидания объясняемой переменной , и прогнозного значения этой переменной.
- Нахождение оптимального числа фиксированных узлов кусочно-линейной аппроксимирующей функции. Под оптимальностью понимается наименьшее значение , при котором достигается наибольшее значение коэффициента детерминации . Можно попробовать следующий алгоритм. Определяем коэффициент детерминации линейной регрессионной модели. Далее каждый новый узел добавляем так, чтобы коэффициент детерминации увеличивался.
- Разработка универсального алгоритма по определению оптимального числа оптимальных фиксированных узлов кусочно-линейной функции регрессии и нахождение точечных и интервальных оценок ее параметров.
About the authors
K. M. Zubrilin
Branch of Federal State Budgetary Educational Institution of Higher Education «Kerch State Maritime Technological University» in Feodosiya
Author for correspondence.
Email: kzubrilin@yandex.ru
Russian Federation, Feodosiya
References
- Боровской И. Г., Костелей Я. В. (2017). Прогнозная модель финансовых рядов на основе кусочно-линейной аппроксимации // Доклады ТУСУРа. Т. 20. № 2. С. 73–75. [Borovskoy I. G., Kosteley Y. V. (2017). Use of piecewise-linear approximation to identify trends in the financial market. Proceedings of TUSUR University, 20, 2, 73–75 (in Russian).]
- Иванова Н. К., Лебедева С. А., Носков С. И. (2016). Идентификация параметров некоторых негладких регрессий // Информационные технологии и проблемы математического моделирования в управлении сложными системами. № 17. С. 107–110. [Ivanova N. K., Lebedeva S. A., Noskov S. I. (2016). Identification of parameters of some nonsmooth regressions. Information Technologies and Problems of Mathematical Modeling in the Management of Complex Systems in the Management of Complex Systems, 7, 107–110 (in Russian).]
- Ильин В. П., Кузнецов Ю. И. (1985). Трехдиагональные матрицы и их приложения. Москва: Наука. [Ilyin V. P., Kuznetsov Yu.I. (1985). Tridiagonal matrices and their applications. Moscow: Nauka (in Russian).]
- Носков С. И. (2013). Оценивание параметров аппроксимирующей функции с постоянными пропорциями // Современные технологии. Системный анализ. Моделирование. № 2. С. 135–136. [Noskov S. I. (2013). Estimation of parameters of the approximating function with constant proportions. Modern Technologies. System Analysis. Modeling, 2, 135–136 (in Russian).]
- Носков С. И. (2023). Подход к формализации вложенной кусочно-линейной регрессии // Международный журнал гуманитарных и естественных наук. № 1–2 (76). С. 218–220. [Noskov S. I. (2023). Approach to formalizing nested piece-linear regression. International Journal of Humanities and Natural Sciences, 1–2 (76), 218–220 (in Russian).]
- Носков С. И., Лоншаков Р. В. (2008). Идентификация параметров кусочно-линейной регрессии // Информационные технологии и проблемы математического моделирования в управлении сложными системами. № 6. С. 63–64. [Noskov S. I., Lonshakov R. V. (2008). Identification of parameters of piecewise linear regression. Information Technologies and Problems of Mathematical Modeling in the Management of Complex Systems, 6, 63–64 (in Russian).]
- Носков С. И., Хоняков А. А. (2019). Программный комплекс построения некоторых типов кусочно-линейных регрессий // Информационные технологии и математическое моделирование в управлении сложными системами. № 3. С. 47–55. [Noskov S. I., Khonyakov A. A. (2019). A software package for constructing some types of piecewise linear regressions. Information Technologies and Mathematical Modeling in the Management of Complex Systems, 3, 47–55 (in Russian).]






