Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Делись ссылками на продукты и получай доход с этого
Jeremy Falcon
181
Jeremy Falcon 2013.02.01 11:07 

 

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

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

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

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

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

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

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

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

Alexey Subbotin
4998
Alexey Subbotin 2013.02.01 11:45  
IronBird:

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

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

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

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

Леонид
5841
Леонид 2013.02.01 12:16  
В применении к прибыльной торговле, необходимо подобрать порог от 0 до 1 при котором будет осуществляться открытие позиций с постоянным лотом, чтобы торговля была прибыльной. Если такого порога нет - то на нет и суда нет ))))) Дальнейшая притяжка величины лоты к какому-либо параметру, в частности значению вероятности, бессмысленна, поскольку никаких закономерностей между величиной лота и значением вероятности не существует. Слив обеспечен.
Jeremy Falcon
181
Jeremy Falcon 2013.02.01 13:40  

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

To Demi:

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

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

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

Avals
3182
Avals 2013.02.01 13:45  
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. И т.д. Суммируешь все ошибки. Так для каждого прогнозиста. Если у каждого прогнозиста разное кол-во прогнозов, то делишь на число прогнозов. Потом сравниваешь между собой
Дмитрий
2957
Дмитрий 2013.02.01 13:45  
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, только бери разности и стремись к минимуму.  

Jeremy Falcon
181
Jeremy Falcon 2013.02.01 13:51  

To Demi 

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

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

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

Jeremy Falcon
181
Jeremy Falcon 2013.02.01 13:55  
Avals:

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

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

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий