Оценка вероятностного предсказателя

 

 

Всем доброго времени.

Такая вот задача.

Есть предсказатель. Несколько специфический. Предсказывает , произойдет\непроизойдет ли событие. На выходе соответственно выдает число от 0(непроизойдет) до 1(произойдет). 0.3, 0.75, 0.18 и всё такое. Соответственно есть 2 массива - в первом сидят эти числовые значения, вот втором - ответ, произошло или не произошло таки предсказываемое событие соответственно на самом деле. Там только 0 или 1. Задача: оценить, насколько хорошо предсказатель ОЦЕНИВАЕТ (не путать с ПРЕДСКАЗЫВАЕТ) вероятность наступления события. Нужна численная оценка, потому что предсказателей таких много и их надо сравнивать между собой. Идеи:

1.Вычислить тупо, сколько он угадал\неугадал реализаций, без учёта значения вероятности (<0.5 - непроизойдет, >0.5 - произойдет). Ненравится, потому что грубо.

2. "Проимитировать" как бы торговлю, ставя на исход (произойдёт\непроизойдёт), при этом регулируя "лот" соответственно с величиной оценки. Потом посчитать этой "псевдоторговле" , например, к.Шарпа. Нравится больше, хотя тоже далеко не идеал.

3. Скользящим окном ехать по предварительно сортированному (от малых к большим) массиву оценок и считать в нём вероятность наступления реальных событий, ставить в соответствие среднему этого скользящего окна. В идеале должна получится прямая , проходящая через (0.5 , 0.5) и с наклоном 1 . Ну тоже, может быть, но всё же хотелось бы еще каких то идей.

Т.е. еще раз - задача. Отнесемся к этому так что предсказатель не предсказывает исход, а ОЦЕНИВАЕТ текущую ситуацию. Нужно оценить , насколько адекватно предсказатель это делает. Получить число.

Заранее спасибо

 
IronBird:

Переформулирую. То, что Вам нужно сделать - это определиться с количественным критерием качества, т.е. закончить следующее предложение "устройство считается качественным в том и только в том случае, если ... (далее следует математическое выражение)". Но чтоб это сделать, необходимо для начала описать этот же критерий словами, хоты бы примерно, тогда можно пытаться формализовать.
 
IronBird:

)))Да все очень просто - два ряда -1;1 для предсказаний и -1;1 для факта. Суммируешь эти два числа для каждого события, получается -2, 0, +2. 0 - несовпадение прогноза и факта, -2 и +2 - совпадение.

Суммируй модули и вибирай ТС, дающую максимум этого числа.

Это самый простой вариант. Но тут можно изгиляться и сложнее.

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

Наверное неправильно объяснил немного. Счас вот:

To Demi:

2 ряда, это да. Но только в первом ряду не 0 и 1, а числа из диапазона ОТ 0 ДО 1 . Разные, дробные всякие циферки.  А вот во втором 0 и 1, это да. Требуется оценить "соответствие" вероятностей из первого ряда, ко второму.

To LeoV Это примерно то что я написал в п.2 Однако, для начала давайте забудем про торговлю, потому как на текущем этапе пока что еще не до этого даже близко. Про слив и пр.

Насчет порога - согласен, только в результате получится что у каждого предсказателя такие пороги будут разные. Ну и как их сравнивать? Но мне мало того что сравнивать. Вы ж контекста не знаете, а мне рассказывать долго и нудно. Скажу лиш что это еще не всё - предсказатель НЕ НАПРЯМУЮ учавствует в предсказании цены. После того как предсказание сделано, там еще обрабатывать, умножать кой на чего, делить и пр. Можно сказать (с натяжкой) что предсказатель предсказывает показания некоего суперпупер индикатора, тот же в свою очередь, определенным образом кореллирует с ценой. Корелляцию индюка посчитать можно (в моем случае), это я знаю как сделать, оценить же предсказатель - не знаю. В финальном предсказании ЦЕНЫ будут учавствовать 2 величины - предсказания этого угадывателя (вот та преславутая численная оценка, которую он выдает) относительно поведения индикатора в будущем, и величина корелляции этого индюка с ценой. Вторую величину я имею. Первую величину я тоже вроде как имею, но мне нужно как то убедится, что предсказатель выдает мне адекватные числа, чтоб я мог тулить (или НЕ тулить) их в окончательную формулу.

 
IronBird:

Наверное неправильно объяснил немного. Счас вот:

To Demi:

2 ряда, это да. Но только в первом ряду не 0 и 1, а числа из диапазона ОТ 0 ДО 1 . Разные, дробные всякие циферки.  А вот во втором 0 и 1, это да. Требуется оценить "соответствие" вероятностей из первого ряда, ко второму.



вычитаешь из значений второго ряда, значения первого и берёшь по модулю. Суммируешь по всем предсказаниям. У кого число меньше, тот лучше. К примеру: первый показал вероятность 0.5, выпало 1. Ошибка |1-0.5|=0.5. Второй прогноз 0.2, выпало 0. Ошибка |0-0.2|=0.2. И т.д. Суммируешь все ошибки. Так для каждого прогнозиста. Если у каждого прогнозиста разное кол-во прогнозов, то делишь на число прогнозов. Потом сравниваешь между собой
 
IronBird:

Наверное неправильно объяснил немного. Счас вот:

To Demi:

2 ряда, это да. Но только в первом ряду не 0 и 1, а числа из диапазона ОТ 0 ДО 1 . Разные, дробные всякие циферки.  А вот во втором 0 и 1, это да. Требуется оценить "соответствие" вероятностей из первого ряда, ко второму.

To LeoV Это примерно то что я написал в п.2 Однако, для начала давайте забудем про торговлю, потому как на текущем этапе пока что еще не до этого даже близко. Про слив и пр.

Насчет порога - согласен, только в результате получится что у каждого предсказателя такие пороги будут разные. Ну и как их сравнивать? Но мне мало того что сравнивать. Вы ж контекста не знаете, а мне рассказывать долго и нудно. Скажу лиш что это еще не всё - предсказатель НЕ НАПРЯМУЮ учавствует в предсказании цены. После того как предсказание сделано, там еще обрабатывать, умножать кой на чего, делить и пр. Можно сказать (с натяжкой) что предсказатель предсказывает показания некоего суперпупер индикатора, тот же в свою очередь, определенным образом кореллирует с ценой. Корелляцию индюка посчитать можно (в моем случае), это я знаю как сделать, оценить же предсказатель - не знаю. В финальном предсказании ЦЕНЫ будут учавствовать 2 величины - предсказания этого угадывателя (вот та преславутая численная оценка, которую он выдает) относительно поведения индикатора в будущем, и величина корелляции этого индюка с ценой. Вторую величину я имею. Первую величину я тоже вроде как имею, но мне нужно как то убедится, что предсказатель выдает мне адекватные числа, чтоб я мог тулить (или НЕ тулить) их в окончательную формулу.

Вычислить тупо, сколько он угадал\неугадал реализаций, без учёта значения вероятности (<0.5 - непроизойдет, >0.5 - произойдет). - сам написал преобразование.

Грубо? Возьми, <0.3 - непроизойдет, >0.7 - произойдет, 0.3-0.7 - 0.5. и по такому же алгоритму 0, 0.5, 1, только бери разности и стремись к минимуму.  

 

To Demi 

Да, но я написал что мне это ненравится.

Вообще, почему так сложно? Уточню.

Наваял некий индюк. Сей индюк, с одной стороны (его изменения, дельты) хорошо кореллируют с дельтами цены (на довольно интересных горизонтах, час-два, 6 часов, вобщем , нормально так).  С другой стороны, его значения оказывается неплохо предсказываются на основе предыдущих. Грубо говоря как слепить из этого общий ком? Собственно, как слепить я знаю (ну понятно что и не один я ), задача в том чтоб получать достоверные оценки предсказателя. Собственно предсказателем могут выступать разные штуковины (буду эксп) - от СЛАУ(регрессией) или там Байесовских предсказателей, логистических регрессий, до нейросетей. Не это есть важно. А важно ОЦЕНИТЬ насколько оценка (в диапазоне от 0 до 1) будет соответствовать истине.

 
Avals:

вычитаешь из значений второго ряда, значения первого и берёшь по модулю. Суммируешь по всем предсказаниям. У кого число меньше, тот лучше. К примеру: первый показал вероятность 0.5, выпало 1. Ошибка |1-0.5|=0.5. Второй прогноз 0.2, выпало 0. Ошибка |0-0.2|=0.2. И т.д. Суммируешь все ошибки. Так для каждого прогнозиста. Если у каждого прогнозиста разное кол-во прогнозов, то делишь на число прогнозов. Потом сравниваешь между собой

Сенкс, подумаю, интересно 

Причина обращения: