回归方程与神经网络在数值预测方面的对比研究综述
【关键词】 神经
在医学实践中往往需要对尚未发生的事件特征进行数据预测,在这一过程中都是从以往获得的数据作为预测的根据。但是,回归方程的预测的实质是从已知数据中出回归方程,再从回归方程线的走向趋势来获得未知的数据。而神经网络预测的实质是从已知的数据空间,根据某种原则向未知数据空间进行映射,从而得到未知数据。虽然这两种预测原理根本不同,但其预测值的结果在有些时候却惊人的一致。那末,在具体数值预测实践中到底选用哪种方法则需要根据具体情况而定。笔者得出的结论是:若已知数据因果之间能形成某种函数趋势,则使用回归方程方法;若已知数据因果之间仅能找到某种较为稳定,但不能形成函数趋势时,则使用神经网络方法。下面对这两种方法分别进行叙述。
1 回归方程
在中学阶段我们大家都学过直角坐标下的直线方程 y=kx+b。 其中x是自变量,y是因变量,k是斜率,b是截距。当直线有斜率时(即k≠0),直线方程可用平面上的两个点式表示:y-y1 y2-y1=x-x1 x2-x1,这说明两个点可以确定一条直线。如点(4.5,7.2)与点(5.9,9.7)便可确定一条直线。直线回归方程中存在着许多点(x1,y1),(x2,y2),…,(xn,yn),而求回归线,实质上是算出所有这些点的平均值所确定的一条直线。那么怎样求这些点的平均值呢?我们看下图:
从图中我们可以看出,每一个点到直线距离的代数和是最小的,即直线上的点是这些点的平均值。这条直线就称为这些点的回归线。下面我们来讨论回归线的求法。假设平面上有n个点,(x1,y1),(x2,y2),…,(xn,yn),它们的趋势是一致的,那么,这些点便可构成一条回归线 y=kx+b,这些点的所有x坐标的均值和y坐标的均值与每一个具体点xi,yi之差的平方和就是∑n i=1(Xi-)2与∑n i=1(Yi-)2这两个数代表所有点到中心点的距离。在中学阶段我们便知道了求直线的斜率k=y x,我们看一看式子∑n i=1(Xi-)(Yi-) ∑n i=1(Xi-)(Xi-) 如果分子分母同时约去(Xi-)(当然不能这样约),式子就变成了∑n i=1(Yi-) ∑n i=1(Xi-),这不也是一种很合理的比率吗,它与求直线斜率是多么相象,实际上,回归线的斜率k就是∑n i=1(Xi-)(Yi-) ∑n i=1(Xi-)2,它能够通过最小二乘法求证的。知道了如何求回归线的斜率,再求回归线的截距b 就非常容易了,b=-k。有了回归线的斜率k和截距b便可确立了一条回归线,这样对于给定任意点的x坐标,就可确定y坐标了。与中学时不同的是所确定的点可能不在直线上,而是分布在直线两侧。回归线的意义非常大,其中一个重要作用是用它来进行预测,如:y=1.28x+7 (x为体重,y为身长),那么称得体重为9kg,便可估计婴儿的身长大约为1.289+7=18.52(cm)。当然严格地说来回归方程还应该包含随机项εi,且随机项必须服从正态分布。在实际应用中,我们用统计软件SPSS来计算。如果在平面上这两组数据之间关系不是线性的,而呈曲线,则用曲线拟合,数据之间关系如下图所示:
从图中看出,用二次曲线拟合,便可得到曲线回归方程:y=-0.0137x2+0.2488x-0.1692当回归方程中自变量数目x≥2,就称此方程为多元回归方程,多元回归方程也分为多元线性回归方程与多元非线性回归方程。多元线性回归方程形如:y1=a11x11+a12x12+ … +a1nx1n+ε1y2=a21x21+a22x22+ … +a2nx2n+ε2 …ym=am1xm1+am2xm2+ … +amnxmn+εm 这里yi是第i个方程的因变量,ai1 ai2 … ain为第 i个方程的回归系数,xi1 xi2 … xin为第i个方程的自变量,εi为第i个方程的随机项(1≤i≤m)。可见多元线性回归方程是方程组,多元线性回归方程可写成矩阵形式: Y=A1X1+A2X2+ … +AnXn+E。多元线性回归方程组可以被看作是N维欧氏空间中的一簇直线族。如同一元线性回归方程与一元非线性回归方程一样,多元回归方程组也有多元非线性方程组,它们可以被看作是N维欧氏空间中的一簇曲线族,在进行多元方程组计算时可使用SPSS软件。回归模型是研究变量间关系的一种方法,通过回归方程来表达因变量与自变量在数值上的共同变化关系。当研究两个变量的线性关系时,就是直线回归,也称一元线性回归,这是回归分析中最简单的一种。线性回归可将直线衍变成多种函数曲线,这样线性回归就改变成非线性回归。如果自变量与因变量之间毫无规律可循,或随机项不服从正态分布,此时再使用回归方程,得出的结果将无任何意义。
2 神经网络
人工神经网络(ARTIFICIAL NEURAL NETWORK,简称A.N.N.)是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和功能行为的一种方法。神经系统的基本构造是神经元(神经细胞),它是处理人体内各部分之间相互信息传递的基本单元。据神经生物学家研究的结果表明,人的大脑一般有1010~11个神经元。每个神经元都由一个细胞体,一个向其它神经元传输信息的轴突和一些接收其它神经元发出信息的树突组成。神经元胞体将接收到的所有信号进行简单地处理,如加权求和,即对所有的输入信号都加以考虑且对每个信号的重视程度――体现在权值上的不同,后由轴突输出。由此可以很容易的建立起神经元的模型,如下图所示。
大脑之所以能够处理极其复杂的分析、推理工作,一方面是因为其神经元个数的庞大,另一方面还在于神经元能够对输入信号进行非线性并行处理。它是一个多输入单输出的非线性器件。其中的权值W即代表神经元之间的连接强度。
3 人工神经网络的工作原理
人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明。规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与输出阈值比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够做出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。
4 人工神经的特点
人工神经网络是由大量的神经元广泛互连而成的系统,它的这一结构特点决定着人工神经网络具有高速信息处理的能力。人脑的每个神经元大约有103~4个树突及相应的突触,一个人的大脑总计约形成1014~15个突触。用神经网络的术语来说,即是人脑具有1014~15个互相连接的存储潜力。虽然每个神经元的运算功能十分简单,且信号传输速率也较低(大约100次/秒),但由于各神经元之间的极度并行互连功能,最终使得一个普通人的大脑在约1秒内就能完成现行机至少需要数10亿次处理步骤才能完成的任务。人工神经网络的知识存储容量很大。在神经网络中,知识与信息的存储表现为神经元之间分布式的物理联系,它分散地表示和存储于整个网络内的各神经元及其连线上。每个神经元及其连线只表示一部分信息,而不是一个完整具体概念。只有通过各神经元的分布式综合效果才能表达出特定的概念和知识。由于人工神经网络中神经元个数众多以及整个网络存储信息容量的巨大,使得它具有很强的不确定性信息处理能力。即使输入信息不完全、不准确或模糊不清,神经网络仍然能够联想思维持在于记忆中事物的完整图象。只要输入的模式接近于训练样本,系统就能给出正确的推理结论。正是因为人工神经网络的结构特点和其信息存储的分布式特点,使得它相对于其它的判断识别系统,如:专家系统等,具有另一个显著的优点:健壮性。生物神经网络不会因为个别神经元的损失而失去对原有模式的记忆。最有力的证明是,当一个人的大脑因意外事故受轻微损伤之后,并不会失去原有事物的全部记忆。人工神经网络也有类似的情况。因某些原因,无论是网络的硬件实现还是软件实现中的某个或某些神经元失效,整个网络仍然能继续工作。人工神经网络同现行的计算机不同,是一种非线性的处理单元。只有当神经元对所有的输入信号的综合处理结果超过某一阈值后才输出一个信号。因此神经网络是一种具有高度非线性的超大规模连续时间动力学系统。它突破了传统的以线性处理为基础的数字计算机的局限,标志着人们智能信息处理能力和模拟人脑智能行为能力的一大飞跃。下面举一脑梗塞事例,其数据分别用多元回归方程与Elman 神经网络进行处理,看一看处理的结果:取50例天津大港2004~2005两年内60~65岁男性脑梗塞患者(经头颅CT确诊)报病卡的回顾性调查病例,与50例天津市大港中医医院2004~2005两年内体检的60~65岁男性非脑梗塞患者作对照,选取:①有无一过性脑缺血病史;②浆纤维蛋白酶原水平;③血糖水平;④总胆固醇水平;⑤舒张压。这5种指标进行归一化处理,作为回归方程的自变量,与神经网络的输入向量。归一化处理过程为:①取有一过性脑缺血病史者为1,否则为0;②取血浆纤维蛋白酶原≥4g 为1, 否则取实际测得值÷4g; ③取血糖≥8.5mmol 为1, 否则取实际测得值÷8.5mmol;④取总胆固醇≥30mg/L为1,否则取实际测得值÷30mg/L;⑤取舒张压≥95mmHg 为1,否则取实际测得值÷95mmHg。其结果列表如下:脑梗塞患者 一过性脑缺血史 血浆蛋白酶原 血糖 总胆固醇 舒张压1 1 1 0.801 1 0.9802 1 1 0.791 1 0.8603 1 1 0.898 0.981 0.8054 1 1 0.923 0.982 0.9745 1 1 0.845 0.701 16 1 1 1 0.752 0.9307 1 1 0.920 0.845 0.8708 0 1 0.793 0.791 0.9549 1 1 0.873 0.690 0.92310 1 1 0.601 0.792 0.97611 1 1 0.511 0.652 0.83212 0 1 0.409 0.870 0.97013 1 1 0.572 0.703 0.93014 1 1 0.879 1 0.89715 0 1 0.843 1 0.87416 1 1 0.645 0.905 0.92317 1 1 0.503 0.821 0.95518 1 1 0.458 0.892 0.97919 1 1 0.763 0.834 120 1 1 0.944 0.921 0.94521 1 1 0.876 1 0.84922 1 1 1 0.952 0.91023 1 1 0.874 0.954 0.90324 1 1 0.876 0.950 0.94025 1 1 0.824 0.756 0.97026 0 1 0.973 0.879 0.89027 0 1 0.841 0.892 0.93428 1 1 0.671 0.709 0.94529 1 1 0.649 0.801 0.93430 1 1 0.807 0.611 0.92131 1 1 0.732 0.934 0.92132 1 1 0.864 0.749 0.79333 1 1 0.509 0.607 0.98734 1 1 0.605 0.845 135 1 1 0.451 0.901 0.93436 1 1 0.490 0.754 137 1 1 0.813 0.759 0.90838 1 1 1 0.859 0.94539 1 1 0.809 0.860 0.93040 1 1 0.873 0.843 0.89941 1 1 0.865 0.509 0.96042 1 1 0.640 0.990 0.98443 1 1 0.954 1 0.89344 1 1 0.345 1 0.87245 1 1 0.869 0.908 0.94746 1 1 0.552 0.950 0.89347 1 1 0.765 0.869 0.95048 1 1 0.911 0.813 0.97449 1 1 0.310 0.931 0.98450 1 1 0.791 0.854 0.905非脑梗塞1 0 0.623 0.501 0.601 0.9822 0 0.971 0.572 0.704 0.9453 0 0.891 0.810 0.765 0.9744 0 0.921 0.390 0.733 0.8345 0 0.922 0.751 0.873 0.8506 0 0.971 0.310 0.752 0.8947 0 0.900 0.871 0.650 0.8058 1 1 0.721 0.753 0.9509 1 0.981 0.591 0.805 0.94010 1 0.912 0.450 0.605 0.84011 0 0.731 0.322 0.500 0.82012 0 0.821 0.910 0.752 0.93213 0 0.876 0.451 0.560 0.93114 0 0.723 0.485 0.910 0.98715 0 0.876 0.976 0.872 0.94516 0 0.816 0.765 0.450 0.92117 0 0.763 0.764 0.509 0.93518 1 0.988 0.890 0.764 0.93419 1 1 0.809 0.943 0.95720 1 0.973 0.865 0.740 0.82121 1 0.972 0.793 0.691 0.83522 1 1 0.870 0.634 0.83523 1 1 0.861 0.655 124 1 0.986 0.764 0.704 0.90825 0 0.872 0.700 0.780 0.80326 0 0.774 0.610 0.865 0.91227 0 0.784 0.551 0.433 0.93028 0 0.901 0.351 0.843 0.92129 0 0.831 0.450 0.679 0.90830 0 0.751 0.511 0.698 0.80731 0 0.862 0.432 0.509 0.83032 0 0.879 0.786 0.809 133 0 0.894 0.450 0.698 0.82334 0 0.868 0.501 0.490 0.70935 0 0.029 0.900 0.873 0.80336 0 0.799 0.924 0.791 0.90537 0 0.780 0.409 0.704 0.93938 0 0.878 0.850 0.804 0.97039 0 0.989 0.605 0.805 0.84340 0 0.803 0.410 0.945 0.97241 0 0.805 0.439 0.705 0.87642 1 0.953 0.430 0.855 0.80343 0 0.982 0.501 0.760 0.91244 0 0.790 0.970 0.340 0.79045 0 0.910 0.330 0.998 0.85946 0 0.908 0.941 0.795 0.90047 0 0.891 0.409 0.765 0.83248 1 0.921 0.490 0.845 0.83049 0 0.860 0.507 0.769 0.87650 0 0.970 0.805 0.849 0.894
在SPSS 12 环境下进行多元回归分析,得到回归方程:Y=-2.2+0.466x1+0.746x2+0.239x3+0.715x4+1.122x5。将一位64岁男性,非脑梗塞体检者的数据:[0 1 0.9001 0.770 0.811]进行测试结果为0.102 (0 为非患者,1 为患者 0.5 为界线)。在MathLab 7.0环境下调用神经网络工具箱函数进行数据处理,经Elman神经网络对同一数据处理后结果为:y=0.3924。前者得到的回归数值说明体检者的检查数据很接近健康指标,但从实际健康指标可知,这组输入数值已远离健康指标。后者得到的神经网络结果值说明体检者的两侧指标均已向0.5靠拢,说明体检者的状况正在向脑梗塞的指标过渡。从现有脑梗塞患者的检查数值来看,后者得到的数据更可靠。上述计算结果表明Elman神经网络数值预测效果优于回归方程。分析其原因:脑梗塞患者与非脑梗塞体检者的这5项临床检测指标虽然在临床上被认为有决定性意义,但实际上患者与非患者间存在着数值交叉,这就为使用多元回归方程带来了干扰,而Elman神经网络方法却正好发挥了它非线性映射能力的特长。由此它作为一种新型数值预测工具将发挥出卓越的功能。
参 考 文 献
1 张尧庭 概率统计 第1版中央广播电视大学出版社, 1984
2 陈峰医用多元统计分析方法 第1版统计出版社, 2000
3 金丕焕 医用统计方法 第1版上海医科大学出版社, 1993
4 卫海英 SPSS10.0 for Windows 在管理中的应用 第1版中国统计出版社,2000
5 卢纹岱 SPSS for windows 从入门到精通 第1版电子出版社,1997
6 董长虹 Matlab 神经网络与应用第1版 国防工业出版社, 2005
7 郭晶, 孙伟娟 神经网络理论与 MATLAB 7实现第1版 电子工业出版社, 2005
8 韩立群 人工神经网络理论,设计及应用第1版化学工业出版社,2002
9 周志华 神经网络及其应用 第1版清华大学出版社, 2004
10 戚仁铎 诊断学 第4版 人民卫生出版社, 2000











