问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用R做logistic回归,定性自变量太多导致报错怎么办

发布网友 发布时间:2022-05-12 05:51

我来回答

2个回答

热心网友 时间:2023-11-23 21:32

Logistic回归主要分为三类,一种是因变量为二分类得logistic回归,这种回归叫做二项logistic回归,一种是因变量为无序多分类得logistic回归,比如倾向于选择哪种产品,这种回归叫做多项logistic回归。还有一种是因变量为有序多分类的logistic回归,比如病重的程度是高,中,低呀等等,这种回归也叫累积logistic回归,或者序次logistic回归。  二值logistic回归:  选择分析——回归——二元logistic,打开主面板,因变量勾选你的二分类变量,这个没有什么疑问,然后看下边写着一个协变量。有没有很奇怪什么叫做协变量?在二元logistic回归里边可以认为协变量类似于自变量,或者就是自变量。把你的自变量选到协变量的框框里边。  细心的朋友会发现,在指向协变量的那个箭头下边,还有一个小小的按钮,标着a*b,这个按钮的作用是用来选择交互项的。我们知道,有时候两个变量合在一起会产生新的效应,比如年龄和结婚次数综合在一起,会对健康程度有一个新的影响,这时候,我们就认为两者有交互效应。那么我们为了模型的准确,就把这个交互效应也选到模型里去。我们在右边的那个框框里选择变量a,按住ctrl,在选择变量b,那么我们就同时选住这两个变量了,然后点那个a*b的按钮,这样,一个新的名字很长的变量就出现在协变量的框框里了,就是我们的交互作用的变量。  然后在下边有一个方法的下拉菜单。默认的是进入,就是强迫所有选择的变量都进入到模型里边。除去进入法以外,还有三种向前法,三种向后法。一般默认进入就可以了,如果做出来的模型有变量的p值不合格,就用其他方法在做。再下边的选择变量则是用来选择你的个案的。一般也不用管它。  选好主面板以后,单击分类(右上角),打开分类对话框。在这个对话框里边,左边的协变量的框框里边有你选好的自变量,右边写着分类协变量的框框则是空白的。你要把协变量里边的字符型变量和分类变量选到分类协变量里边去(系统会自动生成哑变量来方便分析,什么事哑变量具体参照前文)。这里的字符型变量指的是用值标签标注过得变量,不然光文字,系统也没法给你分析啊。选好以后,分类协变量下边还有一个更改对比的框框,我们知道,对于分类变量,spss需要有一个参照,每个分类都通过和这个参照进行比较来得到结果,更改对比这个框框就是用来选择参照的。默认的对比是指示符,也就是每个分类都和总体进行比较,除了指示符以外还有简单,差值等。这个框框不是很重要,默认就可以了。  点击继续。然后打开保存对话框,勾选概率,组成员,包含协方差矩阵。点击继续,打开选项对话框,勾选分类图,估计值的相关性,迭代历史,exp(B)的CI,在模型中包含常数,输出——在每个步骤中。如果你的协变量有连续型的,或者小样本,那还要勾选Hosmer-Lemeshow拟合度,这个拟合度表现的会较好一些。  继续,确定。  然后,就会输出结果了。主要会输出六个表。  第一个表是模型系数综合检验表,要看他模型的p值是不是小于0.05,判断我们这个logistic回归方程有没有意义。  第二个表示模型汇总表。这个表里有两个R^2,叫做广义决定系数,也叫伪R^2,作用类似于线性回归里的决定系数,也是表示这个方程能够解释模型的百分之多少。由于计算方法不同,这两个广义决定系数的值往往不一样,但是出入并不会很大。  在下边的分类表则表述了模型的稳定性。这个表最后一行百分比校正下边的三个数据列出来在实际值为0或者1时,模型预测正确的百分比,以及模型总的预测正确率。一般认为预测正确概率达到百分之五十就是良好(标准真够低的),当然正确率越高越好。  在然后就是最重要的表了,方程中的变量表。第一行那个B下边是每个变量的系数。第五行的p值会告诉你每个变量是否适合留在方程里。如果有某个变量不适合,那就要从新去掉这个变量做回归。根据这个表就可以写出logistic方程了:P=Exp(常量+a1*变量1+a2*变量2.。。。)/(1+Exp(常量+a1*变量1+a2*变量2.。。。))。如果大家学过一点统计,那就应该对这个形式的方程不陌生。提供变量,它最后算出来会是一个介于0和1的数,也就是你的模型里设定的值比较大的情况发生的概率,比如你想推算会不会治愈,你设0治愈,1为没有治愈。那你的模型算出来就是没有治愈的概率。如果你想直接计算治愈的概率,那就需要更改一下设定,用1去代表治愈。  此外倒数后两列有一个EXP(B),也就是OR值,哦,这个可不是或者的意思,OR值是优势比。在线性回归里边我们用标准化系数来对比两个自变量对于因变量的影响力的强弱,在logistic回归里边我们用优势比来比较不同的情况对于因变量的影响。举个例子。比如我想看性别对于某种病是否好转的影响,假设0代表女,1代表男,0代表不好转,1代表好转。发现这个变量的OR值为2.9,那么也就是说男人的好转的可能是女人好转的2.9倍。注意,这里都是以数值较大的那个情况为基准的。而且OR值可以直接给出这个倍数。如果是0,1,2各代表一类情况的时候,那就是2是1的2.9倍,1是0的2.9倍,以此类推。OR值对于方程没什么贡献,但是有助于直观的理解模型。在使用OR值得时候一定要结合它95%的置信区间来进行判断。  此外还有相关矩阵表和概率直方图,就不再介绍了。        多项logistic回归:  选择分析——回归——多项logistic,打开主面板,因变量大家都知道选什么,因变量下边有一个参考类别,默认的第一类别就可以。再然后出现了两个框框,因子和协变量。很明显,这两个框框都是要你选因变量的,那么到底有什么区别呢?嘿嘿,区别就在于,因子里边放的是无序的分类变量,比如性别,职业什么的,以及连续变量(实际上做logistic回归时大部分自变量都是分类变量,连续变量是比较少的。),而协变量里边放的是等级资料,比如病情的严重程度啊,年龄啊(以十年为一个年龄段撒,一年一个的话就看成连续变量吧还是)之类的。在二项logistic回归里边,系统会自动生成哑变量,可是在多项logistic回归里边,就要自己手动设置了。参照上边的解释,不难知道设置好的哑变量要放到因子那个框框里去。  然后点开模型那个对话框,哇,好恐怖的一个对话框,都不知道是干嘛的。好,我们一点点来看。上边我们已经说过交互作用是干嘛的了,那么不难理解,主效应就是变量本身对模型的影响。明确了这一点以后,这个对话框就没有那么难选了。指定模型那一栏有三个模型,主效应指的是只做自变量和因变量的方程,就是最普通的那种。全因子指的是包含了所有主效应和所有因子和因子的交互效应的模型(我也不明白为什么只有全因子,没有全协变量。这个问题真的很难,所以别追问我啦。)第三个是设定/步进式。这个是自己手动设置交互项和主效应项的,而且还可以设置这个项是强制输入的还是逐步进入的。这个概念就不用再啰嗦了吧啊?  点击继续,打开统计量对话框,勾选个案处理摘要,伪R方,步骤摘要,模型拟合度信息,单元格可能性,分类表,拟合度,估计,似然比检验,继续。打开条件,全勾,继续,打开选项,勾选为分级强制条目和移除项目。打开保存,勾选包含协方差矩阵。确定(总算选完了)。  结果和二项logistic回归差不多,就是多了一个似然比检验,p值小于0.05认为变量有意义。然后我们直接看参数估计表。假设我们的因变量有n个类,那参数估计表会给出n-1组的截距,变量1,变量2。我们我们用Zm代表Exp(常量m+am1*变量1+am2*变量2+。。。),那么就有第m类情况发生的概率为Zn/1+Z2+Z3+……+Zn(如果我们以第一类为参考类别的话,我们就不会有关于第一类的参数,那么第一类就是默认的1,也就是说Z1为1)。    有序回归(累积logistic回归):  选择菜单分析——回归——有序,打开主面板。因变量,因子,协变量如何选取就不在重复了。选项对话框默认。打开输出对话框,勾选拟合度统计,摘要统计,参数估计,平行线检验,估计响应概率,实际类别概率,确定,位置对话框和上文的模型对话框类似,也不重复了。确定。  结果里边特有的一个表是平行线检验表。这个表的p值小于0.05则认为斜率系数对于不同的类别是不一样的。此外参数估计表得出的参数也有所不同。假设我们的因变量有四个水平,自变量有两个,那么参数估计表会给出三个阈值a1,a2,a3(也就是截距),两个自变量的参数m,n。计算方程时,首先算三个Link值,Link1=a1+m*x1+n*x2,Link2=a2+m*x1+n*x2,Link3=a3+m*x1+n*x2,(仅有截距不同)有了link值以后,p1=1/(1+exp(link1)),p1+p2=1/(1+exp(link2)),p1+p2+p3=1/(1+exp(link3)),p1+p2+p3+p4=1..  通过上边的这几个方程就能计算出各自的概率了。    Logistic回归到这里基本就已经结束了。大家一定要记熟公式,弄混可就糟糕了。希望能对你有所帮助呦。

热心网友 时间:2023-11-23 21:32

用R做logistic回归,定性自变量太多导致报错的解决办法 先减少定性自变量个数,试一试。 如果仍报错,则可能是其它原因。 或者,同时辅助SPSS软件试一试。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
会声会影如何裁剪视频画面范围 怎么正确喝酒的方法 真正好的饮用方式 日本清酒獭祭正确喝法 深圳有几家酒店可以真正意义上说是五星级? 深圳富苑皇冠假日套房式酒店酒店周边 深圳富苑皇冠假日套房酒店酒店简介 深圳富苑皇冠假日套房式酒店酒店介绍 金福人生多倍保重疾险怎么样?值不值得买? wpsword文档怎么删除空白页面 wPS删除空白页方法wps怎么删除多余空白页最有效方法 对于变量很多的规划问题,用lingo解决不了怎么办? 变量太多了……有没有能代替变量的…… 在 数学建模过程优化问题中有太多的变量应该怎么做 c语言编程中出现全局变量过多? SPSS因子分析中变量过多怎么办 变量定义太多,地址空间不够怎么办 页面中变量存太多变量会卡吗 写php的时候,变量太多,经常写到后面忘了前面定义的变量存储的内容,怎么办? matlab 定义 函数 变量太多怎么办 C++定义太多变量会不会影响运行速度? 定义了太多无用的变量对程序有影响吗 全局变量太多是否会导致堆栈溢出 写单片机程序,变量太多了,无法编译,但是使用的单片机,RAM是很大的,怎么办? 单片机 全局变量太多,且分布在多个文件中该怎么优化? 魏国四聪 夏侯玄、诸葛诞、邓飏、X畴 那个x是什么啊 叫什么名 怎么判断一张图片的分辨率是属于“低分辨率”或“中等分辨率”,或“高分辨率”或者“超高分辨率”呢? 高分辨率图片怎样改为1920×1080图片 09年08月17日凌晨3点50分出生的男孩,爸爸姓邓,妈妈姓母,随父姓,帮忙取个带子的名字 求图来源或高分辨率 姓氏邓有什么好听的名字? 操作系统环境变量设置过多,有什么坏处。实际就是问环境变量的工作原理。比如说path啊,比如说新建的啊 SAS自变量太多了,怎么导出编程中 怎么用一张长方形纸折出90度,45度,135度的角 折叠门也可以开启90度以上。 fpc软板90度弯折是否会损坏? 用折叠的方法,把一个直角三角形(∠B=90度,∠C=30度),和一个等边三角形分成3个形状大小一样的三角形 在三角形abc中,角c=90度,ac=bc=4,将三角形abc折叠,使点a落在bc的中点处 在RT三角形ABC中,角B=90度,AB=3cm,AC=5cm,将三角形ABC折叠,使点C与点A重合。折痕为DE,求DE的长 在直角三角形abc中,∠abc等于90度,∠a=65°,将其折叠 如图,在直角三角形ABC中,角B=90度,沿AD折叠使点B落在斜边AC上,若AB=3,BC=4,则BD= 在直角三角形ABC中,角C=90度,AC=4cm,BC=3cm,现将三角形ABC进行折叠,使顶点A与B重合,则折痕DE=? 在abc中ac b=90度a=55度将其折叠使点a落在边cd上abc d则ad等于 如图在三角形纸片ABC中角C=90度AC=6折叠该纸片使点C落在AB边上,的D点处 HDMI 可以折叠嘛,最大能折叠多少度。加什么中继设备可以使信号不衰减,距离10米。原计划是90度。 新福克斯反光镜可以折叠到什么程度?可以折90度吗? ∠c=90度ac=3ab=5将△acd沿ad折叠求ad长 关于采访的作文! 五年级作文访谈录 对某一职业进行采访八百字作文 怎样看手机是不是原装?