Paired piecewise linear regression model with fixed nodes

Cover Page

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. КЛАСС КУСОЧНО-ЛИНЕЙНЫХ ФУНКЦИЙ С ФИКСИРОВАННЫМИ УЗЛАМИ

Пусть имеются наборы xii=0,...,n1 и yii=0,...,n1 значений объясняющей X и зависимой Y переменных. Точки xi,yi, i=0,...,n1 координатной плоскости x×y образуют корреляционное поле K.

Будем предполагать, что последовательность (xi)i=0,...,n1 строго возрастает, т. е. x0<x1<...<xn1. При необходимости последовательности (xi)i=0,...,n1 и (yi)i=0,...,n1 можно перенумеровать так, чтобы условие возрастания выполнялось.

Для точек u' и u'' таких, что u',u''xi:i=0,...,n1= и u'<u'', множество Ku';u'' точек xi,yi, i=0,...,n1 корреляционного поля K, удовлетворяющих условию u'<xi<u'', будем называть полосовым участком, а точки u' и u'' его узлами, левым и правым соответственно. Случай бесконечных узлов не исключается.

Узлы полосового участка Ku';u'' определяются неоднозначно. Если u'<x0, то в качестве левого узла можно взять любое число интервала ;x0 или . Если x0<u'<xn1, то найдется такое натуральное число k, что 0<k<n1 и xk1<u'<xk. В этом случае каждое число интервала xk1;xk может быть взято в качестве левого узла. Если xn1<u'', то правым узлом может быть любое число интервала xn1;+ или +. Если x0<u''<xn1, то найдется такое натуральное число l, что 0<ln1 и xl1<u''<xl. Тогда каждое число интервала xl1;xl может быть взято в качестве правого узла. Вопрос выбора хороших узлов, т. е. узлов, удовлетворяющих нужным условиям (например, оптимальности), остается открытым. В общем случае, когда на узлы не накладываются условия, левым узлом будем брать - или середину интервала xk1;xk, а правым узлом + или середину интервала xl1;xl.

С геометрической точки зрения для конечных узлов u' и u'' прямые x=u' и x=u'' вырезают из корреляционного поля полосовой участок. Эти прямые будем называть узловыми.

Полосовым разбиением корреляционного поля будем называть конечную последовательность непустых попарно непересекающихся полосовых участков, объединение которых совпадает с корреляционным полем. При этом для каждого полосового участка этой последовательности, кроме последнего, его правый узел совпадает с левым узлом следующего участка данной последовательности. Элементы полосового разбиения будем называть частичными участками разбиения. Таким образом, последовательность R=Ku'j;u''j(j)j=1,...,m полосовых участков является полосовым разбиением, если:

  1. Ku'j;u''j(j) j=1,...,m;
  2. Ku'j;u''j(j)Ku'l;u''l(l)= j=1,...,m; l=1,...,m; jl;
  3. u''j=u'j+1 j=1,...,m1.

Если число частичных участков полосового разбиения равно m, то их попарно различные узлы, расположенные в порядке возрастания, обозначим как

a, u(0), u(1), …, u(m-2), b. (1)

Причем в общем случае, a= и b=+. Тогда Ka;u(0) — первый частичный участок разбиения; Ku(0);u(1) — второй, …; Ku(m2);b — участок m. Найдется такая возрастающая последовательность (sj)j=1,...,m1 первых n — 1 натуральных чисел, что xsj+11<u(j)<xsj+1 для каждого j=0,...,m1. Для удобства введем обозначения: s0=0, sm=n. Тогда:

Ka;u(0)=xi,yi:i=s0,...,s11;

Ku(j1);u(j)=xi,yi:i=sj,...,sj+11, j=1,...,m2;

Ku(m2);b=xi,yi:i=sm1,...,sm1.

Геометрически прямые x=u(0), x=u(1), …, x=u(m2) разрезают корреляционное поле на полосовые участки, составляющие его полосовое разбиение.

Полосовой участок Ku';u'' будем называть линейным, если, рассматривая его как отдельное корреляционное поле, можно эффективно применять линейную аппроксимацию. Полосовое разбиение корреляционного поля будем называть линейным, если каждый его частичный участок является линейным.

На данный момент нет четкого алгоритма построения линейного разбиения корреляционного поля. Можно предложить следующие правила: во-первых, линейность участка определяется визуально, а во-вторых, число таких линейных участков должно быть наименьшим. Поэтому первичной обработкой исходных данных является визуальный анализ корреляционного поля, результатом которого будет последовательность (lj)j=0,...,m2 номеров правых концов интервалов (xlj1;xlj), j=0,...,m2 для определения узлов u(j)(xlj1;xlj), j=0,...,m2 линейного разбиения R.

Для каждого частичного участка линейного разбиения R на отрезке с концами в узлах построим линейную функцию таким образом, чтобы для любых двух соседних частичных участков данного разбиения в их общем узле значения линейных функций совпадали. В результате на интервале a;b будет построена кусочно-линейная функция φ с фиксированными узлами (1):

φx=k(0)x+l(0),  x<u(0),...k(j)x+l(j),   u(j1)<x<u(j),  j=1,...,m2,...k(m1)x+l(m1),   u(m2)<x, (2)

где

k(j)u(j)+l(j)=k(j+1)u(j)+l(j+1), j=0,...,m2. (3)

Значения кусочно-линейной функции φ в узлах y(j)=φu(j)=k(j)u(j)+l(j) называют узловыми значениями.

Использовав элементарные преобразования, с учетом условий (3), легко получить выражения для коэффициентов l(0), k(j), l(j), j=1,...,m2, l(m1) через узлы и узловые значения. В таком случае кусочно-линейная функция φ примет вид

φx=y(0)+k(0)xu(0),  xu(0),...y(i)u(i)u(i1)xu(i1)y(i1)u(i)u(i1)xu(i),  u(i1)xu(i),  i=1,...,m2...y(m2)+k(m1)xu(m2),  u(m2)x. (4)

Геометрически (рис. 1) левый кусок изображается лучом с началом в точке u(0);y(0), правый кусок — лучом с началом в точке u(m2);y(m2), промежуточный кусок i — отрезком с концами в точках u(i1);y(i1) и u(i);y(i) для каждого i=1,...,m2. Эти отрезки являются звеньями ломаной линии.

 

Рис. 1. Кусочно-линейная функция, определенная на линейном разбиении корреляционного поля

 

Из (4) видно, что кусочно-линейная функция φ зависит от m + 1 параметров. Из них m 1 узловых значений y(0), …, y(m-2), перемещающих вершины ломаной вдоль узловых прямых x=u(0), …, x=u(m2); k(0) — угловой коэффициент левого луча, поворачивающий его вокруг начала в точке u(0),y(0); k(m1) — угловой коэффициент правого луча, позволяющий поворачивать его вокруг начала u(m2),y(m2).

Таким образом, мы построили класс кусочно-линейных функций с фиксированными узлами. Именно в этом классе, методом наименьших квадратов, мы будем искать аппроксимирующую функцию.

2. МЕТОД НАИМЕНЬШИХ КВАДРАТОВ В КЛАССЕ КУСОЧНО-ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ ФУНКЦИЙ С ФИКСИРОВАННЫМИ УЗЛАМИ

Сумма квадратов отклонений точек корреляционного поля K от кусочно-линейной непрерывной функции (4) имеет вид:

S=i=0n1yiφxi2=j=0m1i=sjsj+11yiφxi2=i=s0s11yiφxi2+j=1m2i=sjsj+11yiφxi2+i=sm1sm1yiφxi2=

=i=s0s11yiy(0)k(0)xiu(0)2+j=1m2i=sjsj+11yiy(j)u(j)u(j1)xiu(j1)+y(j1)u(j)u(j1)xiu(j)2+

+i=sm1sm1yiy(m2)k(m1)xiu(m2)2.

Обозначим xi(j)=xiu(j), j=0,...,m2, тогда

S=i=s0s11yiy(0)k(0)xi(0)2+j=1m2i=sjsj+11yiy(j)u(j)u(j1)xi(j1)+y(j1)u(j)u(j1)xi(j)2++i=sm1sm1yiy(m2)k(m1)xi(m2)2. (5)

Согласно методу наименьших квадратов оценки параметров функции регрессии, представленной кусочно-линейной непрерывной функцией с фиксированными узлами, находятся как решение оптимизационной модели S=Sk(0),k(m1),y(0),y(1),...,y(m2)min.

Необходимые условия локального экстремума функции от нескольких переменных имеют вид:

Sk(0)=0, Sy(0)=0, …, Sk(m1)=0. (6)

Введем в рассмотрение величины групповых сумм:

Spx(p)2=i=spsp+11xi(p)2, Spx(p)y=i=spsp+11xi(p)yi, Sp+1x(p)y=i=sp+1sp+21xi(p)yi, Sp+1x(p)2=i=sp+1sp+21xi(p)2,

Spx(p1)x(p)=i=spsp+11xi(p1)xi(p), p=0,...,m2;

S0x(0)=i=s0s11xi(0), S0y=i=s0s11yi, Sm1x(m2)=i=sm1sm1xi(m2), Sm1y=i=sm1sm1yi.

Тогда частные производные от S, с учетом (5), примут следующий вид.

Частная производная по k(0):

Sk(0)=2i=s0s11yiy(0)k(0)xi(0)xi(0).

Отсюда

0,5Sk(0)=S0x(0)y+y(0)S0x(0)+k(0)S0x(0)2. (7)

Частная производная по y(0):

Sy(0)=2i=s0s11yiy(0)k(0)xi(0)+2i=s1s21yiy(1)u(1)u(0)xi(0)+y(0)u(1)u(0)xi(1)1u(1)u(0)xi(1).

Тогда

0,5Sy(0)=k(0)S0x(0)+y(0)n(0)+S1x(1)2u(1)u(0)2y(1)S1x(0)x(1)u(1)u(0)2S0y+S1x(1)yu(1)u(0). (8)

Для произвольного p=1,...,m3 находим частную производную по y(p):

Sy(p)=2i=spsp+11yiy(p)u(p)u(p1)xi(p1)+y(p1)u(p)u(p1)xi(p)1u(p)u(p1)xi(p1)++2i=sp+1sp+21yiy(p+1)u(p+1)u(p)xi(p)+y(p)u(p+1)u(p)xi(p+1)1u(p+1)u(p)xi(p+1).

Тогда

0,5Sy(p)=y(p1)Spx(p1)x(p)u(p)u(p1)2+y(p)Spx(p1)2u(p)u(p1)2+Sp+1x(p+1)2u(p+1)u(p)2y(p+1)Sp+1x(p)x(p+1)u(p+1)u(p)2+Sp+1x(p+1)yu(p+1)u(p)Spx(p1)yu(p)u(p1). (9)

Частная производная по y(m1):

Sy(m2)=2i=sm2sm11yiy(m2)xi(m3)u(m2)u(m3)+y(m3)xi(m2)u(m2)u(m3)xi(m3)u(m2)u(m3)2i=sm1sm1yiy(m2)k(m1)xi(m2).

Тогда

0,5Sy(m2)=y(m3)Sm2x(m3)x(m2)u(m2)u(m3)2+y(m2)Sm2x(m3)2u(m2)u(m3)2+n(m1)++k(m1)Sm1x(m2)Sm2x(m3)yu(m2)u(m3)Sm1y. (10)

Частная производная по k(m1):

Sk(m1)=2i=sm1sm1xi(m2)yiy(m2)xi(m2)k(m1)xi(m2)2.

Тогда

0,5Sk(m1)=y(m2)Sm1x(m2)+k(m1)Sm1x(m2)2Sm1x(m2)y. (11)

Подставляя правые части равенств (7)–(11) в систему (6), получим систему уравнений:

k(0)S0x(0)2+y(0)S0x(0)=S0x(0)y,k(0)S0x(0)+y(0)n(0)+S1x(1)2u(1)u(0)2y(1)S1x(0)x(1)u(1)u(0)2=S0yS1x(1)yu(1)u(0),p=1,...,m3;

y(p1)Spx(p1)x(p)u(p)u(p1)2+y(p)Spx(p1)2u(p)u(p1)2+Sp+1x(p+1)2u(p+1)u(p)2y(p+1)Sp+1x(p)x(p+1)u(p+1)u(p)2=                       =Spx(p1)yu(p)u(p1)Sp+1x(p+1)yu(p+1)u(p), (12)

y(m3)Sm2x(m3)x(m2)u(m2)u(m3)2+y(m2)Sm2x(m3)2u(m2)u(m3)2+n(m1)+k(m1)Sm1x(m2)=

                       =Sm2x(m3)yu(m2)u(m3)+Sm1y,y(m2)Sm1x(m2)+k(m1)Sm1x(m2)2=Sm1x(m2)y.

Из первого уравнения системы (12) находим

k(0)=S0x(0)yS0x(0)2y(0)S0x(0)S0x(0)2. (13)

Правую часть равенства (13) подставим во второе уравнение системы (12):

y(0)n(0)+S1x(1)2u(1)u(0)2S0x(0)2S0x(0)2y(1)S1x(0)x(1)u(1)u(0)2=S0yS1x(1)yu(1)u(0)S0x(0)yS0x(0)S0x(0)2.

Фактически мы из второго уравнения системы (12) исключили k(0). Подобным образом из последнего равенства системы (12) будем иметь

k(m1)=Sm1x(m2)ySm1x(m2)2y(m2)Sm1x(m2)Sm1x(m2)2. (14)

С помощью равенства (14) из предпоследнего уравнения системы (12) исключаем k(m1) и приходим к уравнению:

y(m3)Sm2x(m3)x(m2)u(m2)u(m3)2+y(m2)Sm2x(m3)2u(m2)u(m3)2+n(m1)Sm1x(m2)2Sm1x(m2)2==Sm2x(m3)yu(m2)u(m3)+Sm1ySm1x(m2)ySm1x(m2)Sm1x(m2)2.

К двум уравнениям, полученным из второго и предпоследнего уравнения системы (12) исключением k(0) и k(m-1), добавляем неиспользованные уравнения системы (12). Приходим к системе уравнений:

a0,0y(0)+a0,1y(1)=b0,ap,p1y(p1)+ap,py(p)+ap,p+1y(p+1)=bp,   p=1,...,m3,am2,m3y(m3)+am2,m2y(m2)=bm2, (15)

коэффициенты которой определяются равенствами:

a0,0=n(0)+S1x(1)2u(1)u(0)2S0x(0)2S0x(0)2,  a0,1=S1x(0)x(1)u(1)u(0)2,  b0=S0yS1x(1)yu(1)u(0)S0x(0)yS0x(0)S0x(0)2; (16)

ap,p1=Spx(p1)x(p)u(p)u(p1)2,  ap,p=Spx(p1)2u(p)u(p1)2+Sp+1x(p+1)2u(p+1)u(p)2,  ap,p+1=Sp+1x(p)x(p+1)u(p+1)u(p)2,bp=Spx(p1)yu(p)u(p1)Sp+1x(p+1)yu(p+1)u(p),p=1,...,m3; (17)

am2,m3=Sm2x(m3)x(m2)u(m2)u(m3)2,  am2,m2=Sm2x(m3)2u(m2)u(m3)2+n(m1)Sm1x(m2)2Sm1x(m2)2,bm2=Sm2x(m3)yu(m2)u(m3)+Sm1ySm1x(m2)ySm1x(m2)Sm1x(m2)2,p=m2. (18)

Именно точечные оценки параметров y(0), …, y(m-2) находятся как решения системы уравнений (15).

Система уравнений (15) называется трехдиагональной. Известен метод прогонки решения такой системы (см., например, (Ильин, Кузнецов, 1985, с. 50)). Для полноты изложения приведем его в разд. 3.

3. МЕТОД ПРОГОНКИ РЕШЕНИЯ ТРЕХДИАГОНАЛЬНОЙ СИСТЕМЫ УРАВНЕНИЙ

Главные миноры матрицы системы (15) обладают свойствами:

M0=a0,0, M1=a0,0a0,1a1,0a1,1=a0,0a1,1a1,0a0,1=a1,1M0a1,0a0,1. (19)

Раскладывая по последней строке, будем иметь

Mp=a0,0a0,10000a1,0a1,1a1,20000a2,1a2,2000000ap2,p2ap2,p10000ap1,p2ap1,p1ap1,p0000ap,p1ap,p=ap,pMp1ap,p1ap1,pMp2.

Вспомогательные определители получаются из главных миноров заменой последнего столбца столбцом свободных членов:

M0;b=b0, M1;b=a0,0b0a1,0b1=a0,0b1a1,0b0=b1M0a1,0M0;b. (20)

Раскладываем по последней строке

Mp;b=a0,0a0,1000b0a1,0a1,1a1,200b10a2,1a2,200b2000ap2,p2ap2,p1bp2000ap1,p2ap1,p1bp10000ap,p1bp=bpMp1ap,p1Mp1;b.

Из первого уравнения системы (15) получим

y(0)=b0a0,0a0,1a0,0y(1). (21)

Методом математической индукции доказывается, что выполняются равенства

y(p)=Mp;bMpMp1ap,p+1Mpy(p+1),p=1,...,m3; (22)

y(m3)=Mm3;bMm3Mm4am3,m2Mm3y(m2),  p=m3. (23)

Уравнение (23) и последнее уравнение системы (15) приводят к системе двух линейных уравнений с переменными y(m3) и y(m2).

Методом Крамера решения систем линейных уравнений приходим к равенству

y(m2)=Mm2;b/Mm2. (24)

Подставляя правую часть (24) в (23), находим . Применяя к равенству (22) индукцию спуска, получим все значения y(p) от p=m4 до p=1 включительно. Подставляя y(1) в (21), находим y(0), что завершает решение системы (15).

Для решения системы (12) необходимо выполнить еще два шага. Значение y(m-2) подставить в равенство (14) и определить k(m1), а y(0) подставить в равенство (13) и найти k(0). Решив систему (12), мы найдем точечные оценки параметров аппроксимирующей функции (4).

Равенства (21)–(24) совместно с (13) и (14) составляют каркас алгоритма определения точечных оценок параметров аппроксимирующей функции. Остановимся на этом подробнее.

4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АППРОКСИМИРУЮЩЕЙ ФУНКЦИИ В КЛАССЕ КУСОЧНО-ЛИНЕЙНЫХ ФУНКЦИЙ С ФИКСИРОВАННЫМИ УЗЛАМИ

Входными данными являются массивы значений (xi)i=0,...,n1, (yi)i=0,...,n1 и (u(j))j=0,...,m2. По ним вычисляются групповые суммы, которые сохраняются в специальных переменных и массивах. Затем находим коэффициенты и свободные члены системы (15) и сохраняем их значения в отдельном массиве. После этого рассчитываем значения главных миноров и вспомогательных определителей и сохраняем их в двух массивах. Применяя равенства (21)–(24) к элементам двух последних массивов, мы найдем y(p) для p=0,...,m2. В заключение равенствами (13) и (14) получаем k(0), k(m-1). Алгоритм возвращает массив значений параметров y(p), p=0,...,m2, k(0), k(m1).

Данный алгоритм реализован на языке Python в виде функции Gluing_m_Linear_Pieces().

Вычисление значения аппроксимирующей функции в точке реализуется с помощью функции mLinearGluing(), а на векторе — с помощью функции mLinearGluingV().

Напомним, что последовательность узлов (u(j))j=0,...,m2 построена в разд. 1 по номерам lj, j=0,...,m2 правых концов интервалов (xlj1;xlj). Функция IndexKnot() принимает массивы (lj)j=0,...,m2 и (xi)i=0,...,n1 и возвращает массив узлов (u(j))j=0,...,m2 как середины u(j)=0,5(xlj1+xlj), j=0,...,m2 соответствующих интервалов.

Также организована функция mLinearGluingDeter() для вычисления коэффициента детерминации R2.

5. ПРИМЕР

Работу алгоритма из разд. 4 проиллюстрируем на следующем примере. В табл. 1 приведены значения (xi)i=0,...,45, (yi)i=0,...,45 соответствующих значений объясняющей X и зависимой Y переменных. Согласно алгоритму, составляем корреляционное поле (рис. 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.

 

Проводим визуальный анализ на обнаружение линейного разбиения данного корреляционного поля. Выбираем интервалы: 6;6,5, 9,5;10, 15;15,5, 17;17,5, 20,5;21. Находим их середины

u(0)=0,56+6,5=6,25; u(1)=0,59,5+10=9,75; u(2)=0,515+15,5=15,25; u(3)=0,517+17,5=17,25; u(4)=0,520,5+21=20,75.

Вертикальные прямые x=6,25, x=9,75, x=15,25, x=17,25, x=20,75 разбивают корреляционное поле на шесть полосовых участков. В пределах каждого участка можно эффективно проводить линейную аппроксимацию. Следовательно, все полосовые участки являются линейными, образуя линейное разбиение данного корреляционного поля, а точки 6,25; 9,75; 15,25; 17,25 и 20,75 — его конечными узлами (рис. 3).

 

Рис. 3. Визуальный анализ корреляционного поля с построением линейного разбиения

 

К массивам (xi)i=0,...,45, (yi)i=0,...,45, (u(j))j=0,...,4 применяем функцию Gluing_m_LinearPieces(). Находим массив параметров (коэффициентов) аппроксимирующей функции 5,545729; 59,61817; 48,05973; 10,0931; 16,10552;0,717556; 20,23084.

Далее вычисляем значения кусочно-линейной функции в точках x массива (xi)i=0,...,45 с помощью функции 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. Нахождение оптимальных фиксированных узлов (1). Оптимальность понимается в смысле обеспечения минимума суммы квадратов отклонений (5). При этом областью изменения узла u(j) является интервал (xsj+11;xsj+1), j=0,...,m2. Если рассматривать сумму квадратов отклонений S как функцию 2m переменных Sk(0),k(m1),y(0),...,y(m2),u(0),...,u(m2), то частные производные S/u(α), α=0,...,m2 выражаются через переменные k(0), k(m-1), y(0)y(1), …, y(m-2), u(0), u(1), …, u(m-2) нелинейно. В таком случае уравнения S/u(α)=0, α=0,...,m2 относительно указанных переменных являются нелинейными. Так что при решении системы для отыскания неизвестных оценок можно столкнуться с серьезными трудностями.
  2. Используя основные предпосылки регрессионного анализа определить интервальные оценки для параметров k(0), k(m-1), y(0), …, y(m-2), а также для математического ожидания объясняемой переменной y, и прогнозного значения этой переменной.
  3. Нахождение оптимального числа фиксированных узлов кусочно-линейной аппроксимирующей функции. Под оптимальностью понимается наименьшее значение m, при котором достигается наибольшее значение коэффициента детерминации R2. Можно попробовать следующий алгоритм. Определяем коэффициент детерминации R02 линейной регрессионной модели. Далее каждый новый узел u(j) добавляем так, чтобы коэффициент детерминации R2 увеличивался.
  4. Разработка универсального алгоритма по определению оптимального числа оптимальных фиксированных узлов кусочно-линейной функции регрессии и нахождение точечных и интервальных оценок ее параметров.
×

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

  1. Боровской И. Г., Костелей Я. В. (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).]
  2. Иванова Н. К., Лебедева С. А., Носков С. И. (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).]
  3. Ильин В. П., Кузнецов Ю. И. (1985). Трехдиагональные матрицы и их приложения. Москва: Наука. [Ilyin V. P., Kuznetsov Yu.I. (1985). Tridiagonal matrices and their applications. Moscow: Nauka (in Russian).]
  4. Носков С. И. (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).]
  5. Носков С. И. (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).]
  6. Носков С. И., Лоншаков Р. В. (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).]
  7. Носков С. И., Хоняков А. А. (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).]

Copyright (c) 2024 Russian Academy of Sciences

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».