白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现数据之巅

设P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。下面就是贝叶斯公式:

其中的符号定义为:

按这些术语,贝叶斯定理可表述为:后验概率=(相似度*先验概率)/标准化常量。简单的讲,贝叶斯定理是基于假设的先验概率,给定假设条件下,观察到不同数据的概率,提供一种计算后验概率的方法。

1、已知类条件概率密度参数表达式和先验概率。

2、利用贝叶斯公式转换成后验概率。

3、根据后验概率大小进行决策分类。

贝叶斯的这种基本思想可以在大量的实际案例中得到使用,因为很多现实社会中,积累了很多历史先验数据,想进行一些决策推理,也可以说是预测,就可以按照上面的步骤进行,当然贝叶斯理论的发展中,出现了很多新的推理算法,更加复杂,和面向不同的领域。一般来说,使用贝叶斯推理就是,预测某个事件下一次出现的概率,或者属于某些类别的概率,使用贝叶斯来进行分类的应用应该是最广泛的,很多实际的推理问题也可以转换为分类问题。下面将介绍一些贝叶斯理论的应用例子。

在人工智能领域,贝叶斯方法是一种非常有代表性的不确定性知识表示和推理方法。目前贝叶斯的应用非常广泛,如文本分类,问题分类,反垃圾邮件等等,根据问题特征因素的独立性可以分为:朴素贝叶斯和贝叶斯网络。

1.朴素贝叶斯的核心在于它假设向量的所有分量之间是独立的。(这一点在很多复杂的实际情况中都不太容易达到,各个因素直接可能都有一定的关联);

2.贝叶斯网络又叫概率因果网络或者知识图,是相对于朴素贝叶斯而言的。它是一种有方向的无环关系图;贝叶斯网络用图形来表示变量之间的连接个概率关系;它是为了解决不确定性问题和不完整性问题而提出的,在如文字处理,图像处理,决策支持等很多领域都得到广泛的应用。

注意:上述的推导有2个地方比较难懂,1个是把分母p(x)去掉了,应该好理解,分母都一样,比较的时候,直接比较分子就可以了。另外一个是为什么这个公式是成立的:

P(x|yi)=P(a1|yi)*P(a2|yi)*...*P(aj|yi)

这个公式的成立是因为各个属性a1,a2,..,aj都是独立的,才能成立。

根据上述原理,朴素贝叶斯分类主要分为三个阶段:1.准备阶段,这个阶段的任务是为朴素贝叶斯分类做必要的准备,主要工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本集合。这一阶段的输入是所有待分类数据,输出是特征属性和训练样本。这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段,其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、特征属性划分及训练样本质量决定。2.分类器训练阶段,这个阶段的任务就是生成分类器,主要工作是计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计,并将结果记录。输入是特征属性和训练样本,输出是分类器。这一阶段是机械性阶段,根据前面讨论的公式可以由程序自动计算。3.应用阶段。这个阶段的任务是使用分类器对待分类项进行分类,其输入是分类器和待分类项,输出是待分类项与类别的映射关系。这一阶段也是机械性阶段,由程序完成。

至于贝叶斯的其他问题如估计类别下特殊属性划分的条件概率,以及分类器的评价问题,我认为对于初学者可以暂时跳过,等把基本流程理顺了,懂了,越到更多的问题后再回过头来反思后,按需学习。

对于SNS社区来说,不真实账号(使用虚假身份或用户的小号)是一个普遍存在的问题,作为SNS社区的运营商,希望可以检测出这些不真实账号,从而在一些运营分析报告中避免这些账号的干扰,亦可以加强对SNS社区的了解与监管。如果通过纯人工检测,需要耗费大量的人力,效率也十分低下,如能引入自动检测机制,必将大大提升工作效率。这个问题说白了,就是要将社区中所有账号在真实账号和不真实账号两个类别上进行分类。

下面我们一步一步的使用朴素贝叶斯实现这个过程。

1.首先设C=0表示真实账号,C=1表示不真实账号。其他例子中不一定只有2类,也可以是N个类别,只不过计算更复杂,要借助计算机和程序了。

2.找出可以区分真实与不真实账号的特征属性,实际应用中,特征属性的数量可能很多,划分也会更细致。作为例子,这里只用少量的特征属性以及较粗的划分,并对数据做了修改。同时我们也假设这3个属性是独立的,这是使用朴素贝叶斯的基本要求。

选择三个特征属性,在SNS社区中这三项是可以直接从数据库里得到的。粗略划分如下几个区间:

a1:日志数量/注册天数,划分:{a1<=0.05,0.05=0.2}

a2:好友数量/注册天数,划分:{a2<=0.1,0.1=0.8}

a3:是否使用真实头像。划分:{a3=0(不是),a3=1(是)}

使用1万个人工检测过的账号作为训练样本。我们根据上面特征属性的划分计算每个类别的频率以及各个类别在各个条件下的条件概率,以供后面的预测需要。

计算类别频率

P(C=0)=0.89;也就说这1万个人工检测过的帐号中,有89%是真实的

P(C=1)=0.11;人工检测的帐号中,有11%是不真实的

计算条件概率

1)计算已知C=0的条件下,a1属性属于不同划分类别的条件概率

P(a1<=0.05|C=0)=0.3;在帐号真实的情况下,日志数量/注册天数的值<=0.05的比例有30%

p(0.05

P(a1>=0.2|C=0)=0.2;

2)计算已知C=1的条件下,a1属性属于不同划分类别的条件概率

P(a1<=0.05|C=1)=0.8;在帐号不真实的情况下,日志数量/注册天数的值<=0.05的比例有80%

p(0.05

P(a1>=0.2|C=1)=0.1;

3)计算已知C=0的条件下,a2属性属于不同划分类别的条件概率

P(a2<=0.1|C=0)=0.1;

P(0.1

P(a2>=0.8|C=0)=0.2;

4)计算已知C=1的条件下,a2属性属于不同划分类别的条件概率

P(a2<=0.1|C=1)=0.7;不真实条件下的帐号,好友数量在这个范围是非常多的

P(0.1

P(a2>=0.8|C=1)=0.1;

5)计算已知C=0的条件下,a3属性属于不同划分类别的条件概率

P(a3=0|C=0)=0.2;

P(a3=1|C=0)=0.8;真实帐号中,使用真实图像的比例是80%

6)计算已知C=1的条件下,a3属性属于不同划分类别的条件概率

P(a3=0|C=1)=0.9;不真实帐号中,使用不真实图像的比例是90%

P(a3=1|C=1)=0.1;

上面这些数据从样本中可以直接统计得到。我也手动对几个条件概率进行了解释,我们假设还是比较符合真实情况的,虽然这个数据是原作者修正过的。

某帐号使用非真实头像,日志数量与注册天数的比率为0.1,好友数与注册天数的比率为0.2。这些数据是从该数据库直接获取的。

那么这个人的账户是真实账户还是不真实账户呢?相应的概率又有多少呢?

直接使用3.1节中的公式,我们计算在当前数据x发生的情况下,属于不同类别的概率,这里有2类,所以要计算一下2个东西:

要计算P(C=0|x)和P(C=1|x)的概率,然后比较大小,取最大值所在的类别就是我们分类的类别。当然我们不一定非要分类,而是可以将求出的概率提供给客户,作为一个参考值等等。而根据3.1节的推导,上述2个值的计算完整公式应该是下面这样的:

P(C=0|x)=P(x|C=0)*P(C=0)

=P(a1|C=0)*P(a2|C=0)*P(a3|C=0)*P(C=0)根据x的属性范围选择对应的概率

=P(0.05

=0.5*0.7*0.2*0.89=0.0623

同理:

P(C=1|x)=P(0.05

=0.1*0.2*0.9*0.11=0.00198

所以根据属性结果和计算,当事件X发生时,属于C=0的概率要高得多,是C=1的30倍。因此我们有理由将这个帐号划分为真实帐号的范畴。

当然实际中的情况可能更加复杂,计算量也更加大,朴素贝叶斯不一定能很好的完成复杂的任务。但有些时候,我们将文件简化为朴素贝叶斯也能收获一些意外的东西。下面我们就来看将贝叶斯分类应用到足球彩票胜平负结果的预测中的情况。纯C#代码。欢迎支持。

关于足球彩票预测的几点说明:

1.本文分析的足球胜平负比赛的结果预测,采集的数据有近10年的全世界主要联赛;

2.足球彩票的预测方法各种各样,八仙过海各显神通,我这里也只是初步的测试,还有很多工作待完成,有没有完善的地方大家也不要急。

3.足球比赛的结果不仅与球队实力,状态,伤病,彩票,天气,还与场上的重大随机因素有关,因此想完成预测100%准确是一个不可能的任务,我们只是想在欧赔的概率基础上有少部分(5-10%)的提高,这样才可以做很多有意义的事情。

4.准确的说,足球比赛的很多因素都是有关联的,我也只是处于好奇,先使用了朴素贝叶斯来进行了一些工作,同时也在着手开始研究贝叶斯网络的预测方法,比较复杂,还在学习与堆码中。

5.1场足球比赛的基本要点有:主队,客队,比分,结果,至于辅助的因素有很多,如赛前的主客队积分,进球率,失球率,净胜球等等。

为了简单起见,我暂时只选取2个属性:主客队总积分的差;主队主场积分与客队客场积分的差;结果有胜平负3种类别,分别记为(3,1,0)。属性集的划分我们在程序中动态获取,这样可以计算各种不同划分的准确率,更加方便,这和上面的例子是不一样的。当然上面的例子也可以这样做,只是一个小的技巧而已。

在这个测试过程中,我们是选取前N轮的比赛场次数据,然后对后M轮的结果进行预测。所有首先要从数据库获取贝叶斯的训练数据,看代码:

1///

获取属性分割的区间,根据断点确定,data应该是从小到大的点排列2///3staticdouble[][]GetRulesByPoint(Listdata)4{5double[][]res=newdouble[data.Count+1][];6res[0]=newdouble[]{-1000,data[0]};//下限-1000,不可能达到7for(inti=0;i

1.几个基本的属性。注意字典存储条件概率,直接全部计算,对数据量大的情况,可能会吃不消,应该按需计算比较好。不过这里是测试,无所谓了。先看看效果才行。

预测的过程也和第2节的例子一样,只不过是程序化了。预测的方法是每次一条记录的数据,并计算属于每一类的概率,所以返回的是一个字典,key为类别,value为概率。具体方法如下所示:

1///

分类:key为类别,value为概率2publicDictionaryClassificationForDic(double[]data)3{4//先要计算每个当前属性的划分集合的顺序,找出每个属性所属于的区间5ListattIdList=newList();6for(inti=0;ires=C_Ratio.ToDictionary(n=>n.Key,n=>15{16doublemultip=n.Value;17for(inti=0;i

基本过程和代码完成了,我们采集5大联赛(西甲,德甲,英超,意甲,法甲)的数据进行测试,看看贝叶斯预测算法的准确性如何。测试的核心代码如下:

我们可以看到,针对不同的划分集,指数1的准确率都超过了57%,比正常的欧赔指数45-50%,高出了5-10%。结果还是比较可观的。但是我们也看到指数3的比例都有22%,说明对于一些特别冷门的场次,算法还是做不到,这些特殊情况不是简单2个因素就可以左右的,因此还有待对模型更深一步的研究,找出这些特别冷门场次的一些共同因素,从而进行一定程度的防范,减少指数3的比例,从而提高指数1,2的比例。

2.同时,我们对上一步的测试方法进行了一定的更改,将预测结果和欧赔bet365指数1结果一致的比赛拿出来进行统计;将预测结果和欧赔bet365指数1,2结果一致的比赛进行统计:

同样是上述481场比赛进行筛选和属性划分,我们对实际的准确率进行比较:

通过结合欧赔指数,进行一定的过滤后,预测的整理准确率有了一定的提高。这个结果还是很理想的,懂的人应该知道里面的含义。所以贝叶斯理论的确是非常强大,当然这里只采用了2个因素,而且本身是关联的,但实际中没有考虑关联性,看成了朴素贝叶斯,必定会对问题结果产生一定的影响。这和我解决问题的思路有关系,先简单,后复杂,逐步过渡,延伸。。

1.在博客正文加上本文的链接,当然部分网站会无良的把所有链接给去掉,但可以防范部分,另外水印这些也有点用,只是比较麻烦,懒得搞

THE END
1.揭秘2024年天天彩精准资料,探索彩票预测的新纪元互联网彩票预测并非纯粹的迷信活动,通过对历史数据、走势图的分析,结合统计学、概率学等科学方法,我们可以对彩票的开奖结果做出一定程度的预测,需要强调的是,彩票预测并不能保证中奖,因为彩票本质上是一种概率游戏,每次开奖结果都是随机的,彩民应该理性对待彩票预测,将其视为提高中奖概率的一种辅助手段,而非绝对可靠的保障。http://hdjyshop.com/post/6385.html
2.大数据成博彩玩家新宠赛果预测准确率高达76%双层数据真能预测赛果吗? 面对在技术上不断提高用户体验的大型公司的威胁,一些博彩公司又提出“计算赛果”的设想,来吸引用户的垂注。 总部位于波兰的Betegy公司近日声称,他们能通过复杂的计算方法,找出一起影响比赛结果的因素,包括比赛时的天气,球员的家庭成员,甚至教练的生日,都将成为“有意义”的数据。当这些毫无干系http://caipiao.sohu.com/20140726/n402730290.shtml
3.老彩民的彩票趋势图,真的有用吗?进到彩票站,总会看到挂在墙上,画得曲曲折折的往期号码走势图。还有一些老彩民,会掏出本子写写画画,预测未来开奖号码的趋势。那么,这种趋势是否是可以预测的呢? 彩民预测号码趋势的原理通常是基于对历史开奖数据的分析和模式识别。他们会观察过去的开奖号码,寻找其中的规律和趋势,然后根据这些趋势来推测未来的开奖号码。https://www.meipian.cn/4zyirtex
4.彩民之家彩票开奖结果查询彩票预测分析推荐玩彩票8年多了,很喜欢数字彩,也喜欢琢磨,主要借助走势图从中找出规律,希望能和大家一起交流,给大家带来好运。 大乐透 +关注 5 大联盟 特级 大乐透一等奖4次 本人对福彩双色球情有独钟,八年的购买福彩双色球的历练,使我对双色球开奖出号的规律颇有心得,分析规律加灵感顿悟,每每都能预测出让人心动的组合。3d和https://www.zhcw.com/3d/caiminzhijia/5665775.shtml?_t_t_t=0.07365714386105537
5.警惕彩票中奖号码能预测?“一夜暴富”不成反遭骗3.1月12日,无锡的刘某在家中上网时,看到一抖音用户发了购买彩票的方法,后被拉入“彩票资料交流群”,根据对方提示转账被骗12000元。 警方提示 市民切记天上不会掉馅饼,中奖信息勿轻信;不要相信所谓的预测彩票结果的广告,购买彩票一定要选择官方渠道;不要透露自己的个人信息,不转账,不汇款;如遇被骗,请及时报警。https://www.zjg.gov.cn/zjgszwz/yjxx/202401/6ec86b859eb241ffb6b7d9695cee451d.shtml
6.老彩民的彩票趋势图,真的有用吗?老彩民的彩票趋势图,真的有用吗? 导语:这几年,彩票就像是一颗热气球,越来越受社会关注,新闻上频频出现“年轻人疯狂刮刮乐”“彩票店赚翻天”等话题,简直就像是一出热闹的大戏,人们对彩票的热情像火箭一样腾飞。 这几年,彩票就像是一颗热气球,越来越受社会关注,新闻上频频出现“年轻人疯狂刮刮乐”“彩票店赚翻天https://shkp.org.cn/articles/2024/01/if318453.html
7.彩票预测的可能性与算法分析怎么预测抽奖结果彩票作为一种以随机数为基础的赌博形式,吸引了大量希望一夜暴富的参与者。尽管许多人希望通过某种方式预测彩票结果,以增加中奖几率,但彩票预测的可能性依然是一个充满争议和误解的话题。本文将探讨彩票是否能够预测的理论依据,分析可能的预测算法,并解释这些算法为何在实际应用中难以奏效。 https://blog.csdn.net/m0_38012434/article/details/139123648
8.你买过彩票吗?买“内部人员”推荐的号,真的中了8.3万!而真实原因中奖人以及那些开始不相信没有购买,结果发现真能中奖的彩民,自然想继续合作。这时,骗子分得奖金后,还会以诚信为由,收取数额不等的保证金,然后拉黑。 “彩票中奖概率是可以根据游戏规则计算出来的。”另一名资深玩家刘先生分析,双色球一等奖中奖概率为1772万分之一,二等奖中奖概率为110万分之一。 https://static.nfapp.southcn.com/content/201702/24/c296454.html
9.网上能预测彩票号码?这下要发财了,先注册个会员!山东频道这笔钱交上后,上周日李强登录网站还真看到了对方给推测的号码。如获至宝的他赶紧抄下来,到了晚上眼盯着电视看彩票的中奖号码,本以为这次一定小赚一笔,谁知只是中了一个号码。李强这个气呀,不是说好能中大部分号码吗?他赶紧登录北京彩票预测网查看,结果发现里面有个郑重声明,“情况有变,号码有变化,请采用以下号https://www.dzwww.com/shandong/shrx/201104/t20110407_6284296.htm
10.一定牛彩票网彩票高手预测专家彩票走势图表图一定牛彩票网彩票数据分析网站提供各种中国福利彩票、体育彩票数据图表彩票走势图,以及彩票开奖号码查询。并且提供彩票高手预测号码,是综合的互联网彩票数据分析平台。https://www.ydniu.com/
11.彩票开奖查询彩票开奖结果【彩票开奖查询,到彩宝贝网】本站彩票开奖结果、彩票开奖时间与官方彩票开奖公告同步,让您第一时间掌握全国最新的彩票开奖结果。https://kaijiang.78500.cn/
12.彩票能预测下期开奖的吗双色球彩票能预测下期开奖的吗,接下来唯彩看球小编给大家介绍一下中国福利彩票双色球的更多玩法及双色球的专家资讯推荐方案,如果你对此也感兴趣的话,赶紧过来看看吧。https://vipc.cn/tags/caipiaonengyucexiaqikaijiangdema
13.彩票真的是不可预测的吗?手把手教你买彩票!百万大奖在等你哦~我一直有个疑问,彩票真的是不可预测的吗?虽然我本人没有买过彩票,但我一直以来觉得这东西还是有戏,但是我得人生哲学告诉我事实上没那么简单,因为你不可能是世界上最聪明的那一部分人,或者你连聪明人得行列都够不到,简单点想象就知道的是吧!但是网上的彩票预测却很多,可以说这是不是投机的一种把戏啊,可以说是https://blog.sciencenet.cn/blog-609602-552292.html
14.看不到的“遍历性”回到科学。一个单独的气体分子,随着时间的流逝,也会造访容器中的每一点,物理学家们就可以通过使用一群气体分子的平均特性,来预测单个气体分子的特性了。 所以,遍历性的学术性解释是统计结果在时间和空间上的统一性,表现为时间均值等于空间均值。 三 “遍历性”在塔勒布的哲学世界里,是个核心词汇。 https://www.36kr.com/p/1725299294209
15.新浪彩票助力10亿派奖!新浪专家预测大乐透揽奖超30亿 新浪彩票 小炮app看数字彩专家方案限时返利活动开启 新浪彩票 大乐透10亿派奖首期3月18日开奖 单注可超3千万 新浪彩票2 大乐透全奖级派奖继续 1等奖最高可达3600万 新浪彩票1 大乐透10亿大派奖投注攻略 这么买最合算? https://lotto.sina.cn/