Перепрыгнеть в содержание


* * * * * 1 голосов

Excel + football-data.co.uk


37 ответов в эту тему

#21 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
57

Добавлено 19 March 2015 - 22:56

Bambuk, Вы несомненно говорите дельные вещи. И в последнем, и в предыдущих сообщениях. Но, видимо Вы ту задачу, о которой говорите считаете важной, поэтому уже несколько раз акцентируете внимание не на изначальном вопросе, а например, на том, что надо прописать какие-то характеристики возле пары команд. И с тем, что желательно прописать ряд характеристик возле каждой пары я также согласен и считаю это важным моментом.

Расскажу Вам механизм подготовки данных к анализу. Берется весь пакет csv-файлов с сайта. Т.к. я немного на Java пишу, то написал небольшую программу которая помогает мне в подготовке данных. В эту программу загружаются все данные с csv-файлов и парсятся по соответствующим полям. Потом рассчитываются все дополнительные поля и весь массив данных выгружается обратно, но уже в один csv-файл. Этот файл без проблем импортируется в Ексель и сразу же создается таблица со всеми нужными нам данными. Фактически, в каждой строке мы имеем некоторые данные о матче (лига, дата, раунд, финальный счет, ...), а также состояние одной и другой команды до матча (вот сюда и направлены основные расчеты). В итоге мы получаем одну большую таблицу на несколько десятков тысяч записей, которая уже исследуется с помощью сводных таблиц.

Такая объединенная таблица позволяет нам исследовать данные по разным срезам (чемпионаты, года, раунды, коэффициенты, результаты, голы...), что очень удобно. Мало того, рассчитанные нами критерии позволяют нам смотреть на то, как состояние команды до матча (а также разница некоторых показателей двух команд) влияет на результат и находить на этой основе ниши, где можно потенциально иметь положительное ROI. Конечно, открытым остается вопрос, который Вы часто задаете "А повториться ли?". Но этот вопрос скорее риторический, т.к. будущего мы знать не можем. А можем лишь надеяться, т.е. прогнозировать.

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

А задача, которая у меня возникла в процессе пользования данным инструментом, появлялась, конечно, не так часто. Но достаточно для того, чтобы заметить ее и попытаться решить, не нарушив при этом того, что уже сделано и обкатано. Поэтому мне нужно решить именно! эту задачу.

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

Там есть такая штука как PowerPivot, которая предоставляет нам возможность создавать связанную базу данных из нескольких таблиц в самом файле Екселя. У меня все была надежда, что я или в Екселе, или в Аксесе вынесу из наших данных команды в отдельную таблицу. Получиться у нас две таблицы: матчи и команды. Тогда их можно было бы связать по ключу по полям HomeTeam и AwayTeam. А это означало бы, что открыв в сводной таблице нашу БД, я бы выбрал из таблицы "Команды" названия команд и отфильтровав по одной из них, получал весь набор матчей данной команды. Но дело в том, что модель данных в Екселе поддерживает только одну связь между таблицами. Т.е. если у нас есть связь к полю HomeTeam, то связь к полю AwayTeam не активна. В итоге мы возвращаемся к тому, откуда пришли, ни на сантиметр не сдвигаясь с места.

При всей поддержке разного рода коннектов с внешними БД (будь то Access или какой-нибудь SQL-server) , мы постоянно будем впираться в это ограничение. Единственный вариант, где надо немного похимичить нашел здесь. Но это тоже немного через ..опу. И тоже с дублированием данных ))

#22 ONLINE   Bambuk

    Специалист


  • mp
  • 5968 сообщения
566

Добавлено 20 March 2015 - 07:33

Там кстати есть не только csv а и файлы в обычном екселевском формате... Я просто в начале подумал что сводная таблица используется как основной инструмент расчёта параметров и исходные данные представлены только в том виде как получены с сайта...поэтому и начал "гнать волну"... Но тогда допустим у меня часто возникают потребности добавления чего-либо к данным(это допустим столбец или несколько с какими-то характеристиками или кефами рассчитанными для какого-то временного горизонта по приближённым формулам итд итп)
а вот у вас допустим как такая проблема будет решаться? По идее сводную таб. можно обновить...но тогда надо ж всё равно в каком-то файле их иметь готовыми ..... Дело в том что я практически не знаю Access и инструментом типа сводная таблица мне показалось пользоваться слишком замороченным делом. Вчера попробовал поразбираться в этом деле...но у меня стоит ексель 10-ка (причем левая) и там похоже не все примочки присутствуют---не смог собрать там листы книги --вот если качнуть файл all-euro-data-2013-2014 то там каждая лига на своём листе и хз как эти листы засунуть скопом в сводную таб..---я так подозреваю надо их все собрать на одном листе, а потом его использовать для сводной....

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

#23 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
57

Добавлено 20 March 2015 - 11:56

Если есть возможность пользоваться Excel 2013, то я бы организовывал работу по следующей схеме:

1. Загружаем файл all-euro-data-2013-2014.xls и кладем его в папку Soccer.
2. Рядом создаем файл analysis.xlsx и создаем в нем следующий макрос (взят отсюда):
Spoiler
3. Открываем оба файла и в первом запускаем макрос, который аккуратно собирает все листы в один.
4. Сохраняем его и закрываем. Он у нас будет служить как источник данных.
5. Теперь нам надо активировать надстройку PowerPivot в Excel 2013 (по умолчанию она не активирована). Когда активируем, на главной панели появиться вкладка POWERPIVOT.
6. Далее надо создать connection с нашей таблицей исходных данных. Для этого вкладка DATA->Existing Connections->Browse for More... и выбираем наш файл all-euro-data-2013-2014.xls, далее выберем лист с общими данными.
7. Появиться окошко Import Data, где отметим Only Create Connection и Add this data to the Data Model. Ексель загрузит данные с указанного листа себе в встроенную БД.
8. На выходе у нас получиться, на первый взгляд, чистый файл. Т.е. в листах данных не будет, они будут храниться в модели данных. С ней мы и будем работать.
9. Переходим на вкладку POWERPIVOT->MANAGE и заходим в наше хранилище данных. Здесь мы будем рассчитывать требуемые нам критерии с помощью вычисляемых полей (Calculated Field). Например, здесь мы можем одной формулой добавить такой критерий как ROI_D (игра флетом), например. Выглядеть формула будет следующим образом:
=CALCULATE(SUM([BbMxD]);FILTER('Combined';[FTR]="D"))-COUNTA([FTR])
(У вас общая таблица после сборки будет называться Combined)

Теперь этот показатель будет у нас работать на любом срезе данных. Мы можем его смотреть в контексте лиг, команд, количества забитых голов и т.д. А можем, например, для каждого из 1х2 коэффициентов создать диапазоны с требуемым размахом и смотреть ROI для каждого исхода по диапазонам коэффициентов [1.1-1.3],[1.3-1.5],[1.5-1.7], ...
10. Некоторые из шагов делаются для того, чтобы работая с теми файлами, которые будут обновляться, мы смогли легко обновлять данные в нашем рабочем файле, сохраняя при этом все рассчитанные нами коэффициенты. Например, мы анализируем текущий сезон, а текущий файл на сайте обновляется раз в неделю. Все что надо, чтобы получить актуальные данные:
- скачать файл с сайта и поместить его в папку Soccer, заменив старый;
- открыть файл и запустить макрос по сборке листов в один;
- в рабочем файле нажать Refresh.
Данные обновятся автоматически, т.к. у нас сохраняется название и местоположение файла, из которого мы берем наши данные.

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

Вообще, сводная таблица - это такая себе таблица-конструктор из которого, оперируя исходными полями, можно сложить практически любой необходимый ракурс. Даже финансовые стратегии там тестировать можно. Но для этого необходимо забить формулы критериев, т.к. в чистых исходных данных мало на что можно смотреть. Хотя, когда начинал работу с этими таблицами в связи с football-data.co.uk, то и из исходных данных получалось вытягивать интересные вещи. А польза от Access’а, как я уже писал, отпадает по той причине, что импортируя данные в Excel мы теряем все преимущества хранения данных в Access'e.

P.S.: Ну а если возможности перейти на Excel 2013, то это затруднит лишь решение вопроса с обновлением данных. И в этом случае данные будут храниться в обычной таблице, но вычисляемые поля, сводные таблицы и макрос по сборке листов работать будут.

Отредактировано tester.nt, 20 March 2015 - 12:04.


#24 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
57

Добавлено 20 March 2015 - 12:17

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

По сводным таблицам в Excel 2013 есть хорошая серия видеоуроков от lynda.com - Excel 2013: Pivot Tables in Depth. На rutracker'e можно найти.

Отредактировано tester.nt, 20 March 2015 - 12:24.


#25 OFFLINE   Villivall

    Новичок


  • Участник
  • Пип
  • 2 сообщения
0

Добавлено 05 October 2015 - 14:39

Сообщенияtester.nt, on 20 March 2015 - 12:17, сказал:

Маленькая ремарка: для того, чтобы все листы нормально собирались в один, их предварительно нужно привести к одному виду. Изначально на разные лиги даются разные наборы данных. В частности, судьи пишутся только для всех английских лиг и шотландской премьер лиги. Иначе получится накладка данных в полях. По сводным таблицам в Excel 2013 есть хорошая серия видеоуроков от lynda.com - Excel 2013: Pivot Tables in Depth. На rutracker'e можно найти.

А много там несостыкованных столбцов? какие еще данные кроме рефери удалить надо?

#26 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
57

Добавлено 07 October 2015 - 18:24

СообщенияVillivall, on 05 October 2015 - 14:39, сказал:



А много там несостыкованных столбцов? какие еще данные кроме рефери удалить надо?

Посмотрите в этой теме (Ссылка Здесь) моё сообщение за 15 мая. Там предложен более эффективный вариант решения данной задачи. Также там есть еще 2 интересных видео по работе с данными в екселе.

Отредактировано tester.nt, 07 October 2015 - 18:25.


#27 ONLINE   Bambuk

    Специалист


  • mp
  • 5968 сообщения
566

Добавлено 08 October 2015 - 08:12

Сообщенияtester.nt, on 07 October 2015 - 18:24, сказал:

Посмотрите в этой теме (Ссылка Здесь) моё сообщение за 15 мая. Там предложен более эффективный вариант решения данной задачи. Также там есть еще 2 интересных видео по работе с данными в екселе.
Вот эта надстройка со временем слетает в екселе 10 Power Query майкрософт шлёт какие-то дебильные обновления и потом её просто невозможно подключить (это по идее надстройка COM и она ни хрена не грузится при запуске екселя)....в общем говно полное.....

Отредактировано Bambuk, 08 October 2015 - 08:13.


#28 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
57

Добавлено 08 October 2015 - 16:18

На 13 Екселе все работает.

#29 ONLINE   Bambuk

    Специалист


  • mp
  • 5968 сообщения
566

Добавлено 09 October 2015 - 12:10

Сообщенияtester.nt, on 08 October 2015 - 16:18, сказал:

На 13 Екселе все работает.
Не скромный вопрос----есть минуты голов для данных лиг сайта где данные all-euro-data????

#30 OFFLINE   Nickbet

    Новичок


  • Участник
  • Пип
  • 8 сообщения
1

Добавлено 12 October 2015 - 12:03

Могу сделать для вас любую выборку из этих данных. С вас конкретные параметры.

#31 ONLINE   Bambuk

    Специалист


  • mp
  • 5968 сообщения
566

Добавлено 12 October 2015 - 13:40

СообщенияNickbet, on 12 October 2015 - 12:03, сказал:

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

Ситуация в нете дурацкая--нет ни где ресурса где всё вместе есть: то Машка дома--Васьки нету то Васька дома--Машки нету....

Отредактировано Bambuk, 12 October 2015 - 13:42.


#32 OFFLINE   Nickbet

    Новичок


  • Участник
  • Пип
  • 8 сообщения
1

Добавлено 12 October 2015 - 14:56

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

Сам конвертировал все таблицы с football-data в SQL под MySQL в виде отдельных таблиц за каждый сезон E0_01_02, E0_02_03 и т.д, кое-чего можно находить , особенно при ставках на угловые+фолы+жк.

Все запросы пишу на PHP, но щас решил Питон освоить под него библиотек полно для обработки данных.

Есть ли возможность соединить эти базы? мб у кого международные турниры имеются типа ЛЧ. ЛЕ. ЧМ. ЧЕ?

В общем неплохо было бы создать хорошую бд для исследователей и капперов или что-то типа конструктора и тестера стратегий как на фондовом рынке =)

#33 OFFLINE   Villivall

    Новичок


  • Участник
  • Пип
  • 2 сообщения
0

Добавлено 16 October 2015 - 08:41

Сообщенияtester.nt, on 07 October 2015 - 18:24, сказал:

Посмотрите в этой теме (Ссылка Здесь) моё сообщение за 15 мая. Там предложен более эффективный вариант решения данной задачи. Также там есть еще 2 интересных видео по работе с данными в екселе.

Да я вроде все как надо делал. Прям по видео, используя этот самый файл, но у меня при загрузке строк выскакивает больше 6000 ошибок, я так понял было,что из-за нестыковки по количеству инфы в каждой конкретной лиге.

#34 OFFLINE   Noname

    Специалист


  • mp
  • 2395 сообщения
338

Добавлено 16 October 2015 - 10:47

СообщенияBambuk, on 12 October 2015 - 13:40, сказал:

Ситуация в нете дурацкая--нет ни где ресурса где всё вместе есть: то Машка дома--Васьки нету то Васька дома--Машки нету....
Таки не все так плохов инете :)
При желании все можно найти.
Есть любая статистика и по-минутам, и по-таймам, угловым,карточкам,ударам по воротам...
Другое дело, что такая статистика не бесплатна. ;)
ИМХО тут важен сам подход к теме
Есть четкая стратегия и хочется проверить ее, наверное стоить купить доступ к такой статистике.
А если никаких мыслей нет, а есть только надежда, что сама статитика подскажет идею, то это деньги на ветер.
Я так думаю :)

#35 OFFLINE   Vladislove

    Специалист


  • Участник II
  • ПипПипПип
  • 165 сообщения
53
  • МестоположениеРоссия

Добавлено 16 October 2015 - 15:00

СообщенияNoname, on 16 October 2015 - 10:47, сказал:

Таки не все так плохов инете :)
При желании все можно найти.
Есть любая статистика и по-минутам, и по-таймам, угловым,карточкам,ударам по воротам...
Одно дело найти нужную статистику, а другое дело на сколько она достоверна...
Когда myscore пишет одну стату, soccerway другую, а betradar третью на один и тот же матч.....и ни редко бывает, что официальный источник не отображает нужный тебе статистический параметр.....вот он головняк начинается :blink:

#36 ONLINE   Fedorok

    Специалист


  • mp
  • 1581 сообщения
236

Добавлено 16 October 2015 - 15:49

СообщенияVladislove, on 16 October 2015 - 15:00, сказал:

Одно дело найти нужную статистику, а другое дело на сколько она достоверна...
Когда myscore пишет одну стату, soccerway другую, а betradar третью на один и тот же матч.....и ни редко бывает, что официальный источник не отображает нужный тебе статистический параметр.....вот он головняк начинается :blink:
А можно привести пример несоответствия? И какой нужный вам статистический параметр отсутствует в официальных источниках?

#37 OFFLINE   Vladislove

    Специалист


  • Участник II
  • ПипПипПип
  • 165 сообщения
53
  • МестоположениеРоссия

Добавлено 17 October 2015 - 05:42

СообщенияFedorok, on 16 October 2015 - 15:49, сказал:

А можно привести пример несоответствия? И какой нужный вам статистический параметр отсутствует в официальных источниках?
Spoiler

Attached File(s)

  • Прикрепленный файл  2015-10-17_07-10_ADE 1-1 WSW.png   117.56K   0 Количество загрузок
  • Прикрепленный файл  2015-10-17_07-11.png   53.47K   0 Количество загрузок
  • Прикрепленный файл  1.png   27.49K   0 Количество загрузок
  • Прикрепленный файл  2.png   24.7K   0 Количество загрузок
  • Прикрепленный файл  3.png   26.93K   0 Количество загрузок
  • Прикрепленный файл  4.png   23.99K   0 Количество загрузок

Отредактировано Vladislove, 17 October 2015 - 05:44.


#38 OFFLINE   Vladislove

    Специалист


  • Участник II
  • ПипПипПип
  • 165 сообщения
53
  • МестоположениеРоссия

Добавлено 17 October 2015 - 06:37

СообщенияFedorok, on 16 October 2015 - 15:49, сказал:

А можно привести пример несоответствия? И какой нужный вам статистический параметр отсутствует в официальных источниках?
Или к примеру взять Беларусь. Высшая Лига: Гомель 1-4 Нафтан
MyScore и Betradar вообще подробной статистики не дают на этот матч, только на Soccerway можно посмотреть, но Soccerway доверять нельзя (ИМХО).
Если зайдем на официальный сайт Высшей футбольной Лиги Белоруссии , то мы видим, что они никаких статистических данных ни по ударам, ни по владению мячом, ни по угловым не дают. Как в такой ситуации тогда быть.....остаётся только башку чесать. Единственное, что можно сравнить, на каких минутах забивались голы и карточки. NowGoal показывает в этом матче вообще 5 желтых карточек, MyScore и Soccerway только по одной, но если обратиться к официальному источнику, то мы узнаем, что было 2 карточки.

Attached File(s)