玩游戏和充电的时候能戴着手机充电时候玩游戏壳吗

Logistic|相关性分析|数据整理|R语言|统计计量|Cox回归
商家评级:99.21%
价&&&&格: ¥ 6
今日价格:
商品库存: 2485 件
货号:5ba89ada68c8
服务范围:& 【信号处理】通信信号处理、小波与信号处理、数字信号处理、统计信号处理、自适应信号处理、语音信号处理等&【图像处理】数字图像处理、图像分割、图像压缩、图像恢复、图像特征提取、图像传输、光学图像处理、雷达声纳图像处理、红外图像处理、卫星图像处理等&【数据挖掘】文本挖掘、网络入侵检测、时间序列奇异点检测&【与】与编程,以及混合接口编程&【人工智能与模式识别】机器学习、特征提取、主成分分析、变换、模式分类、贝叶斯统计、分类、最近邻法、C均值聚类、K均值聚类(聚类)、支持向量机、模板匹配、人脸识别、手写体汉字识别、车牌识别、指纹识别等&【神经网络】神经网络、神经网络、神经网络、小波神经网络、模糊神经网络、遗传神经网络等&【群体智能算法】遗传算法、遗传规划、进化算法、免疫算法、蚁群算法、粒子群算法、人工鱼群算法、蜂群算法、蛙跳算法等&【混沌分形】相空间重构、时间序列的非线性动力学分析,混沌时间序列预测、分析及其应用&Computer Science&EverythingC/C++ 程序代写IT&代写编程辅导Java 程序代写Python 程序代写Linux 环境搭建等数据结构 Data Structure Assignment代做算法实现 Algorithm 代写多线程multi-threading& pthread CUDA 程序代写Network Socket程序代写Database SQL Mongodb NoSQL代做Operating System 代做 程序代写OS Kernel, Process, Thread, Mutex, File System 等Computer Architecture 代写 程序代做代做Web开发 网站设计Linux ManagementBootLoader 实现操作系统移植以及EE相关:Verilog/VHDL 代写代做RTL 设计 仿真 综合 验证VLSI 原理图 版图 集成电路Layout计算机体系架构、Computer Architecture作业 LabPipeline, 流水,Cache,RAM,MIPS、CPU (最为擅长)各类协议实现 SCI, UART, TCP/IP单精度 双精度 浮点数运算原则上不做具体硬件实现如基于FPGA的XXX,我们只能帮你做到RTL仿真阶段。【公司主营】个人项目、学校项目、公司项目【统计分析】假设检验、判别分析、主成分分析、因子分析、聚类分析【神经网络】BP、RBF、Hopfield、ELM神经网络、模糊神经网络、小波神经网络【支向量机】支持向量机、模糊、孪生、模糊孪生、最小二乘、超球支持向量机【智能优化】遗传算法、粒子群算法、果蝇算法、蜂群算法、蚁群优化、模拟退火【数学建模】数学建模、数学建模、系统建模、模糊建模【模式识别】人脸识别、指纹识别、车牌识别、手写识别、语音识别、国画识别【回归预测】金融时间序列预测、风力发电功率预测【信号处理】通信小波信号、数字信号、统计信号、自适应信号、语音信号处理【GUI界面】各种功能程序的GUI界面设计【数据挖掘】文本挖掘、网络入侵检测、时间序列奇异点检测【Matlab与VC】matlab与VC++混编、各种接口编程等 介绍点matlab业务&& (这里DNA数据分析、基因测序、代谢组学也能做哦)【matlab基础】matlab基本功能,绘图,曲线曲面拟合,二维三维绘图,微分方程组,数据可视化【matlab算法】神经网络,遗传算法,粒子群算法,蚁群算法,多目标非线性优化,模拟退火【图像处理】图像识别,运动跟踪,图像拼接,图像加密,智能滤波,图像特征提取,文字识别,【信号处理】振动信号分析,FFT,小波变换,傅里叶变换,信号特征提取,语音识别【Simulink仿真】控制系统搭建,分析及验证,三维仿真,多平台联合仿真【GUI编程】用户自定义界面,良好人机交互功能,代码转化集成【专业类仿真】电气类仿真,机械类仿真,经济类,医学类,数学建模1.数据分析与处理&&&&&&2.信号分析与处理/小波变换3.模糊自适应PID4.神经网络/Bp/SRF5.遗传算法6.图像处理7.simulink仿真8.数据拟合/曲面拟合9.经济数据分析10.三维虚拟现实仿真11.经典游戏再现&&
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件
最近销售:已售:0件苹果/安卓/wp
积分 45, 距离下一级还需 40 积分
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡下一级可获得
权限: 自定义头衔
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
在用R语言做cox回归,用什么函数来生成服从某一概率分布的随机数(生存时间)
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
这个给顶起来。。。。。。
谢谢帮顶的兄弟哈&&
beta1 = 2; beta2 = -1
lambdaT = .002 # baseline hazard
lambdaC = .004&&# hazard of censoring
x1 = rnorm(n,0)
x2 = rnorm(n,0)
# true event time
T = rweibull(n, shape=1, scale=lambdaT*exp(-beta1*x1-beta2*x2))
C = rweibull(n, shape=1, scale=lambdaC)&&#censoring time
time = pmin(T,C)&&#observed time is minof censored and true
event = time==T& &# set to 1 if event isobserve
&library(survival)
&coxph()复制代码
DM小菜鸟 发表于
谢谢帮顶的兄弟哈&&
n = 10000lambdaT = .002 # baseline hazard
lambdaC = .004&&# hazard of censoring
lamda数值是自己随便设置吗?
T = rweibull(n, shape=1,scale=lambdaT*exp(-beta1*x1-beta2*x2))里面不用加随机误差项吗?
求解惑,,谢谢
初级学术勋章
初级学术勋章
初级热心勋章
初级热心勋章
中级热心勋章
中级热心勋章
初级信用勋章
初级信用勋章
高考之后,我们谨慎选择的专业,将有四成同学后悔。人生的复杂度远远超出我们的想象,一次的选择决定不了未来,重要的是在不断的选择中成长,很多学生已经将数据分析作为第二专业!& CDA大数据分析圈& 扫码加入!&
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
论坛法律顾问:王进律师关注今日:34 | 主题:189955
微信扫一扫
扫一扫,下载丁香园 App
即送15丁当
【求助】如何批量做cox单因素回归分析
页码直达:
这个帖子发布于3年零224天前,其中的信息可能已发生改变或有所发展。
想从一万多个基因当中筛选和生存时间相关的基因,于是用spss做cox单因素回归分析看基因和生存时间之间的相关性,但是不可能每次只选一个基因做变量进行一万多次分析,想问各位如何进行批量的cox单因素回归分析啊?spss,matlab,R都可以,先谢谢了~
不知道邀请谁?试试他们
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
收起全部有料回复
fsq2011 想从一万多个基因当中筛选和生存时间相关的基因,于是用spss做cox单因素回归分析看基因和生存时间之间的相关性,但是不可能每次只选一个基因做变量进行一万多次分析,想问各位如何进行批量的cox单因素回归分析啊?spss,matlab,R都可以,先谢谢了~Cox回归模型本来就可以同时分析很多变量的。当然所有变量都进入模型是不可能也不现实的,所以个人觉得用逐步Cox回归最合适。可以一次性把所有变量都纳入,至于筛选的过程,就交给程序自动解决吧。用什么软件都无所谓吧,我个人使用R。如果楼主想了解逐步Cox回归的R语言实现,可以参考我另一个帖子附件里的“例12.5”。(/bbs/topic/)希望能帮到你。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
那也就是说筛选生存相关基因这个问题,对于一万多个基因,既可以像你说的用前进法逐步回归也可以单独做单因素再做多因素是吧?那如果是做其余因素对生存的影响呢?比如想看治疗方法,年龄,性别等几个因素对于某种疾病的生存时间的影响,这种情况下也是一样的两种做法都可以么?实现是都没有问题,就是我觉得先对单因素做Cox回归没有意义,一旦这么做就必须以p值大小作为选入标准,但是目前比较被推荐的变量选入比较准则是AIC(Akaike information criterion,这也算R语言实现逐步回归的默认方法)。事实上单独看某个变量的p值是容易出现误导的。不过似乎SPSS和旧版的SAS都是默认以p值大小作为选入标准的,也就难怪很多人会使用你说的方法,所以你这么做也就不算错,只是不同人理解不同而已吧。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
fsq2011 谢谢指教!那请问一次性把所有变量都纳入然后进行cox逐步回归这是属于单因素分析么?这样和多因素分析有什么区别么?如楼上所说,这么做肯定是多因素分析。不太明白楼主为何一定要做单因素的分析,当然也是可以做到,就是换个方式而已,用循环语句轮流一个一个纳入模型即可。但是个人认为这是不合适的,我曾经查阅过一些英文资料,国外统计学者很多都认为Cox回归如果只纳入一个因素,会导致模型出现较大的偏倚。http://www.ncbi.nlm.nih.gov/pubmed/9004394这篇论文表明,缺失了重要变量的Cox回归模型,其他参数估计也将出现偏倚。况且又有什么明确的理由选择单因素分析呢?难道研究的疾病是明确的单基因疾病?我想大多数疾病都是多基因共同影响的吧。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
脚本语言批处理
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
pearzhouq 脚本语言批处理 请问能说的具体一些么,菜鸟一只
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
fsq2011 想从一万多个基因当中筛选和生存时间相关的基因,于是用spss做cox单因素回归分析看基因和生存时间之间的相关性,但是不可能每次只选一个基因做变量进行一万多次分析,想问各位如何进行批量的cox单因素回归分析啊?spss,matlab,R都可以,先谢谢了~Cox回归模型本来就可以同时分析很多变量的。当然所有变量都进入模型是不可能也不现实的,所以个人觉得用逐步Cox回归最合适。可以一次性把所有变量都纳入,至于筛选的过程,就交给程序自动解决吧。用什么软件都无所谓吧,我个人使用R。如果楼主想了解逐步Cox回归的R语言实现,可以参考我另一个帖子附件里的“例12.5”。(/bbs/topic/)希望能帮到你。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
forsun1015 Cox回归模型本来就可以同时分析很多变量的。当然所有变量都进入模型是不可能也不现实的,所以个人觉得用逐步Cox回归最合适。可以一次性把所有变量都纳入,至于筛选的过程,就交给程序自动解决吧。用什么软件都无所谓吧,我个人使用R。如果楼主想了解逐步Cox回归的R语言实现,可以参考我另一个帖子附件里的“例12.5”。(/bbs/topic/)希望能帮到你。谢谢指教!那请问一次性把所有变量都纳入然后进行cox逐步回归这是属于单因素分析么?这样和多因素分析有什么区别么?
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
fsq2011 谢谢指教!那请问一次性把所有变量都纳入然后进行cox逐步回归这是属于单因素分析么?这样和多因素分析有 ...这个当然是多因素分析。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
fsq2011 谢谢指教!那请问一次性把所有变量都纳入然后进行cox逐步回归这是属于单因素分析么?这样和多因素分析有什么区别么?如楼上所说,这么做肯定是多因素分析。不太明白楼主为何一定要做单因素的分析,当然也是可以做到,就是换个方式而已,用循环语句轮流一个一个纳入模型即可。但是个人认为这是不合适的,我曾经查阅过一些英文资料,国外统计学者很多都认为Cox回归如果只纳入一个因素,会导致模型出现较大的偏倚。http://www.ncbi.nlm.nih.gov/pubmed/9004394这篇论文表明,缺失了重要变量的Cox回归模型,其他参数估计也将出现偏倚。况且又有什么明确的理由选择单因素分析呢?难道研究的疾病是明确的单基因疾病?我想大多数疾病都是多基因共同影响的吧。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
forsun1015 如楼上所说,这么做肯定是多因素分析。不太明白楼主为何一定要做单因素的分析,当然也是可以做到,就是换个方式而已,用循环语句轮流一个一个纳入模型即可。但是个人认为这是不合适的,我曾经查阅过一些英文资料,国外统计学者很多都认为Cox回归如果只纳入一个因素,会导致模型出现较大的偏倚。http://www.ncbi.nlm.nih.gov/pubmed/9004394这篇论文表明,缺失了重要变量的Cox回归模型,其他参数估计也将出现偏倚。况且又有什么明确的理由选择单因素分析呢?难道研究的疾病是明确的单基因疾病?我想大多数疾病都是多基因共同影响的吧。疾病当然是多基因共同影响,但是我看到的工作一般都是先进性单因素分析,然后选择单因素分析中比较显著的再进行多因素分析,所以筛选基因的时候我也想先单因素选出显著相关基因再进行多因素分析
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
forsun1015 如楼上所说,这么做肯定是多因素分析。不太明白楼主为何一定要做单因素的分析,当然也是可以做到,就是换个 ...深有同感,个人觉得一味地追求单因素筛选变量并不合适,疾病的病因不止一个,人为通过统计东西排除掉值得商榷。不过,如果自变量过多的话,全部纳入也会影响模型的拟合,统计分析还是不能一刀切。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
fsq2011 疾病当然是多基因共同影响,但是我看到的工作一般都是先进性单因素分析,然后选择单因素分析中比较显著的再进行多因素分析,所以筛选基因的时候我也想先单因素选出显著相关基因再进行多因素分析你说的这种情况也是存在的,似乎很多人都是这么做的,所以你也可以尝试这么做,就是工作量会比较大一点吧。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
alphastat 深有同感,个人觉得一味地追求单因素筛选变量并不合适,疾病的病因不止一个,人为通过统计东西排除掉值得商榷。不过,如果自变量过多的话,全部纳入也会影响模型的拟合,统计分析还是不能一刀切。说得有道理,所以我觉得可以做forward方向stepwise进行逐个筛选,也避免全部纳入导致的计算量过大的问题。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
forsun1015 你说的这种情况也是存在的,似乎很多人都是这么做的,所以你也可以尝试这么做,就是工作量会比较大一点吧。 那也就是说筛选生存相关基因这个问题,对于一万多个基因,既可以像你说的用前进法逐步回归也可以单独做单因素再做多因素是吧?那如果是做其余因素对生存的影响呢?比如想看治疗方法,年龄,性别等几个因素对于某种疾病的生存时间的影响,这种情况下也是一样的两种做法都可以么?
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
那也就是说筛选生存相关基因这个问题,对于一万多个基因,既可以像你说的用前进法逐步回归也可以单独做单因素再做多因素是吧?那如果是做其余因素对生存的影响呢?比如想看治疗方法,年龄,性别等几个因素对于某种疾病的生存时间的影响,这种情况下也是一样的两种做法都可以么?实现是都没有问题,就是我觉得先对单因素做Cox回归没有意义,一旦这么做就必须以p值大小作为选入标准,但是目前比较被推荐的变量选入比较准则是AIC(Akaike information criterion,这也算R语言实现逐步回归的默认方法)。事实上单独看某个变量的p值是容易出现误导的。不过似乎SPSS和旧版的SAS都是默认以p值大小作为选入标准的,也就难怪很多人会使用你说的方法,所以你这么做也就不算错,只是不同人理解不同而已吧。
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
forsun1015 实现是都没有问题,就是我觉得先对单因素做Cox回归没有意义,一旦这么做就必须以p值大小作为选入标准,但是目前比较被推荐的变量选入比较准则是AIC(Akaike information criterion,这也算R语言实现逐步回归的默认方法)。事实上单独看某个变量的p值是容易出现误导的。不过似乎SPSS和旧版的SAS都是默认以p值大小作为选入标准的,也就难怪很多人会使用你说的方法,所以你这么做也就不算错,只是不同人理解不同而已吧。 谢谢!说的很详细,关于这个问题我基本明白了,也看了你写的R语言的实现,以后关于程序如果有问题还希望能继续请教你!
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
您好 看了您的讨论,我也是想用逐步回归法从1260个变量中选取与因变量相关的变量,但是由于变量太多 SPSS无法实现逐步回归,也下载了您的R语言的实现,看着很复杂,SAS软件会比较容易上手一点吗,因为这个要完成的比较紧急
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
上述的图和结果
是否不相符???组别赋值,绿色线条代表1,蓝色线条代表0,组别exp(B)>1,应该绿色线条在上,发病率更高一些??为何图却不一致??请大牛解答,十分感谢
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
在r先把数据换成矩阵,再对因变量做loop,注意每次fit完一个model把感兴趣的变量存起来 然后删掉model 否则内存占用太高 可以借助并行计算 因为r虽然fit model方便 但确实慢
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
我没有用R语言,用spss,还是不明白,结果为何不一致?怎么解读?
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
到底怎么才能用r语言实现cox单因素分析
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
forsun1015 fsq2011 谢谢指教!那请问一次性把所有变量都纳入然后进行cox逐步回归这是属于单因素分析么?这样和多因素分析有什么区别么?如楼上所说,这么做肯定是多因素分析。不太明白楼主为何一定要做单因素的分析,当然也是可以做到,就是换个方式而已,用循环语句轮流一个一个纳入模型即可。但是个人认为这是不合适的,我曾经查阅过一些英文资料,国外统计学者很多都认为Cox回归如果只纳入一个因素,会导致模型出现较大的偏倚。http://www.ncbi.nlm.nih.gov/pubmed/9004394这篇论文表明,缺失了重要变量的Cox回归模型,其他参数估计也将出现偏倚。况且又有什么明确的理由选择单因素分析呢?难道研究的疾病是明确的单基因疾病?我想大多数疾病都是多基因共同影响的吧。想请教一下大神哈,如果不一个一个带入cox 的话要用什么方法做单因素分析呢??菜鸟求解答
微信扫一扫
广告宣传推广
政治敏感、违法虚假信息
恶意灌水、重复发帖
违规侵权、站友争执
附件异常、链接失效
关于丁香园14361人阅读
1.回归的多面性
个量化的解释变量来预测一个量化的响应变量(一个因变量、一个自变量)
一个量化的解释变量预测一个量化的响应变量,模型的关系是
n阶多项式(一个预测变量,但同时包含变量的幂)
用两个或多个量化的解释变量预测一个量化的响应变量(不止一个预测变量)
用一个或多个解释变量预测多个响应变量
用一个或多个解释变量预测一个类别型变量
用一个或多个解释变量预测一个代表频数的响应变量
Cox比例风险&&
用一个或多个解释变量预测一个事件(死亡、失败或旧病复发)发生的时间
时间序列对误差项相关的时间序列数据建模
用一个或多个量化的解释变量预测一个量化的响应变量,不过模型是非线性的
用一个或多个量化的解释变量预测一个量化的响应变量,模型的形式源
自数据形式,不事先设定
用一个或多个量化的解释变量预测一个量化的响应变量,能抵御强影响点的干扰
OLS回归是通过预测变量的加权和来预测量化的因变量,其中权重是通过数据估计而得以的参数。
使残差平方和最小
为能够恰当地解释OLS模型的系数,数据必须满足以下统计假设:
(1)&&&&&&正态性对于固定的自变量,因变量值成正态分布
(2)&&&&&&独立性 Yi值之间相互独立
(3)&&&&&&线性&& 因变量与自变量之间为线性相关
(4)&&&&&&同方差性因变量的方差不随自变量的水平不同而变化,即不变方差或同方差性
3. 用lm()拟合回归模型
拟合线性模型最基本的函数就是lm(),格式为:
myfit&-lm(formula,data)
formula指要拟合的模型形式,data是一个数据框,包含了用于拟合模型的数据
formula形式如下:Y~X1+X2+……+Xk (~左边为响应变量,右边为各个预测变量,预测变量之间用+符号分隔)
R表达式中常用的符号
分隔符号,左边为响应变量,右边为解释变量,eg:要通过x、z和w预测y,代码为y~x+z+w
分隔预测变量
表示预测变量的交互项& eg:要通过x、z及x与z的交互项预测y,代码为y~x+z+x:z
表示所有可能交互项的简洁方式,代码y~x*z*w可展开为y~x+z+w+x:z+x:w+z:w+x:z:w
表示交互项达到某个次数,代码y~(x+z+w)^2可展开为y~x+z+w+x:z+x:w+z:w
表示包含除因变量外的所有变量,eg:若一个数据框包含变量x、y、z和w,代码y~.可展开为y~x+z+w
减号,表示从等式中移除某个变量,eg:y~(x+z+w)^2-x:w可展开为y~x+z+w+x:z+z:w
删除截距项,eg:表示y~x-1拟合y在x上的回归,并强制直线通过原点
从算术的角度来解释括号中的元素。Eg:y~x+(z+w)^2将展开为y~x+z+w+z:w。相反,代码y~x+I((z+w)^2)将展开为y~x+h,h是一个由z和w的平方和创建的新变量
可以在表达式中用的数学函数,例如log(y)~x+z+w表示通过x、z和w来预测log(y)
对拟合线性模型非常有用的其他函数
Summary()
展示拟合的详细结果
Coefficients()
列出拟合模型的模型参数(截距项和斜率)
Cofint()
提供模型参数的置信区间(默认95%)
Fitted()
列出拟合模型的预测值
Residuals()
列出拟合模型的残差值
生成一个拟合模型的方差分析,或者比较两个或更多拟合模型的方差分析表
列出模型参数的协方差矩阵
输出赤池信息统计量
生成评价拟合模型的诊断图
Predict()
用拟合模型对新的数据集预测响应变量值
4. 简单线性回归
fit&-lm(weight~height,data=women)
summary(fit)
在Pr(&|t|)栏,可以看到回归系数(3.45)显著不为0(p&0.001),表明身高每增加1英寸,体重将预期地增加3.45磅
R平方项(0.991)表明模型可以解释体重99.1%的方差,它也是实际和预测值之间的相关系数(R^2=r^2)
残差的标准误(1.53lbs)则可认为模型用身高预测体重的平均误差
F统计量检验所有的预测变量预测响应变量是否都在某个几率水平之上
fitted(fit)#拟合模型的预测值
residuals(fit)#拟合模型的残差值
plot(women$height,women$weight,
xlab=&Height (in inches)&,
ylab=&Weight(in pounds)&)
abline(fit)
5. 多项式回归
fit2&-lm(weight~height+I(height^2),data=women)
summary(fit2)
plot(women$height,women$weight,
xlab=&Height(in inches)&,
ylab=&Weight(in lbs)&)
lines(women$height,fitted(fit2))
一般来说,n次多项式生成一个n-1个弯曲的曲线
car包中的scatterplot()函数,可以很容易、方便地绘制二元关系图
scatterplot(weight~height,
data=women,
spread=FALSE,
lty.smooth=2,
main=&Women Age 30-39&,
xlab=&Height (inches)&,
ylab=&Weight(lbs.)&)
6.多元线性回归
采用的数据集:state.x77
states&-as.data.frame(state.x77[,c(&Murder&,&Population&,&Illiteracy&,&Income&,&Frost&)])
检测二变量关系
cor(states)
library(car)
scatterplotMatrix(states,spread=FALSE,lty.smooth=2,main=&Scatter Plot Matrix&)
scatterplotMatrix()函数默认在非对角线区域绘制变量间的散点图,并添加平滑(loess)和线性拟合曲线
多元线性回归
fit&-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
summary(fit)
7.有交互项的多元线性回归
fit&-lm(mpg~hp+wt+hp:wt,data=mtcars)
summary(fit)
通过effects包中的effect()函数,可以用图形展示交互项的结果
fit&-lm(mpg~hp+wt+hp:wt,data=mtcars)
summary(fit)
install.packages(&effects&)
library(effects)
plot(effect(&hp:wt&,fit,
list(wt=c(2.2,3.2,4.2))),multiline=TRUE)
8.回归诊断
(1)标准方法
简单线性回归fit&-lm(weight~height,data=women)
par(mfrow=c(2,2))
正态性:当预测变量值固定时,因变量成正态颁,则残差图也应是一个均值为0的正态颁。正态Q-Q图是在正态颁对应的值上,标准化残差的概率图,若满足正态假设,则图上的点应该落在吓45度角的直线上,若不是,则违反了正态性假设。
独立性:只能从收集的数据中来验证。
线性:若因变量与自变量线性相关,则残差值与预测(拟合)值就没有任务系统关联,若存在关系,则说明可能城要对回归模型进行调整。
同方差性:若满足不变方差假设,则在位置尺度图(Scale-Location Graph)中,水平线周围的点应随机分布。
二次拟合诊断图
fit2&-lm(weight~height+I(height^2),data=women)
par(mfrow=c(2,2))
plot(fit2)
(2)改进的方法
(car包中的)回归诊断实用函数&
qqPlot()
分位数比较图
durbinWatsonTest()
对误差自相关性做Durbin-Watson检验
crPlots()
成分与残差图
ncvTest()
对非恒定的误差方差做得分检验
spreadLevelPlot()
分散水平检验
outlierTest()
Bonferroni离群点检验
avPlots()
添加的变量图形&
inluencePlot()
回归影响图
scatterplot()
增强的散点图
scatterplotMatrix()
增强的散点图矩阵
方差膨胀因子&
另gvlma包提供了对所有线性模型进行检验的方法
与 plot()函数相比,qqplot()函数提供了更为精确的正态假设检验方法,画出了n-p-1个自由度的t分布下的学生化残差图形,n为样本大小,p是回归参数的数目(包括截距项)
library(car)
fit&-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
qqPlot(fit,labels=row.names(states),id.method=&identify&,simulate=TRUE,main=&Q-Q Plot&)
绘制学生残差图的函数
residplot&-function(fit,nbreaks=10){
z&-rstudent(fit)
hist(z,breaks=nbreaks,freq=FALSE,
xlab=&Studnetized Residual&,
main=&Distribution of Errors&)
rug(jitter(z),col=&brown&)
curve(dnorm(x,mean=mean(z),sd=sd(z)),
add=TRUE,col=&blue&,lwd=2)
lines(density(z)$x,density(z)$y,
col=&red&,lwd=2,lty=2)
legend(&topright&,
legend=c(&Normal Curve&,&Kernel Density Curve&),
lty=1:2,col=c(&blue&,&red&),cex=0.7)}
residplot(fit)
误差的独立性:
之前提到可依据收集数据判断因变量是否独立
car包中提供了一个可做Durbin-Watson检验的函数,可检测误差的序列相关性
durbinWatsonTest(fit)
可通过成分残差图即偏残差图,判断因变量与自变量之间是否呈非线性关系,也可以看是否不同于已设定线性模型的系统偏差,图形可用car包中crPlots()函数绘制
library(car)
crPlots(fit)
若图形存在非线性,则说明可能对预测变量的函数形式建模不够充分
car包提供了两个有用的函数,可判断误差方差是否恒定
ncvTest()函数生成一个计分检验,零假设为误差方差不变
spreadLevelPlot()函数创建一个添加了最佳拟合曲线的散点图,展示标准化残差绝对值与拟合值的关系
检验同方差性:
library(car)
ncvTest(fit)
spreadLevelPlot(fit)
(3)线性模型假设的综合验证
gvlma包中的gvlma()函数
install.packages(&gvlma&)
library(gvlma)
gvmodel&-gvlma(fit)
summary(gvmodel)
(4)多重共线性
VIF(Variance Inflation Factor,方差膨胀因子)进行检测
一般原则下,(VIF)^1/2 &2表明存在多重共线性问题
library(car)
sqrt(vif(fit))&2
9.异常观测值
(1)离群点
离群点指那些模型预测效果不佳的观测点,通常有很大的、或正或负的残差,正残差说明模型低估了响应值,负残差说明高佑了响应值
library(car)
outlierTest(fit)
outlierTest()函数是根据单个最大(或正或负)残差值的显著性来判断是否有离群点,若不显著,则说明数据集中没有离群点,若显著,则必须删除该离群点,然后再检验是否还有其他离群点存在。
(2)高杠杆值点
高杠杆值观测点,即是与其他预测变量有关的离群点,即它们是由许多异常的预测变量组合起来的,与响应变量值没有关系。
高杠杆值的观测点可通过帽子统计量(hat statistic)判断。对于一个给定的数据集,帽子均值为p/n,其中p是模型估计的参数数目(包含截距项),n是样本量。一般来说,若观测点的帽子值大于帽子均值的2或3倍,则可认定为高杠杆值点。
hat.plot&-function(fit){
p&-length(coefficients(fit))
n&-length(fitted(fit))
plot(hatvalues(fit),main=&Index Plot of Hat Values&)
abline(h=c(2,3)*p/n,col=&red&,lty=2)
identify(1:n,hatvalues(fit),names(hatvalues(fit)))
hat.plot(fit)
(3)强影响点
强影响点,即对模型参数估计值影响有些比例失衡的点。例如,当移除 模型的一个观测点时模型会发生巨大的改变,那么需要检测一下数据中是否存在强影响点。
Cook距离,或称为D统计量 & & Cook's D值大于4/(n-k-1),则表明它是强影响点,其中n为样本量大小,k是预测变量数目(有助于鉴别强影响点,但并不提供关于这些点如何影响模型的信息)
变量添加图(added variable plot)(弥补了该缺陷)(对于每个预测变量Xk,绘制Xk在其他k-1个预测变量上回归的残差值相对于响应变量在其他k-1个预测变量上回归的残差值的关系图)
cutoff&-4/(nrow(states)-length(fit$coefficients)-2)
plot(fit,which=4,cook.levels=cutoff)
abline(h=cutoff,lty=2,col=&red&)
library(car)
avPlots(fit,ask=FALSE,onepage=TRUE,id.method=&identify&)
car包中的influencePlot()函数,可将离群点、杠杆点和强影响点的信息整合到一幅图形中
library(car)
influencePlot(fit,id.method=&identify&,main=&Influence Plot&,
sub=&Circle size if proportional to Cook's distance&)
影响图。纵坐标超过2或小于-2的州可被认为是离群点,水平轴超过0.2或0.3的州有高杠杆值(通常为预测值的组合)。圆圈大小与影响成比例,圆圈很大的点可能是对模型估计造成的不成比例影响的强影响点。
10.改进的措施
(1)删除观测点
删除观测点可提高数据集对于 正态假设的拟合度,而强影响点会干扰结果,通常也会被删除。删除最大的离群点或强影响点,模型需要重新拟合,若离群点或强影响点仍然存在,重复以上过程直到获得比较满意的拟合。
对删除观测点应持谨慎态度。
(2)变量变换&
当模型不符合正态性、线性或同方差性假设时,一个或多个变量的变换通常可以改善或调整模型效果。
当模型违反了正态假设时,通常可以对响应变量尝试某种变换。
car包中的powerTransform()函数
Box-Cox正态变换
library(car)
summary(powerTransform(states$Murder))
(3)增删变量
改变模型的变量会影响模型的拟合度,增加或删除变量
多重共线问题:岭回归
11.选择“最佳”的回归模型
(1)模型比较
anova()函数可比较两个嵌套模型的拟合优度
嵌套模型即指它的一个些项完全饮食在另一个模型中
用anova()函数比较
fit1&-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
fit2&-lm(Murder~Population+Illiteracy,data=states)
anova(fit2,fit1)
模型1嵌套在模型2中,检验不显著,基础知识 不需要将Income和Frost添加到线性模型中,可将它们从模型中删除&
AIC(Akaike Information Criterion,赤池信息准则)可用来比较模型,考虑了模型的统计拟合度及用来拟合的参数数目&
AIC值越小的模型要优行选择,说明模型用较少的参数获得了足够的拟合度
fit1&-lm(Murder~Population+Illiteracy+Income+Frost,
data=states)
fit2&-lm(Murder~Population+Illiteracy,data=states)
AIC(fit1,fit2)
(2)变量选择
逐步回归法(stepwise method):
向前逐步回归(forward stepwise)每次添加一个预测变量到模型中,直到添加变量不会使模型有所改进为止。
向后逐步回归(backward stepwise)从模型包含所有预测变量开始,一次删除一个变量直到会降低模型质量为止。
向前向后逐步回归(stepwise stepwise 逐步回归)
MASS包中的steAIC()函数可实现逐步回归模型,依据的是精确AIC准则
library(MASS)
fit1&-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
stepAIC(fit,direction=&backward&)
全子集回归(all-subsets regression):
全子集回归,即所有可能的酣篮队支被检验,可选择展示所有可能的结果,也可展示n个不同子集大小(一个、两个或多个预测变量)的最佳模型
可用leaps包中的regsubsets()函数实现
可通过R平方、调整R平方或Mallows Cp统计量等准则来选择“最佳”模型
R平方是预测变量解释响应变量的程度
调整R平方与之类似,但考虑了模型的参数数目&
Mallows Cp统计量也用来作为逐步回归的判停规则,对于一个好的模型,它的Cp统计量非常迫近于模型的参数数目(包括截距项)
install.packages(&leaps&)
library(leaps)
leaps&-regsubsets(Murder~Population+Illiteracy+Income+Frost,data=states,nbest=4)
plot(leaps,scale=&adjr2&)
library(car)
subsets(leaps,statistic=&cp&,main=&Cp Plot for All Subsets Regression&)
abline(1,1,lty=2,col=&red&)
12. 深层次分析
(1)交叉验证
交叉验证即将一定比例的数据挑选出来作为训练样本,另外的样本作为保留样本,先在训练样本上获取回归方程,然后在保留样本上做预测。 由于保留样本不涉及模型及参数的选择,该样本可获得比新数据更为精确的估计。
k重交叉难中,样本被分为k个子样本,轮流将k-1个子样本组合作为训练集,另外1个子样本作为保留集,这样会获得k个预测方程,记录k个保留样本的预测表现结果,然后求其平均值。【当n是观测总数目,k为n时,该方法又称作刀切法(jackknifing)】
bootstrap包中的crossval()函数可实现k重交叉验证
install.packages(&bootstrap&)
library(bootstrap)
shrinkage&-function(fit,k=10){
require(bootstrap)
theta.fit&-function(x,y){lsfit(x,y)}
theta.predict&-function(fit,x){cbind(1,x)%*%fit$coef}
x&-fit$model[,2:ncol(fit$model)]
y&-fit$model[,1]
results&-crossval(x,y,theta.fit,theta.predict,ngroup=k)
r2&-cor(y,fit$fitted.values)^2
r2cv&-cor(y,results$cv.fit)^2
cat(&Original R-square=&,r2,&\n&)
cat(k,&Fold Cross-Validated R-square=&,r2cv,&\n&)
cat(&Change=&,r2-r2cv,&\n&)
fit&-lm(Murder~Population+Income+Illiteracy+Frost,data=states)
shrinkage(fit)
fit2&-lm(Murder~Population+Illiteracy,data=states)
shrinkage(fit2)
(2)相对重要性
zstates&-as.data.frame(scale(states))
zfit&-lm(Murder~Population+Income+Illiteracy+Frost,data=zstates)
coef(zfit)
相对权重:是对所有可能子模型添加一个预测变量引起的R平方均增加量的一个近似值。
relweights&-function(fit,……){
R&-cor(fit$model)
nvar&-ncol(R)
rxx&-R[2:nvar,2:nvar]
rxy&-R[2:nvar,1]
svd&-eigen(rxx)
evec&-svd$vectors
ev&-svd$values
delta&-diag(sqrt(ev))
lambda&-evec%*%delta%*%t(evec)
lambdasq&-lambda^2
beta&-solve(lambda)%*%rxy
rsqrare&-colSums(beta^2)
rawwgt&-lambdasq%*%beta^2
import&-(rawwgt/rsquare)*100
lbls&-names(fit$model[2:nvar])
rownames(import)&-lbls
colnames(import)&-&Weight&
barplot(t(import),names.arg=lbls,
ylab=&% of R-Square&,
xlab=&Predictor Variables&,
main=&Relative Importance of Predictor Variables&,
sub=paste(&R-Square=&,round(rsquare,digits=3)),……)
return(import)
fit&-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
relweights(fit,col=&lightgrey&)
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:291268次
积分:3956
积分:3956
排名:第7533名
原创:111篇
转载:66篇
译文:15篇
评论:13条
(1)(1)(1)(14)(2)(9)(9)(4)(7)(8)(9)(9)(8)(12)(6)(19)(14)(1)(3)(1)(1)(23)(30)

我要回帖

更多关于 手机充电时候玩游戏 的文章

 

随机推荐