http://articles.mql4.com/ru/372Цитата:
Дело было 30 лет назад. Если кто помнит, тогда была популярной игра в спортлото. В барабане перемешиваются шары с номерами от 1 до 36 и по одному выбрасываются в лоток 5 шаров. Я решил сделать программу, которая позволяла бы прогнозировать, какие номера выпадут в следующем розыгрыше. Хотя теоретически я знал, что предсказать случайный процесс невозможно, но у меня была не просто уверенность, а какое-то внутреннее знание того, что в этой ситуации я найду решение. Не буду описывать все перипетии этой работы, но в конечном итоге мне удалось стабильно прогнозировать 3 цифры из 5.
Этого было достаточно, чтобы получать в среднем 1000% прибыли на один заполненный билет. Было очень обидно, когда после десятилетней упорной работы придя к положительному результату я так и не смог воспользоваться ее плодами. Дело в том, что программа, которую я сделал на далеко не самой плохой вычислительной машине того времени ЕС-1055 считалась более суток. Я имел возможность, придя утром в субботу на ВЦ, включить машину, запустить программу и ждать до вечера воскресенья результатов, но в рабочие дни, когда машина загружена в две смены это было невозможно, билеты к очередному розыгрышу надо было отослать до пятницы, а сами розыгрыши проходили в воскресенье. Но суть не в этом, а главное выводы из этой работы.
Практически нет абсолютно случайных процессов, каждый несет в себе пусть слабую, но детерминированную составляющую, так как нельзя выделить какой-то процесс и изолировать его от взаимодействия с окружающим миром. Любое взаимодействие создает корреляционные связи, а это, в свою очередь, дает возможность, если не прямым способом, то косвенно, выявить эти связи и через них осуществить прогноз самого процесса.
В примере, который я привел, был один забавный момент. Первоначально барабан, в котором перемешивались шары, был восьмигранным цилиндром, который крутился вокруг своей оси. Но в один прекрасный момент барабан заменили, сделав его шарообразным, в основании его располагался вибратор, который подбрасывал попадающие в центр шары. И когда произошла смена барабана, моя программа рассыпалась, она прекратила прогнозировать, мне пришлось ждать полгода, пока накопится новая статистика, и полностью менять алгоритм программы, только после этого мне удалось вновь получить стабильные прогнозы. Суть алгоритма сводилась к описанию пространства, которое представлял из себя барабан.
Внутри шара, из точки его касания с плоскостью, перемещался вектор по внутренней поверхности шара, его координаты выражались косвенно через цифры выигравших номеров из статистики розыгрышей. Задача прогноза в лоб по номерам не решалась. Надо было сначала создать модель пространства, в котором эти номера формировались, а далее, накладывая собственные искусственные ограничения, осуществлять прогноз квазислучайного процесса, формирующегося этим пространством.
Для повышения информативности входных признаков нужно создавать их ковариации между собой, используя различные законы комбинирования этих признаков, и выделить оптимальную группу формирующую наиболее точную модель. Для прогнозирования я использовал методику, близкую к сегодняшним генетическим алгоритмам.