APP下载

基于贝叶斯网络的学生成绩预测

2019-08-29刘艳杰

关键词:运筹学概率论贝叶斯

刘艳杰,李 霞

(山东理工大学 数学与统计学院, 山东 淄博 255049)

评价学校教学质量水平高低,学生成绩是一项很重要的指标。虽然“以分论英雄”的时代已经过去,但是在大样本数据下成绩依然是衡量学生知识水平的一个量化标准,同时也是对学校教学质量水平的衡量。如果能够根据高年级学生成绩的关联性对低年级学生的成绩做出预测, 并且以此恰当地制定合适的教学策略,给学生发展提出合理建议, 就可以更好地提高教学质量。对此学者提出了许多方法,如吴楠等[1]基于修正的灰色模型进行了学生成绩的预测;马洁明等[2]基于相关向量机构造了学生成绩预测模型;陈勇[3]基于遗传神经网络实现了成绩预测;罗永国[4]通过改进遗传算法实现了学生成绩预测模型的构建。鉴于贝叶斯网络的简单可行性,本文构建贝叶斯网络对学生成绩进行预测,选取学生的7门学科成绩作为样本数据,即贝叶斯网络里每个节点分别表示这些学科,节点之间连接的边表示各学科成绩之间的联系。

1 贝叶斯网络

贝叶斯网络(Bayesian Networks,BN)[5]又称为信度网络,是一种结合了概率论和图论的不确定性知识表达与推理的方法。贝叶斯网络是一种图形化模型,能够表达出因果关系和相关的不确定性知识。贝叶斯网络由有向无环图(Directed Acyclic Graph,DAG)和条件概率表(Conditional Probability Table,CPT)两部分构成,所以贝叶斯网络的学习包括两个方面:一是结构学习,即构造一个DAG,它表达了图中各节点的因果关系;二是参数学习,即通过样本数据估计参数的条件概率,用条件概率量化不确定性。贝叶斯网络解决问题具有明确直观等优点,已经成为学术界的研究热点,在许多领域得到了广泛应用,如模式识别、决策支持、医疗诊断、数据挖掘、传感器融合和自动控制等领域[6-7]。

2 贝叶斯网络模型的构建

2.1 样本数据

由于学生成绩数据不完整,本文选取了山东理工大学数学与统计学院统计学专业2015级78名学生作为研究样本,每名学生的数学分析、高等代数、解析几何、概率论、数理统计、描述性统计和运筹学7门学科成绩作为样本数据,即每个样本有7个特征属性。为便于研究,7个特征属性分别用A、H、G、Pr、M、D、R来表示。把78个样本的相关数据命名为数据集。数据集的具体形式见表1。

表1 学生成绩数据集Tab1. Student achievement data

序号数学分析高等代数解析几何概率论数理统计描述性统计运筹学163.171.562.667.050.165.868.8271.584.069.281.176.983.675.2372.589.580.671.386.066.478.8471.176.061.877.570.663.2 66.4582.596.095.090.992.389.696.8693.290.586.810010082.296.8︙︙︙︙︙︙︙︙

2.2 数据预处理

由于构建的贝叶斯网络模型是基于离散数据的,所以在网络构建之前,需要对数据进行离散化预处理。本文以80分为界值,80分到100分为优秀,80分以下为不优秀,也就是把成绩分为2个等级,优秀用“1”表示,不优秀用“0”表示。数据预处理结果见表2。

2.3 贝叶斯网络的结构学习

贝叶斯网络结构学习方法可分为三大类:一是基于评分搜索的方法[8],即采用评分函数(常用的评分函数有AIC,BIC等)对网络结构进行评分,评分最高的网络将作为最终的网络模型[9],这种方法主要用在蚁群算法[10-11]、 K2 算法[12]和爬山法[13]中,这种方法虽然可以得到比较精确的网络结构,但当网络结构比较复杂时,由于搜索空间太大,造成较低的学习效率;二是基于依赖分析(独立性检测)的方法[14],这种方法主要是通过判断变量之间的条件独立性来确定变量对应的节点之间是否存在边,以及边的方向,这种方法虽然容易操作实现,但是当变量过多时,条件独立性的判断会呈指数增长,导致计算量过大,影响效率;三是混合方法,即将上述两种方法融合到一起,这种方法集合了上述两种算法的优点,成为现在研究贝叶斯网络的主要方法[15]。本文也是在第三种方法的基础上,用节点间的条件互信息对各节点进行条件独立性检测,确定贝叶斯网络的初步结构,再利用K2算法进行全局优化,最终确定网络结构。

表2 学生成绩预处理结果
Tab.2 Student achievement data preprocessed

序号数学分析高等代数解析几何概率论数理统计描述性统计运筹学1000000020101010301101004000000051111111611 11111︙︙︙︙︙︙︙︙

2.3.1 相关性分析

根据7个变量之间的相关性确定任意两个变量之间是否存边,贝叶斯网络图中,边代表了两个变量之间具有关联性。

根据表3各学科之间的皮尔逊相关系数,发现任意变量之间的关联系数都比较大,为了更方便区分它们之间的联系,本文取阈值为0.65,只要两个变量之间的相关系数比阈值大,就说明这两个变量之间有边的存在,再根据课程的历史发展,按相关系数从大到小的顺序给边定向,如果在网络中出现环,舍弃相关性比较小的两个变量之间的边。最终得到先验图,如图1所示。

表3 学生成绩相关性分析表
Tab.3 Student achievement correlation analysis table

学科数学分析高等代数解析几何概率论数理统计描述性统计运筹学数学分析10.8500.7310.7510.7580.6780.672高等代数0.85010.6750.7260.6560.7440.640解析几何0.7310.67510.6190.6410.5110.604概率论0.7510.7260.61910.7110.6310.631数理统计0.7580.6560.6410.71110.5800.748描述性统计0.6780.7440.5110.6310.58010.464运筹学0.6720.6400.6040.6310.7480.4641

图1 贝叶斯网络先验图Fig.1 Bayesian network prior graph

2.3.2 K2算法全局搜索

K2算法由于其优越性被广泛应用研究,但K2算法是基于节点的先验顺序进行实现的,研究早期学者根据历史事实和专家经验确定先验顺序,后来为了减少K2算法的主观性,提高贝叶斯网络建立的准确性,学者提出了许多方法,如生成最大权重树,还有信息论的应用。本文运用变量之间的相关性和历史经验,建成了图1的先验顺序后进行K2算法的搜索。K2算法的搜索结果如图2所示。

图2 贝叶斯网络K2算法搜索图Fig.2 Bayesian network K2 algorithm search graph

由图2可以很直观地发现,数学分析和高等代数是其他5门课程的基础,直接影响着5门学科的成绩。相对之下,5门学科成绩之间的相关性较弱。

2.4 贝叶斯网络的参数学习

贝叶斯网络的参数是变量的条件概率表(CPT),本文利用数理统计的方法[16]建立条件概率表。根据2.3确定的贝叶斯网络父子节点关系,依次计算出每个节点的条件概率,得到7门学科的条件概率表,分别见表4—表10。

表4 数学分析条件概率表
Tab.4 Mathematical analysis conditional probability table

P(A=0)P(A=1) 0.650.35

表5 高等代数条件概率表
Tab.5 Higher algebra conditional probability table

条件概率P(H=0)P(H=1)A=00.72 0.28A=101

表6 解析几何条件概率表
Tab.6 Analytic geometry conditional probability table

条件概率P(G=0)P(G=1)A=0,H=00.890.11A=0,H=1 0.790.21A=1,H=000A=1,H=10.150.85

表7 概率论条件概率表
Tab.7 Probability theory conditional probability table

条件概率P(Pr=0)P(Pr=1)A=0,H=00.810.19A=0,H=10.500.50A=1,H=000A=1,H=10.040.96

表8 数理统计条件概率表
Tab.8 Mathematical statistics conditional probability table

条件概率P(M=0)P(M=1)A=0,H=0 0.830.17A=0,H=10.500.50A=1,H=000A=1,H=10.190.81

表9 描述性统计条件概率表
Tab.9 Descriptive statistic conditional probability table

条件概率P(D=0)P(D=1)A=0,H=00.860.14A=0,H=10.790.21A=1,H=000A=1,H=10.110.89

表10 运筹学条件概率表
Tab.10 Operations research conditional probability table

条件概率P(R=0)P(R=1)A=0,H=00.780.22A=0,H=10.430.57A=1,H=000A=1,H=10.070.93

3 贝叶斯网络推理

贝叶斯网络推理[17]是在得到贝叶斯网络的情况下,根据已知结点,利用贝叶斯公式求解其他结点的条件概率,它的推理过程可以分为精确推理和近似推理。贝叶斯网络推理主要分为4种:①预测,根据已有的证据(原因),利用贝叶斯网络的推理分析,计算出在该证据下结果发生的概率; ②诊断,根据已有的结果,利用贝叶斯网络的推理分析,找到造成该结果发生的证据(原因),并计算证据(原因)发生的概率; ③关联分析,分析产生同一结果的不同证据(原因)之间的关联; ④混合推理,上述几种分析方式的结合。

本文利用联合树算法[18]进行预测推理。例如,如果已知一个学生的概率论成绩是优秀,那么他的运筹学成绩也是优秀的概率是多少呢?这个问题在贝叶斯网络中转化为求解P(R|Pr=1)的值,利用贝叶斯网络推理中的联合树算法,得到:

即如果一个学生的概率论成绩优秀,那么他的运筹学成绩优秀的概率为42%,不优秀的概率为58%。同理可以根据已有的任何一门学科成绩去预测其他未知的学科成绩。

4 结论

本文针对一组学生主干学科成绩的样本数据,构建了完整的贝叶斯网络,得到以下结论:

1)从最终的贝叶斯网络拓扑图可以发现,相比之下,解析几何、概率论、数理统计、描述性统计和运筹学5门课程与数学分析和高等代数的关联性是较强的,由此可见数学分析和高等代数在整个学科体系中的重要性,所以学校在挖掘新课程的同时不能忽视对这些学科的建设。

2)在得到完整的贝叶斯网络之后,本文利用贝叶斯网络推理的联合树算法,举例说明了成绩预测的方法和过程。结果表明贝叶斯网络成绩预测是可行的,这为学校的教学管理部门提供了依据,使他们可以更好地做出管理决策。

猜你喜欢

运筹学概率论贝叶斯
线上线下混合教学模式在概率论与数理统计课程中的应用
基于贝叶斯解释回应被告人讲述的故事
数学实验在概率论与数理统计中的教学应用
物流管理专业运筹学混合式课堂教学模式改革研究
基于动态贝叶斯估计的疲劳驾驶识别研究
概率论方法在高等数学解题中的应用
基于互信息的贝叶斯网络结构学习
浅谈对运筹学专业教育的一些看法
论《概率论与数理统计》教学改革与学生应用能力的培养
IIRCT下负二项分布参数多变点的贝叶斯估计