科研统计助手
医学科研资讯
前沿热点动态
统计分析服务
当前位置: 菁英统计工作室 > 统计知识 > 理论知识 > 多元统计应用 > 正文
Logitboost法与累积比数Logit模型在判别分析中的应用分析
作者:Admin  更新时间:2010-05-27  来源 王强 陈广 陈景武 本条信息浏览人次共有

1  原理

  1.1  累积比数Logit模型判别

    累积比数Logit模型是二分类Logit模型的扩展,主要用于处理反应变量为有序分类变量的资料。该模型对资料要求不严,解释变量既可以是连续型变量,也可以是无序分类变量或有序分类变量[1]。只要资料满足比例优势假定条件(proportional odds assumption),即自变量的回归系数与分割点无关,且各自变量与Logit P呈线性关系,即可应用此方法。

    设应变量Y为K个等级的有序变量,第k(k=1,2,…,K)个等级的概率分别为{π1,π2,…,πk},且∑ki=1πk=1。影响因素xT=(x1,x2,…,xP)为自变量,xi(i=1,2,…,p)可以是连续变量、无序或有序分类变量。则累积比数Logit模型可以表示为:
    logit(P(y>k|x))=ln(P(y>k|x)1-P(y>k|x))=-αk+∑pi=1βixi      (k=1,2,…,K-1)  等价于:P(y≤k|x)=11+e(-αk+∑pi=1βixi)
    
  每类结果的概率:P(y=k|x)=P(y≤k|x)-P(y≤k-1|x)
    =11+e(-αk+∑pi=1βixi)-11+e(-αk-1+∑pi=1βixi) k=1,2, …K

    式中,αk和βi为待估参数。该模型实际上是将K个等级人为地分成{1,…,k }和{k+1,…,K}两类,在这两类基础上定义的Logit P表示属于前k个等级的累积概率与后K-k个等级的累积概率的比数之对数。故该模型称为累积比数模型。对于K类反应变量,K-1个累积Logit模型各有一个不同的αk估计,而对于xi,K-1个模型的系数βi均相同[2]。

  1.2  Logitboost判别

    Boosting是由Schzpire于1990年首先提出[3],后经Freud和Schapire改进的一种机器学习方法。Frieman、Hastie、Tibshirani于2000年又进一步改进,称为Logitboost,属于提升算法的一种。其基本思想是:基于现有样本数据集构建一个基础的“弱分类器”,反复调用该“弱分类器”,通过对每轮中错判的样本赋予更大的权重,使其更关注那些难判的样本,经过多轮循环,最后采用加权的方法将各轮的“弱分类器”合成“强分类器”,从而得到较高精度的预测模型[4]。其算法如下:

    首先给定一个样本集:(xi1,…,xiN,yi),yi∈Y={-1,+1}表示不同的类。赋予每一个样品相同的权重,选定一种基础分类器,根据该权重建立预测模型,回代样本,其中错判的样本的权重在下一轮将被提升。迭代T轮后得出最终分类器F(x):F(xi)=∑Tt=1F(t)(xi) 式中,t∈(1,T)为迭代轮数,f(x)表示弱分类器的函数形式,可以是Logit函数、决策树等,根据F(xi)的正负对第i个样品进行判别归类。

此算法也可用于多分类。下面以一个三分类的例子简介两种方法的特点。

  2  实例分析

    采用匹兹堡指数为标准,随机抽查了480名在校大学生,男生254,女生226名。以睡眠质量(好、中、差)为反应变量,属于有序结果的资料。153名睡眠质量好,赋值为0,235名睡眠质量一般,赋值为1,92名睡眠质量差赋值为2。包括7个显著影响因素,每个因素按严重程度相应赋值,形成等级资料,将样本分成两份,其中85%作为训练样本用来建立预测模型,其余15%样本用来回代,以检验模型的判别效果。

    以睡眠质量好者为对照,用SAS8.0进行累积比数Logit模型判别,建立判别模型如下:
       LogitP1/0=9.7435+0.3816x3+0.3192x8+1.4127x9+0.6780x10+0.5321x18+0.4447x24+0.3623x29
    LogitP2/0=6.8291+0.3816x3+0.3192x8+1.4127x9+0.6780x10+0.5321x18+0.4447x24+0.3623x29得概率判别模型:
    P(y=0|X)=1/(1+e9.7435+0.3816x3+0.3192x8+1.4127x9+0.6780x10+0.5321x18+0.4447x24+0.3623x29)
    P(y=1|X)=1/(1+e6.8291+0.3816x3+0.3192x8+1.4127x9+0.6780x10+0.5321x18+0.4447x24+0.3623x29)
  -1/(1+e9.7435+0.3816x3+0.3192x8+1.4127x9+0.6780x10+0.5321x18+0.4447x24+0.3623x29)
    P(y=2|X)=1-1/(1+e6.8291+0.3816x3+0.3192x8+1.4127x9+0.6780x10+0.5321x18+0.4447x24+0.3623x29)e
≈2.72

    用Weka软件作Logitboost判别[5]。Weka是由新西兰怀卡托大学开发的,汇集了当今最前沿的机器学习算法及数据预处理工具。利用Weka的Explorer界面,选择logitboost功能,分别迭代10轮、50轮、100轮。结果见表1。表1  Logitboost判别与Logit判别模型判别效果的比较(略)

    我们用弃一法(Leaveoneout)交叉验证(crossvalidation)对预测模型进行了评价。

    由表1可见,随着迭代次数的增加,Logitboost模型的判别正确率、阳性预测值、阴性预测值、灵敏度、特异度及Kappa值(一致性指标)都不断提高。迭代50轮时达到最高,继续迭代,其判别效果反而下降,说明Logitboost重复次数过多会造成过度拟合,在应用时可根据数据自身特点及判别效果选择恰当的迭代轮数。

  3  讨论

    与累积比数Logit模型判别相比,Logitboost判别准确率更高,它具有改善模型预测精度的能力,但有时也会出现过度拟合现象,实际操作中应慎用。累积比数Logit模型各项指标比Logitboost迭代50轮时低,但是高于10轮,结果较稳定。当数据资料不满足Fisher判别或Bayes判别的条件,但是满足比例优势假定条件,而且自变量与LogitP呈线性关系时,可选用累积比数Logit模型,作出较好的判别。

  累积比数Logit判别可以得到固定的模型,便于对单个样本进行判别。Logitboost无法得到具体的模型,但是其自动化较强,只要把数据资料按照格式整理好,输入相应的分类器由机器处理即可,整个判别过程在软件中进行。在处理一些特殊的、不具备logistic回归所要求的条件、结构复杂或者资料类型内部关联模糊不清的资料时,用logitboost算法有可能会收到意想不到的良好效果。

    累积比数Logit判别提供的信息量更大,可解释性更强,容易被接受,当研究目的既要进行判别,又要确切知道各自变量对判别结果的影响大小,或者说影响因素的危险度时,在条件允许的前提下,累积比数logit判别是比较好的选择。

  4  小结

    在判别问题上,没有最好,只有更好。究竟选用哪种方法效果更好,这就看研究目的和资料本身的具体要求了。两种判别方法各有优缺点。累积比数Logit判别稳健性较好,而且具有很好的可解释性。当迭代轮数恰当时,Logitboost判别能得到较高的正确率,特别是当资料不满足线性判别条件时,其判别优势更明显。因此,我们在处理具体问题时,应根据研究目的和数据资料类型特点,综合考虑两种方法的特点,慎重选择,也可将两种方法联合应用。

 

上一篇:Bootstrap再抽样方法的SAS程序设计
下一篇:[多元统计应用]

本站所发表的文章,大部分严格筛选,来源于各相关专业论坛或专业网站,内容仅供大家学习和参阅尊重原作者版权,勿用于商业用途,转载请注明来源。如有学术争议的文章,或可能与事实不符的,与本站立场无关。如有影响到您权益的文章,请及时通知本站,本站立即删除。谢谢监督。
推荐阅读
 
热门文章

Copyright 2010 Powered By 菁英统计工作室 www.tjstat.com 地址1:武汉市珞瑜路1037号 430074 ; 地址2:武汉市航空路13号 430030
邮箱:tjstat@126.com QQ: 点击这里给我发消息 点击这里给我发消息
鄂ICP备10020011号 |