Решение наименьших абсолютных отклонений с использованием алгоритма Барродейла-Робертса: преждевременное прекращение?

9

Пожалуйста, извините за длинный вопрос, просто нужно какое-то объяснение, чтобы приступить к актуальной проблеме. Те, кто знаком с упомянутыми алгоритмами, вероятно, могут сразу перейти к первому симплексному таблау.


Для решения задач наименьшего абсолютного отклонения (или -оптимизация) алгоритм Барродейла-Робертса является симплексным методом специального назначения, который требует гораздо меньших затрат памяти и вычислительных усилий для поиска подходящего минимума.L1

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

Учитывая данные , -оптимизация пытается найти который минимизирует где - матрица которая каким-то образом зависит от . Эта проблема может быть сформулирована как линейная программа и, следовательно, среди прочего, может быть решена с использованием симплекс-подобных методов.(xi,yi)L1см

Σязнак равно1N|Yя-е(Икся)|се(Икс)знак равноAИксφ
AИксN×мИкс

Барродейл и Робертс предложили (по-видимому, широко используемую) модификацию симплекс-метода, которая радикально упрощает симплекс-метод, используя специальную структуру -задач. В частности, это то, что оптимальное решение интерполирует по крайней мере заданных точек данных. Те, у кого есть доступ к Jstor, могут найти соответствующую статью здесь .L1рaNК(A)

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

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

Барродейл и Робертс приводят небольшой пример, который я пытался воспроизвести. Он пытается аппроксимировать точки функцией . Завершите свой алгоритм следующей сжатой симплекс-таблицей:{(1,1),(2,1),(3,2),(4,3),(5,2)}a1+a2Икс

основарU1U3б11/23/2-1/2v21/21/21/2б21/21/21/2u41/21/23/2v5112Marginal cost210

Самое главное, что первая и третья точки интерполируются, а общая ошибка равна . Они заключают, что2

Поскольку все неосновные векторы имеют неположительные предельные издержки [...]

итерация закончена и оптимальное значение достигнуто.

Если я использую алгоритм Лея и Андерсона, я могу воспроизвести эту симплекс-таблицу для набора интерполяции {1,3}, как и ожидалось. Однако, если я запускаю алгоритм с набором (что явно не оптимально), я получаю следующую симплексную таблицу:{2,5}

BasisRu2u5u11/34/31/3b11/35/32/3u32/32/31/3u44/31/32/3b21/31/31/3Marginal cost7/310/35/3

Этот результат меня озадачивает. Если я правильно понимаю приведенную выше цитату, отсутствие положительных предельных издержек означает достижение оптимального значения. Хотя значение функции около 2,33, безусловно, не является оптимальным. Замена на дала бы результат, который находится на одном уровне с решением Барродейла и Робертса и поэтому оптимален.u2u1

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

Есть мысли по этому поводу?

Я понимаю, что сам вопрос довольно сложен и, вероятно, требует достаточного знания хотя бы алгоритма Барродейла и Робертса. Алгоритм в целом состоит в том, чтобы долго повторять его здесь в деталях. Однако, если у вас есть дополнительные вопросы о шагах, которые я предпринял, или о пропущенных фрагментах информации, не стесняйтесь спрашивать, и я с удовольствием дополню вопрос.

Тило
источник
Если бы кто-то с достаточной репутацией мог создать тег по принципу «Наименьшие абсолютные отклонения» или «L1-приближение», я был бы благодарен.
Тило
Условие оптимальности состоит в том, что базовое решение должно быть выполнимым (с учетом его ограничений неотрицательности) и что сниженные затраты должны быть меньше или равны 0. Если ваше базовое решение неосуществимо, то все ставки отменены.
Брайан Борчерс
Основное решение возможно по конструкции. Таким образом, не должно быть никаких проблем. У меня, однако, есть первое представление о том, где может быть проблема. Я добавлю соответствующий ответ, если я прав.
Тило

Ответы:

4

Решил это. На самом деле Барродейл и Робертс решили это, и я просто не читал внимательно.

В своем вопросе я оставил читателю понять, что переменные Барродейла и Робертса, помеченные обозначают положительные невязки datapoint по отношению к текущей подгонке. Если остаток отрицателен, и принимает соответствующее значение. Поскольку в базисе может находиться только один из них, а коэффициенты в симплекс-таблице являются просто отрицаниями друг друга, нет необходимости явно указывать их в симплекс-таблице. Барродейл и Робертс упоминают в своей статье:uiiui=0vi

[...] и что сумма предельных (или уменьшенных) затрат для и равна нулю, а для и равна -2.bjcjuivi

Таким образом, моя приведенная выше симплексная таблица должна выглядеть следующим образом:

BasisRu2u5v2v5u11/34/31/34/31/3b11/35/32/35/32/3u32/32/31/32/31/3u44/31/32/31/32/3b21/31/31/31/31/3Marginal cost7/310/35/34/31/3

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

Спасибо за чтение и за то, что дали мне место, чтобы записать мою проблему, что обычно помогает значительно сузить решение. Надеюсь, этот ответ иногда может быть полезен для всех, кто пытается внедрить Barrodale & Roberts.

Тило
источник