热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用于检测历史体育比赛数据趋势的程序化技术-Programmatictechniquestodetecttrendsinhistoricalsportsmatchdata

SummaryIhavebeenlookingathistoricalAustralianRulesoutcomesusingexcelwithaneyeonBetf

Summary

I have been looking at historical Australian Rules outcomes using excel with an eye on Betfair odds to see if is an opportunity to better predict future match outcomes. My progress to-date is covered in more detail under Background below.

我一直在研究使用excel的历史澳大利亚规则结果,着眼于必发赔率,看看是否有机会更好地预测未来的比赛结果。我在今天的进展情况将在下面的背景下详细介绍。

I’d now like to go a step further and look at data mining / pattern matching / algorithim techniques that I could possibly implement. I have had some experience with using dynamic models (Extend) and using Solver in Excel for optimisation but I am unfamiliar with data mining other than the term itself

我现在想更进一步,看看我可能实现的数据挖掘/模式匹配/算法技术。我有使用动态模型(Extend)和在Excel中使用Solver进行优化的一些经验,但我不熟悉除术语本身之外的数据挖掘

Are there viable data mining programming techniques available to me to deploy for this analysis in VBA?

我是否可以使用可行的数据挖掘编程技术在VBA中进行此分析?

(I realise this question may be seen as borderline by some but I think Stack Overflow is better suited to this question than say Math - I am keen to understand potential programming options/algorithims that I can apply in VBA)

(我意识到这个问题可能被一些人视为边界但我认为Stack Overflow更适合这个问题而不是数学 - 我很想理解我可以在VBA中应用的潜在编程选项/算法)

My strong preference is to look at this with VBA \ Vbscript as this is my coding background but I am open to other options if they are significantly better.

我强烈倾向于使用VBA \ Vbscript来看这个,因为这是我的编码背景,但如果它们明显更好,我会对其他选项持开放态度。

Background

I have extracted the data for Australian Rules football over the last few years into Excel. This data gives me:

我在过去几年里将澳大利亚规则足球的数据提取到Excel中。这些数据给了我:

  1. Quarter by Quarter results
    (for example WWWL means team 1 leads for the first three quartes before losing the game, DLLL means teams 1 and 2 were level at the end of the first quarter, then team 2 lead for the remainder of the match).
  2. 逐季度结果(例如WWWL意味着球队1在失去比赛之前的前三个赛季领先,DLLL意味着第一和第二队在第一节结束时保持水平,然后在第二季结束时队2领先)。

  3. The same info is regrouped into Half by Half results
  4. 相同的信息被重新组合成一半的结果

  5. Home and Away teams (team 1 is home, team 2 away)
  6. Home and Away球队(球队1队主场,球队2队客场)

  7. Match Day Stadium
  8. 比赛日体育场

  9. Month of the year
  10. 一年中的一个月

Which I then match up to other data sets such as

然后我将其与其他数据集匹配,例如

  1. League ladder by week (completed)
  2. 逐周联赛(已完成)

  3. Whether the stadium is open air or closed (completed)
  4. 体育场是露天还是关闭(已完成)

  5. Bookmakers odds pre game (to do)
  6. 博彩公司在比赛前的赔率(待办事项)

  7. What happened with the weather conditions for open air stadiums (to do)
  8. 露天体育场的天气情况怎么样(待办事项)

And then dice and splice with PivotTables (perhaps PowerPivot) to interrogate this data to look for gaming opportunities, for example:

然后用PivotTables(可能是PowerPivot)进行骰子和拼接,以查询这些数据以寻找游戏机会,例如:

  • Do certain teams team to lead from start to finish (WWWW) more often than others, and do the odds for a “Four Quarter” win (WWWW) pay disproportionately more than this likelihood would indicate for a vanilla win (so Lay the vanilla win, Back the WWWW)
  • 某些团队团队从头到尾(WWWW)比其他团队更频繁地领导,并且为“四季度”胜利(WWWW)支付的可能性不成比例地超过这种可能性表明赢得了香草的胜利(所以让香草获胜,返回WWWW)

  • Looking for marked differentials in Home and Away performances (i.e. does home ground knowledge, or partisan home crowd support lead to more reversals of ¾ times scores)
  • 寻找Home和Away表演中的明显差异(即家庭地面知识,或党派家庭人群支持导致更多的3/4次分数逆转)

  • Comparing results of open-air versus closed roof stadiums (removing weather impact)
  • 比较露天与封闭屋顶体育场的结果(消除天气影响)

  • Does a long distance travel one week impact the next week(s) outcome
  • 长途旅行一周是否会影响下周的结果

  • Do certain teams produce certain scoring patterns more often than standard league results
  • 某些球队是否比标准联赛成绩更频繁地产生某些得分模式

  • Is a lower ranked team more likely to lead throughout an entire match than come from behind to beat a higher ranked team
  • 排名较低的球队在整场比赛中更有可能领先,而不是落后于击败排名更高的球队

2 个解决方案

#1


2  

Check out rapid miner, it has a number of built in tools to explore your data. Assuming you are somewhat competent getting around computer tools, also check out Weka which is a machine learning tool. If you annotate your data, you can train algorithms on the data and see which is the most accurate at predicting the winner.

查看快速采矿者,它有许多内置工具来探索您的数据。假设你有点能够绕过计算机工具,还可以查看Weka这是一个机器学习工具。如果您对数据进行注释,则可以对数据进行算法训练,并查看哪个算法最准确地预测获胜者。

For example Team A plays Team B, you'd basically have to represent the flow of the game in a csv file, any additional stats as well on the same line, then at the very last tab say which team won. The part where you say which team won is whats used to train on.

例如,A队扮演B队,你基本上必须在csv文件中代表游戏的流程,在同一条线上代表任何其他统计数据,然后在最后一个标签上说明哪支球队赢了。你说哪支球队赢了的部分是用来训练的。

#2


1  

This post is a bit late, but just want to add my 2 cents on the process itself.

这篇文章有点晚了,但只想在流程本身上加上我的2美分。

From my (rather extensive) work on running prediction algorithm on markets like these (Betfair included), my conclusion is that predicting the probability of an event happening (back) or not-happening (lay) is of no use. The issue is that even if you can clearly identify a trend with high probability of accuracy, you will still not be able to profit from the prediction because of the market-odds. The odds effectively tilt the probability back to 50/50. In fact, the market odds itself will tell you the Implied Probability of an event happening.

从我(相当广泛)关于在这样的市场上运行预测算法的工作(包括必发),我的结论是预测事件发生(返回)或不发生(存在)的可能性是没有用的。问题在于,即使您能够清楚地识别具有高准确度概率的趋势,由于市场赔率,您仍然无法从预测中获利。赔率有效地将概率倾斜回到50/50。事实上,市场赔率本身会告诉你事件发生的隐含概率。

Implied Probability%= (1/(odds - 1 ))

隐含概率%=(1 /(赔率-1))

for example: if the Back-Draw is 4.1; it effectively means a 32.25% chance of a Draw.

例如:如果Back-Draw是4.1;它实际上意味着平局的概率为32.25%。

To effectively profit from Betfair, one need to look at the discrepancy of the market-odds instead of looking at the probability of an event happening. Example: due to the rapid market movement of odds, there may (briefly) exists scenarios where cross-market odds are tilted to provide >100% return. This won't happen on major matches. Mostly on lower-volume matches.

要从Betfair有效获利,需要考虑市场差异的差异,而不是查看事件发生的概率。示例:由于赔率的快速市场变动,可能(短暂地)存在交叉市场赔率倾向于提供> 100%回报的情况。这不会发生在主要比赛上。主要是小批量比赛。


推荐阅读
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文介绍了NetCore WebAPI开发的探索过程,包括新建项目、运行接口获取数据、跨平台部署等。同时还提供了客户端访问代码示例,包括Post函数、服务器post地址、api参数等。详细讲解了部署模式选择、框架依赖和独立部署的区别,以及在Windows和Linux平台上的部署方法。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • Non-ASCIIhelponitsownisOK: ... [详细]
  • 使用Flutternewintegration_test进行示例集成测试?回答首先在dev下的p ... [详细]
author-avatar
shannnon
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有