Как спроектировать и реализовать асимметричную функцию потерь для регрессии?


24

проблема

В регрессии обычно вычисляют среднеквадратическую ошибку (MSE) для выборки:

MSE=1ni=1n(g(xi)g^(xi))2
для измерения качества предсказателя.

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

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

Вопрос

Как бы вы разработали метрику ошибки, включающую эту асимметрию стоимости?


Возможное решение

Способ определения асимметричной функции потерь состоит в том, чтобы просто умножить на вес:

1ni=1n|α1(g(xi)g^(xi))<0|(g(xi)g^(xi))2
сα(0,1)является параметроммы можем изменить отрегулировать степень асимметрии. Я нашел этоздесь, Кажется, это самая прямолинейная вещь при сохранении квадратичной потери.

1
@MichaelChernick, FTR, я думаю, что это хороший вопрос, который был четко и последовательно сформулирован, и признаю, что я немного придирчив. Я имею в виду, что (как вы знаете) подгонка регрессии (то есть решение для ) выполняется (по умолчанию) путем минимизации функции потерь OLS , SSE. Вы правы, что MSE можно использовать эквивалентно, поскольку деление на константу b / c не повлияет на порядок размещения бета-кандидатов. β
gung - Восстановить Монику

1
Другим фактом является то, что MSE (чаще RMSE) часто используется для оценки качества подобранной модели (хотя, опять же, SSE может использоваться эквивалентно). Дело в том, что этот вопрос кажется (во всяком случае, мне) о том, как думать о / изменить дизайн функции потерь , так что встроенные бета-версии отличаются от того, какими они были бы по умолчанию, а не о том, как иначе думать о качестве модели, которая уже была в форме.
gung - Восстановить Монику

1
@Kiudee, если моя интерпретация вашего Q верна, что бы вы подумали о том, чтобы отредактировать его, добавив тег функции потерь , и, возможно, изменить заголовок на что-то вроде: «Как спроектировать и реализовать функцию асимметричной потери для регрессии»? Я не буду вносить изменения самостоятельно, если вы не согласны с ними.
gung - Восстановить Монику

2
Для справки, я видел квантильную регрессию, предложенную, когда вы хотите асимметричные функции потерь, см. Berk, 2011 , PDF здесь .
Энди W

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

Ответы:


7

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

Вы можете Google квантиль регрессии для ссылок. Для уточнения регрессии см. Пакет ожидаемых R и ссылки в справочном руководстве.


2

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.