Научная статья на тему 'Точные алгоритмы реализации метода наименьших модулей на основе спуска по узловым прямым'

Точные алгоритмы реализации метода наименьших модулей на основе спуска по узловым прямым Текст научной статьи по специальности «Математика»

CC BY
930
71
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД НАИМЕНЬШИХ МОДУЛЕЙ / ЛИНЕЙНАЯ РЕГРЕССИОННАЯ МОДЕЛЬ / АЛГОРИТМ / УЗЛОВАЯ ТОЧКА / УЗЛОВАЯ ПРЯМАЯ / ГИПЕРПЛОСКОСТЬ / ВЫЧИСЛИТЕЛЬНАЯ СЛОЖНОСТЬ / THE LEAST ABSOLUTE DEVIATIONS METHOD / LINEAR REGRESSION MODEL / ALGORITHM / NODAL POINT / NODAL STRAIGHT LINE / HYPERPLANE / COMPUTATIONAL COMPLEXITY

Аннотация научной статьи по математике, автор научной работы — Тырсин Александр Николаевич, Азарян Алексан Артурович

Описаны алгоритмы точного решения задачи оценивания параметров линейных регрессионных моделей методом наименьших модулей. Они основаны на спуске по узловым прямым. Предложенные алгоритмы включают в себя обычный спуск, спуск с использованием разреженных матриц и спуск с использованием разреженных матриц и с учетом направления спуска. Данные алгоритмы значительно выигрывают по сравнению с известным переборным алгоритмом и могут эффективно использоваться на практике. Получена оценка вычислительной сложности алгоритма спуска по узловым прямым. Приведена схема алгоритма. Методом статистических испытаний Монте Карло был проведен сравнительный анализ предложенного алгоритма на основе спуска по узловым прямым и приближенного алгоритма Вейсфельда. Описан пример практической реализации предложенных алгоритмов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Тырсин Александр Николаевич, Азарян Алексан Артурович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EXACT ALGORITHMS FOR IMPLEMENTATION OF THE LEAST ABSOLUTE DEVIATIONS METHOD BASED ON THE DESCENT THROUGH THE NODAL STRAIGHT LINES

Algorithms for the exact solution of the problem of estimating the parameters of linear regression models by the least absolute deviations method are described. They are based on the descent through the nodal straight lines. The proposed algorithms include common descent, descent with the use of sparse matrices and descend with the use of sparse matrices and taking into consideration its directions. These algorithms significantly outperform the best-known brute-force search and can be effectively used in practice. The computational complexity of the descent algorithm for nodal straight lines is assessed. The scheme of the algorithm is provided. We have carried out a comparative analysis of the proposed algorithm based on descent through the nodal straight lines and Waisfeld approximate algorithm by Monte Carlo method of statistical testing. The examples of practical implementation of the proposed algorithms are described.

Текст научной работы на тему «Точные алгоритмы реализации метода наименьших модулей на основе спуска по узловым прямым»

ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА

УДК 519.237.5:519.24

doi: 10.18101/2304-5728-2017-4-21-32

ТОЧНЫЕ АЛГОРИТМЫ РЕАЛИЗАЦИИ МЕТОДА НАИМЕНЬШИХ МОДУЛЕЙ НА ОСНОВЕ СПУСКА ПО УЗЛОВЫМ ПРЯМЫМ1

© Тырсин Александр Николаевич

доктор технических наук,

заведующий кафедрой прикладной математики Уральского энергетического института, Уральский федеральный университет им. первого Президента России Б. Н. Ельцина

Россия, 620002, Екатеринбург, ул. Мира, 19 E-mail: at2001@yandex.ru

© Азарян Алексан Артурович

аспирант

Уральский энергетический институт, Уральский федеральный университет им. первого Президента России Б. Н. Ельцина Россия, 620002, Екатеринбург, ул. Мира, 19 E-mail: a.a.azaryan@gmail.com

Описаны алгоритмы точного решения задачи оценивания параметров линейных регрессионных моделей методом наименьших модулей. Они основаны на спуске по узловым прямым. Предложенные алгоритмы включают в себя обычный спуск, спуск с использованием разреженных матриц и спуск с использованием разреженных матриц и с учетом направления спуска. Данные алгоритмы значительно выигрывают по сравнению с известным переборным алгоритмом и могут эффективно использоваться на практике. Получена оценка вычислительной сложности алгоритма спуска по узловым прямым. Приведена схема алгоритма. Методом статистических испытаний Монте - Карло был проведен сравнительный анализ предложенного алгоритма на основе спуска по узловым прямым и приближенного алгоритма Вейсфельда. Описан пример практической реализации предложенных алгоритмов.

Ключевые слова: метод наименьших модулей; линейная регрессионная модель; алгоритм; узловая точка; узловая прямая; гиперплоскость; вычислительная сложность.

Введение

Одной из распространенных математических моделей является линейная регрессионная зависимость. Эта модель имеет вид

у = Ха + s (1)

1 Работа выполнена при финансовой поддержке гранта РФФИ, проект № 17-01-00315а.

Г 1

где Х = {хЛ„ХИ! =

1 Хч

V 1 Хп2

(ч \

заданная матрица;

а =

\ат у

Кт

, у =

У 2

Уп

:К", г =

Ь1

V8» J

еИ" - векторы коэффициентов

регрессии, измерений и случайных ошибок, соответственно.

Среди методов оценивания параметров модели (1) наибольшее распространение получил метод наименьших квадратов (МНК). Его использование требует выполнения ряда предпосылок, называемых условиями Гаусса-Маркова [1]. При их выполнении МНК-оценки параметров модели (1) являются состоятельными и несмещенными. Кроме того, если случайные ошибки имеют нормальный закон распределения, то МНК-оценки становятся эффективными. Однако использование МНК при нарушении условий Гаусса-Маркова может привести к значительным ошибкам при оценивании коэффициентов, а в случае присутствия в измерениях больших выбросов даже к несостоятельности оценок.

С целью обеспечения устойчивости оценок относительно отклонений случайных ошибок от гауссовой модели разработан ряд статистических методов. Данные методы основаны на более общих предположениях относительно случайных ошибок. Одним из таких методов является метод наименьших модулей (МНМ) [2]. МНМ для модели (1) имеет вид

б(а) = 1>г-(а,хг)|

г=1

■ ГП1П

ае1Г

(2)

Несмотря на то, что, как указано в [2], МНМ появился примерно на полстолетия раньше МНК, методы решения задачи (2) разработаны в недостаточной степени. Особенно это касается проблемы получения точного определения вектора а при значительном объеме многомерных экспериментальных данных. Данная статья посвящена описанию и анализу вычислительных затрат нового подхода реализации МНМ на основе спуска по узловым прямым.

1. Постановка задачи

Целевая функция 6>(а) задачи (2) является выпуклой. Поскольку во всех точках, где у функции 6>(а) существует производная, она линейна, то, следовательно, ее локальные минимумы могут быть только в особых точках. Известно несколько приближенных и точных методов решения задачи (2).

В настоящее время в целом удовлетворительно решена только проблема приближенного решения (2). Здесь можно отметить метод вариацион-

но-взвешенных квадратических приближений (называемый также алгоритмом Вейсфельда) [3-5], подход, основанный на сведении данной проблемы к задаче линейного программирования и ее приближенное решение методом внутренней точки [6], численные методы спуска нулевого порядка [7]. Недостатком этих методов в первую очередь является неточное решение, при относительной простоте целевой функции. Кроме того, не ясен вопрос качества получаемых приближенных решений.

Кусочно-линейный вид целевой функции позволяет рассчитывать на наличие быстрых и точных методов решения задачи (2). К точным методам относится сведение (2) к эквивалентной задаче линейного программирования [4, 8] и ее решение при помощи широко известного симплекс-метода и переборный алгоритм, описанный в [7].

Использование симплекс-метода ограничено задачами малой размерности. Это вызвано накоплением погрешностей из-за ошибок округлений и требованием чрезмерно большого выделения памяти.

Второй точный метод [7] основан на переборе всех узловых точек, в которых не существует производная функции 6>(а) ни по одному из возможных направлений пространства Л™. Поскольку функция (2(а) является выпуклой, то она имеет единственный минимум. Если минимум одновременно достигается в нескольких особых точек а1, а2,..., а', то областью минимума будет являться выпуклое множество [9]

А = { а:а = ]Г4а\£4=1}.

к=1 к=1

Введем гиперплоскости Qj = 0(а.х(. у() в виде уравнений

>> -(а,хг) = 0, (/=1,2,...,«). (3)

Зададим также узловые точки пересечения гиперплоскостей (3)

кщ

" (к1,..лт)= п Ц, \<кх <к2 <...<кп <п, (4)

Обозначим и - множество всех узловых точек (4). В [5] показано, что минимум целевой функции 6>(а) принадлежит множеству II. Поэтому решение а* задачи (2) может быть получено путем перебора всех узловых точек и выбора в качестве решения той, которая обеспечивает минимум целевой функции <2(а).

Переборный алгоритм требует решения С™ систем линейных уравнений порядка т. Вычислительные погрешности здесь незначительны и не накапливаются. Однако с ростом пит наблюдается экспоненциальный рост вычислительных затрат. Фактически практическое применение переборного алгоритма ограничено объемом выборки п < 200 и числом коэффициентов регрессии т < 4 . Однако отсутствие эффекта накопления вычислительных погрешностей делает возможным использование данного метода при условии ограничения числа перебираемых узловых точек.

Целью статьи является описание эффективного точного вычислитель-

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

2. Алгоритмы реализации спуска по узловым прямым

Обычный спуск. Данный алгоритм точного решения задачи (2) основан на спуске к точному решению, двигаясь вдоль узловых прямых l(k k каждая из которых является пересечением (т -1) различных

гиперплоскостей Q,:

km-1

■ Л\С\0., ,\<h <...<кт , <п, k&N .

C«i,...,«m-i) I I г ■> 12 т-1 ' s

В качестве начального приближения берется узловая точка u^ к ,. являющаяся пересечением т произвольных различных гиперплоскостей Qki,...,Qk . Исключив одну из гиперплоскостей, получим узловую прямую l(k к ,. Через любую узловую точку проходит т узловых прямых.

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

к ) = а*, спуск из которой невозможен. Эта узловая точка будет являться точным решением задачи (2). В [10] доказано, что алгоритм спуска вдоль узловых прямых для нахождения решения задачи (2), сходится к точному решению за конечное число шагов.

Поясним этот алгоритм, используя рис. 1 (для случая т = 2).

В качестве начальной точки выберем точку Н. Через нее проходят прямые I и II. Сначала рассмотрим прямую I. Среди узловых точек, которые лежат на этой прямой, выбираем ту, в которой достигается минимальное значение целевой функции (таким образом, происходит спуск по прямой). Предположим, что такой точкой является точка С. Рассмотрим прямую II. Спускаясь по прямой II, находим на ней точку, в которой достигается минимальное значение. Пусть, например, эта точка L. Далее, сравнивая значения целевой функции в точках С и L, выбираем ту, в которой достигается минимальное значение. Пусть, например, эта точка С. Через нее помимо прямой I проходит прямая III. На этой прямой находим очередную точку, в которой достигается минимальное значение целевой функции. Далее, сравнивая значения целевой функции в точках Си/), выбираем ту, в которой достигается минимальное значение. Пусть такой точкой является D. Допустим, что на прямой IV, проходящей через D, точкой минимума является сама точка D, тогда в качестве решения выбираем точку D, в которой достигается минимум целевой функции (если бы нашлась другая точка минимума на этой прямой, то из нее продолжили бы дальнейший спуск).

н 1 1 аг

пХ IV

уГ С > 1 <СЧ с 1» а,

Рис 1. Спуск по узловым прямым

Отметим, что при вычислительные затраты данного алгоритма можно значительно сократить, если использовать информацию о предыдущей найденной узловой точке.

Спуск с использованием разреженных матриц. Двигаясь вдоль прямой /(Д к }. для нахождения узловых точек, принадлежащих этой прямой, нужно для каждой точки решать систему линейных алгебраических уравнений (СЛАУ) порядка т

а\ +а2х1Ъ2 +а3хки3 +... + атх1ът=ук1, + С12Хк2,2 + +- + атХк2,т =Ук2,

(5)

щ +а2хи2 +аъхиъ +... + атх1т = у„ где 1 <кг <к2 <...<кт_х <п, / е {1,2,..., п), i ^{кх,к2,...,кт_х} .

Очевидно, что СЛАУ двух различных узловых точек, принадлежащих этой прямой одной прямой отличаются лишь одним (последним) уравнением. Следовательно, вычислительная эффективность алгоритма спуска существенно повысится, если для нахождения узловых точек, которые лежат на прямой /а. к ,. первые (т - 1) строк расширенной матрицы,

соответствующей СЛАУ (5) предварительно преобразуем с помощью элементарных преобразований к ступенчатому виду.

Расширенная матрица СЛУ прямой /а к ;| имеет вид

(къ-,к„-1)

(1 Хк1,2 Хк1,Ъ Хк1,т-1 Хк1,т У к,

1 Хк2,2 Хк2,3 Хк2,т-\ Хк2,т Ук2

1 Хкъ, 2 Хкъ, 3 Хкг,т-\ Хкъ,т Укъ

1

Хи

Хи

Хи

Хи

Укт-1

а;

<А,-,кт-1)

V III—I ' III—1 ' «-»1-1.'»-1 «-»1-1.'» ' "1Я-1 /

Применив алгоритм прямого хода метода Гаусса, преобразуем матрицу Аа. д. |, к ступенчатому виду

Хк1,т Укх

Хк2,т У к2 Хкъ,т Укъ

-кт_ът Укт_!

Используя ступенчатую матрицу А'^ к ^ можно значительно сократить вычислительные затраты на нахождение всех узловых точек, лежащих на прямой к ;. Действительно для каждой искомой узловой

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

точки имеем расширенную матрицу

(\ Хк1,2 Хк1,Ъ • хк1,т-]

0 1 Хк2,3 г' • Лк2,т-

0 0 1 х'

0 0 0 . 1

{К.-кт-1.0

Г1

о о

0

1

¿1,2 1

О

4,2

Ч„ з

43

Ч, , ш—1

Ч,,»г-1

X,

къ,т-\

г,т-\

щ—1,1

X,- „

Л

>¿3

Я

Л

(6)

Варьируя номер 7 в (6), найдем все узловые точки, лежащие на прямой

(к1,...,кт_1) •

Вычислительная эффективность алгоритма спуска можно повысить, если учитывать направление спуска.

Спуск с использованием разреженных матриц и с учетом направления спуска. Используя ступенчатую матрицу А^ к ,. и решив

СЛАУ, соответствующую расширенной матрице (6), находим значение т-

го коэффициента а^1" , \< кг < к2 <.. .< кт_г < п, / е {1,2,..., и},

/ ё {кх, к2,..., кп] |} , для каждой узловой точки. После чего по возрастанию

а(М,к2, -кт-1,') упорядочиваем все узловые точки, которые лежат на прямой

1(к к и выполняем описанный выше алгоритм спуска, но с учетом

направления. Если при непосредственном переходе от одной узловой точки к другой значение целевой функции увеличивается, то в этом направлении значение целевой функции будет увеличиваться во всех узловых

точках (вытекает из выпуклости целевой функции). Назовем такое направление «плохим». Для осуществления спуска, до вычисления значения целевой функции в очередной узловой точке рассматриваем направление спуска. Если оно «плохое», то переходим к следующей точке, не вычисляя в данной узловой точке, ни значение целевой функции, ни значения

коэффициентов а^1'кг" "кт-1'г>, у = 1, 2,...,т-1.

3. Анализ вычислительных затрат спуска по узловым прямым

Оценим вычислительные затраты спуска с использованием разреженных матриц и с учетом направления спуска. Воспользуемся методом статистических испытаний Монте-Карло [11]. В табл. 1 для 1000 испытаний приведены средние значения общего количества рассмотренных узловых точек Ь и узловых прямых Р (переходов с одной прямой на другую) в алгоритме спуска с использованием разреженных матриц и с учетом направления спуска для некоторых значений пит. Случайные ошибки г имели стандартное нормальное распределение.

Таблица 1. Среднее число рассмотренных узловых точек и прямых в ал_горитме спуске_

п Количество узловых точек Ь Количество узловых прямых Р

т=3 т=4 т=5 т=6 т=1 т=3 т=4 т=5 т=6 т=1

30 56 91 127 168 211 5,2 6,6 7,7 8,8 9,6

50 85 136 197 262 334 6,1 8,0 9,8 11,3 12,7

100 148 235 348 459 604 7,3 9,9 12,3 14,3 16,8

150 214 337 490 655 847 7,9 10,8 13,7 16,3 19,0

300 397 618 895 1205 1529 9,1 12,7 16,1 19,6 22,9

500 644 1002 1441 1905 2477 9,8 13,9 18,0 21,8 26,0

700 881 1417 2008 2665 3390 10,4 15,0 19,1 23,5 28,1

1000 1257 1946 2771 3676 4701 11,0 15,7 20,3 25,0 30,1

1500 1855 2928 4043 5413 6973 11,8 16,8 21,7 26,9 32,4

2000 2453 3867 5363 7215 9204 12,2 17,6 22,8 28,2 33,8

Оценим средние количества рассмотренных узловых точек Ь и узловых прямых Р. Анализ полученных результатов для различных пит показал, что Ь ~ 0(тп), Р ~ 0(т\пп).

Теорема 1. Алгоритм спуска по узловым прямым имеет вычислительную сложность Ж = 0(т2п2 + т4п\пп + т2п 1п2 п).

Доказательство. Оценим вычислительную сложность всех основных функций, заложенных в базисе алгоритма спуска по узловым прямым. Его схема приведена на рис. 2.

С Начало ) / Ввод Х,у /

Х-матрица значений объясняющих (независимых) переменных(п х ш размерности) у-вектор наблюдаемых значений зависимой переменной(п размерности)

О

[

1пс1ех=Вектор от 1 дот

]

А=Система первых т линейных уравнений из у-Х*а=0

| р= Решение А |

тт = оЬ](Х,у,р)

В= А Без ьой строки

Г

ТгВИгаре^<ЫМаЬНх(В)

э остальным п-ш строкам X

X

С= ТгВ+j-aя строка X 1

а=ве1МСоей(С)

сш[к,1]=а

сш[к,2]=]

~1Г

к=к+1

О

Количество итерации ~ среднее количество рассмотренных узловых прямых Р

СП

стГк.11=рМ |

ст[к.21=1пёех[11 ~| 1 _

X

ага= сЬ5сепИХ,у,ст,р,ТгВ), где для каждой рассмотренной узловой точки вызывается о1]

1 м 1

1

11111] аш[1]

соеГГ а1кГ31

||ц|еч|| шь|2

А=Система шшейнв1х уравнений из у-Х*а=0 состоящий из ||к|с\ сгорк

/ Ввш одр /

р=сое££

( Конец )

Рис. 2. Схема спуска по узловым прямым

Функция 1:гаре2о1с1а1Ма1:пх расширенную матрицу размера (т -1) х (т +1) приводит к трапециевидному виду за (т -1) итерацию. В ходе 7-й итерации выполняется (т + 2 - ¡)(2т - 1 - 2/) операций умножения и вычитания. Поэтому общее количество выполненных операций

;=1

;=1

I = ^(т + 2-1)(2т-\-И) = 2^(т + 2-1)2 -5¿(|и + 2-/) =

;=1

т+1 т 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

У=з

У=з

^ 2 m(m + \)(2m +1) Л m(m +1) _

Известно, что У J =- и > / =-. Значит

7=1 6 7=1 2

Функция getMCoeff к трапециевидной матрице размера (га -1) х (m +1) добавляет строку и вычисляет т-й коэффициент. Здесь выполняется (т -1) итераций. В ходе 7-й итерации выполняется 2(т +1 - /) операций умножения и вычитания (кроме первой итерации, во время которой выполняется не 2т, а т операций умножения и вычитания). Поэтому, общее количество выполненных операций будет равно

т-1

2^(771 + 1-7)+ 771-1 = Я12 -\ = 0(т2).

г= 1

Функция obj функция вычисляет и возвращает значение целевой функции <2(а). Очевидно, что функция obj имеет 0{тп) вычислительную сложность.

Функция sort реализует сортировку полученного массива. Известно, что сортировка Хоара в среднем имеет для входного массива из п элементов 0{п\пп) вычислительную сложность [12].

Функция descent, имея матрицу вида (6) и ти-й коэффициент, вычисляет остальные коэффициенты и вызывает функцию obj. Данные действия выполняются циклически (количество итераций примерно равно L !{т ■ Р) = 0(тп) /(т-)(т In п)) = 0(п l(m In п)).

Для вычисления остальных коэффициентов выполняется (т — 1) итераций. В ходе 7-й итерации выполняется 2i операций умножения и вычитания. Следовательно, общее количество выполненных операций

т-1

2^7 = т2 - т = 0(т2).

i=\

Т.к. функция obj имеет вычислительную сложность 0{тп), то функция descent имеет 0(п ■ (тп + т2)/т\пп) вычислительную сложность.

Теперь из схемы работы алгоритма получим, что спуск по узловым прямым имеет вычислительную сложность

0< т In п ■

т ■

( 2 Л

3 . . 2 . ... . п-(т +тп) т +(п-т)-т +(п-т)- 1п(т? - т) л--

v 777 In 77 j

= 0(т2п2 + т4п\пп + 77727?1п2 п + т3п) = 0(т2п2 + т4п\пп + т2п\п2 п). Теорема доказана.

Отметим, что для п > тах(1п2 п; т21пт?) вычислительная сложность спуска по узловым прямым Ж = 0(т2п2) .

4. Сравнительный анализ алгоритмов спуска по узловым прямым с переборным алгоритмом и алгоритмом Вейсфельда

Также воспользуемся методом Монте-Карло. В каждом случае используем по 1000 испытаний.

Переборный алгоритм имеет очень высокую вычислительную трудоемкость. Для иллюстрации эффективности предложенного подхода в табл. 2 указаны отношения средней продолжительности работы различных алгоритмов спуска по узловым точкам к средней продолжительности работы переборного алгоритма для количества параметров т = 5 . Результаты свидетельствуют о существенном выигрыше по быстродействию алгоритмов спуска.

Таблица 2

Отношение средней продолжительности работы различных алгоритмов спуска по узловым точкам к средней продолжительности работы пере__борного алгоритма

Объем выборки п Алгоритмы спуска по узловым точкам

Обычный спуск Спуск с использованием разреженных матриц Спуск с использованием разреженных матриц и с учетом направления спуска

30 111,6 138,9 284,0

100 10352,0 14725,8 42073,5

300 602404,4 911002,5 3077299,4

Сравним метод спуска по узловым прямым с приближенным алгоритмом Вейсфельда (вычислялся с точностью до 10~5). Результаты сравнения приведены в табл. 3. Здесь обозначено: яу{п,т) — среднее квадрата-ческое отклонение вектора ау выборочных оценок параметров модели множественной линейной регрессии относительно вектора а теоретических значений параметров для алгоритма Вейсфельда, su (п, т) — среднее квадратическое отклонение вектора аи выборочных оценок параметров модели множественной линейной регрессии относительно вектора а теоретических значений параметров для алгоритма спуска по узловым прямым, ^ (п. т) — среднее время вычислений для алгоритма Вейсфельда, tu (п, т) — среднее время вычислений для алгоритма спуска по узловым прямым.

Таблица 3

Результаты сравнения алгоритмов Вейсфельда и спуска по узловым пря-_мым по точности и быстродействию

п ¿•(и, т) = sv (п, т) / 5И (п, т)

т=3 т=4 т=5 т=6 т=1 т=3 т=4 т=5 т=6 т=1

32 1,03 1,02 1,02 1,00 1,00 5,85 4,43 4,36 3,38 2,16

64 1,02 0,98 1,01 1,00 0,98 6,66 6,49 4,56 3,44 2,23

128 1,01 1,02 1,05 1,02 0,99 8,22 6,72 4,65 3,60 2,32

256 1,00 0,99 0,99 0,98 1,00 13,46 10,58 7,58 4,49 2,91

512 1,03 1,10 1,04 1,02 1,04 25,84 12,79 10,32 7,31 3,82

1024 1,02 1,04 1,04 1,00 1,08 47,66 31,06 20,11 10,83 7,61

Согласно приведенным в табл. 3 результатам при примерно одинаковой точности оценок алгоритм спуска по узловым прямым превосходит по быстродействию приближенный алгоритм Вейсфельда. Это значит, что предлагаемый точный алгоритм работает быстрее (t(n, m)> 1) приближенного алгоритма Вейсфельда. Примерная близость значений отношения s(n,m) к единице означает, что алгоритм Вейсфельда стабильно сходится к точному решению с требуемой точностью.

Заключение

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

Данные алгоритмы позволяют значительно снизить вычислительные затраты при точной реализации метода наименьших модулей. Выигрыш достигается за счет того, что вместо перебора узловых точек осуществляется спуск по ним. Вычислительная сложность спуска по узловым прямым позволяет на практике реализовать точное оценивание методом наименьших модулей для любых размеров экспериментальных данных. При этом, предложенный точный метод превзошел по быстродействию известный приближенный алгоритм Вейсфельда.

Литература

1. Айвазян С. А., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: Исследование зависимостей. М.: Финансы и статистика, 1985. 488 с.

2. Bloomfield Р., Steiger W. L. Least absolute seviations: theory, applications, and algorithms. Boston-Basel-Stuttgart: Birkhauser, 1983. 349 p.

3. Weiszfeld E. On the point for which the sum of the distances to n given points is minimum // Annals of Operations Research. 2008. V. 167, № 1. P. 741. Translated from the French original [Tohoku Mathematics Journal. 1937. V. 43. P. 355-386] and annotated by Frank Plastria.

4. Мудров В. И., Кушко В. Л. Методы обработки измерений: квазиправдоподобные оценки. М.: Радио и связь, 1983. 304 с.

5. Акимов П. А., Матасов А. И. Уровни неоптимальности алгоритма Вейсфельда в методе наименьших модулей // Автоматика и телемеханика. 2010. №2. С. 4-16.

6. Boyd S., Vandenberghe L. Convex optimization. Cambridge: Cambridge University Press, 2004. 730 p.

7. Тырсин A. H., Максимов К. E. Оценивание линейных регрессионных уравнений с помощью метода наименьших модулей // Заводская лаборатория. Диагностика материалов. 2012. Т. 78, № 7. С. 65-71.

8. Зуховицкий С. И., Авдеева Л. И. Линейное и выпуклое программи-

рование. 2-е изд., перераб. и доп. М.: Наука. Физматлит, 1967. 460 с.

9. Рокафеллар Р. Выпуклый анализ: пер. с англ. М.: Мир, 1973. 470 с.

Ю.Азарян А. А., Тырсин А. Н. Эффективные алгоритмы оценивания линейных регрессионных моделей на основе метода наименьших модулей // Анализ, моделирование, управление, развитие социально-экономических систем: сборник научных трудов XI Международной школы-симпозиума, Симферополь-Судак, 14-27 сентября 2017. Симферополь: ИП Корниенко А. А., 2017. С. 11-16.

П.Михайлов Г. А., Войтишек А. В. Численное статистическое моделирование. Методы Монте-Карло. М.: Академия, 2006. 368 с.

12.Кормен Т. X. Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ: пер. с англ. 3-е изд. М.: Вильяме, 2013. 1328 с.

EXACT ALGORITHMS FOR IMPLEMENTATION OF THE LEAST ABSOLUTE DEVIATIONS METHOD BASED ON THE DESCENT THROUGH THE NODAL STRAIGHT LINES

Aleksandr N. Tyrsin

Dr. Sci. (Engineering), Head of Department "Applied Mathematics",

Ural Federal University named after the First President of Russia B. N. Yeltsin

19 Mira St., Yekaterinburg 620002, Russia

Aleksan A. Azaryan Research Assistant,

Ural Federal University named after the First President of Russia B. N. Yeltsin 19 Mira St., Yekaterinburg 620002, Russia

Algorithms for the exact solution of the problem of estimating the parameters of linear regression models by the least absolute deviations method are described. They are based on the descent through the nodal straight lines. The proposed algorithms include common descent, descent with the use of sparse matrices and descend with the use of sparse matrices and taking into consideration its directions. These algorithms significantly outperform the best-known brute-force search and can be effectively used in practice. The computational complexity of the descent algorithm for nodal straight lines is assessed. The scheme of the algorithm is provided. We have carried out a comparative analysis of the proposed algorithm based on descent through the nodal straight lines and Waisfeld approximate algorithm by Monte Carlo method of statistical testing. The examples of practical implementation of the proposed algorithms are described.

Keywords: the least absolute deviations method; linear regression model; algorithm; nodal point; nodal straight line; hyperplane; computational complexity.

i Надоели баннеры? Вы всегда можете отключить рекламу.