Математические ставки. Сбор и хранение футбольных данных

Микаел Григорян
Если вы садитесь за карточный стол с профессионалом, то можете рассчитывать на везение или свой навык. Вы можете выиграть в одной партии или двух, однако довольно скоро мастерство станет определять исход всей игры. Играя регулярно против букмекеров, побеждать могут только подготовленные, а для этого нужны алгоритмы, компьютер и, прежде всего, данные. Но где их взять в товарных количествах и как затем сохранять?

Содержание

Как собирать и хранить футбольную статистику для ставок?

Как собирать и хранить футбольную статистику для ставок?

Начнем с конца, то есть с хранения данных. Необходимо сохранять данные в таком виде, чтобы их можно было удобно читать и легко трансформировать. Вроде бы все просто. Но есть нюансы. Удобно ли, например, читать Excel-файл? Казалось бы, ответ однозначный и положительный, но это лишь до тех пор, пока вы пользуетесь платной программой, которую к тому же у нас пытаются заменить отечественными аналогами. Есть и другие недостатки. Вот весь список:

  • требуется платная программа;
  • бинарный формат;
  • плохая масштабируемость;
  • скорость работы;
  • миграция данных под вопросом.

Что означает бинарный формат файла? Это такой тип данных, который нельзя открыть в Notepad, Notepad++ или любом текстовом редакторе на операционных системах Linux и Unix. Если в текстовом редакторе открыть бинарный файл, то программа покажет белиберду. Это на самом деле существенный недостаток, так как текстовые редакторы разрабатывались десятилетиями, они очень удобные и могут с тестом делать такие выкрутасы, которые даже Фотошопу не снились. Текстовый файл к тому же можно просматривать на любом устройстве с экраном.

Читайте также:

Теперь насчет миграции данных. Если вам нужны вычислительные действия, для которых необходима специальная математическая программа, то скорее всего потребуется конвертировать данные. Какие при этом опции вам будут доступны, зависит от версии MS Office. Форматирование, макросы, формулы будут утеряны. Делать это регулярно вам очень скоро надоест.

Ну ладно, если не Excel, то что же тогда? Да что угодно: есть xml, csv, json и старый добрый SQL. Посмотрим насколько удобны для нас эти форматы в качестве хранилища данных. Вот обычная таблица с небольшим количеством записей и полей. Вот бы и наши данные можно было хранить в таком удобном виде.

Table 1. Турнирная таблица РФПЛ 2017/2018 (верхние позиции).

 

 

 

 

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

Турнирная таблица в формате xml

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

Недостатки:

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

Но у этого тихого ужаса есть и свои преимущества:

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

Турнирная таблица в формате json

Уже выглядит получше, чем xml. Но на практике весь блок слипается в одну нечитабельную строку. Данный формат не позволяет создавать таких сложных структур, как xml, но берет скоростью и простотой. В общем неплохой формат для небольших и средних объемов данных.

Турнирная таблица в формате tsv

Я склоняюсь к этому решению. Как видите, все просто и наглядно. Если использовать запятые вместо разделения отступами, то получим формат csv, который намного сложнее читать, нежели tsv-файл. Но для машины оба эти формата равнозначны.

Достоинства

  • легко читать;
  • легко трансформировать в другой тип данных;
  • простота;
  • минимальные накладные расходы;
  • текстовый формат.

Недостатки

  • не годится для больших объемов данных;
  • нельзя создать более сложные структуры.

Для формата tsv вполне приемлемо содержать даже 100 тысяч записей, с которыми можно производить различные операции. Но если нужны интенсивные и повторяющиеся расчеты, прогнать миллион итераций методом Монте-Карло, то лучше использовать базу данных с бинарным форматом файлов. Об этом я расскажу вам в следующем материале.

Нашли ошибку?Сообщите о ней
Остались вопросы? Спросите у наших знатоков!
Комментарии 2