R_Language 板


LINE

※ 引述《sseeaann (屌哥)》之铭言: : 资料档我是载入套件faraway 用data(savings)资料档去分析 : 指令大部分都了解 但可能我回归观念不太好 有些步骤会搞混 : ex:像是离群值要常态假设前删除还是确定为常态假设再删除 : 或是删除变数该用stepwise或是用full model和reduced model的F分配来检定 : 这些步骤有点不知道用的时机点在哪里 : 有没有比较懂回归分析的大大可以稍微详述一下整套回归的步骤(利用此资料档)? : 另外小弟我晚一点会在把我打的程式码PO上来 目前正在打当中^^ : → sseeaann:我在统计版也有发文 不过都没人回-.- : → sseeaann:我现在比较想知道的是说 当整体模型检定出现两个以上变数 : → sseeaann:T值>0.05 不拒绝Ho 那是否可以直接剔除掉? : → sseeaann:如果直接剔除 是要用哪个方法 偏F检定还是用stepwise Reg 你想要了解的部分就是regression analysis中 model checking 跟 model selection的部分 我就分这两个part来回答 一边附上我的程式做解说 library(faraway) data(savings) # Part I. Model checking # 一般来说,model checking,主要就是error term的常态假设以及等变异假设的确认 # 另外,还有利用leverage or Cook's distance查看有没有outliers # 在R里面有很方面的方式去做这三件事,程式如下: lm.fit = lm(sr~pop75+pop15+dpi+ddpi, data=savings) summary(lm.fit) par(mfrow = c(2, 2), oma = c(0, 0, 2, 0)) plot(lm.fit) # a. Normality Checking # 右上角就是确认你的残差,通常就是直接看图片大概跟QQ-line (图中的broken line) # 接近,大概我们都会认为error term符合常态假设,至於检定,就我的经验来说, # 我实在不认为Goodness of fit检定有良好的Power..... # 常见的检定像是:Shapiro-Wilk test of normality # R当然有相对的程式如下: shapiro.test(resid(lm.fit)) # H_0: Normality # 或是你要自己画QQ plot,我这提供一个范本 library(lattice) qqmath(~ res, data = data.frame(res=resid(lm.fit)), distribution = qnorm, aspect="xy",prepanel = prepanel.qqmathline, panel = function(x, ...) { panel.qqmathline(x, ...) panel.qqmath(x, ...) }) # b. Equal Variance # 左上角的图就是用来check这个假设,一般来说,不要有特别的pattern # 像是渐小,渐大,先小後大等等,或是有二次曲线出现等 # 通常就认为假设是OK的,我一样不喜欢等变异假设 # 一样提供R的等变异假设检定,在lmtest这个package里面有 library(lmtest) gqtest(sr~pop75+pop15+dpi+ddpi, data=savings) # 未测试,直接google的 # equal variance图的其他画法 xyplot(res~fit, data=data.frame(res=resid(lm.fit), fit=fitted(lm.fit))) # c. Outliers checking # 通常就看右下角跟左下角两张图 # 左下角那张 通常不要超过sqrt(3)=1.732就可以了 # 右下角那张看leverage跟Cook's distance,但是至今我还是不太会看... # 我记得我之前学到的是通常不要超过average leverage的0.7倍吧 # 不过R会自动帮你注记他认为有问题的点,机制我就不知道了 # 其他画法 xyplot(stdres~fit,data=data.frame(fit=fitted(lm.fit),stdres=rstandard(lm.fit))) # d. others # 独立性检定就很少再用,因为通常都只能检验特定期数,很少用 # R code如下: library(car) durbinWatsonTest(lm.fit) # Part II. Model selection # 这个part就很复杂了,因为还要牵扯到每一个应用层面的关系 # 通常不同的应用层面,有不同的选择标准以及方式 # 常见的有stepwise, backward, forward # 标准有R^2, AIC, BIC, p-value等 # 通常先进行这个Part,才进行model checking的部分 # 我这里是因为它比较复杂先放在後面说 # 常见的code像是: step(lm.fit) step(lm.fit, direction="backward") step(lm.fit, direction="forward") library(MASS) stepAIC(lm.fit) # 共线性的检验 vif(lm.fit) # 如果大於5,就是有共线性的存在 # 便要去确定covariate的correlation matrix # 通常不建议有超过0.7相关系数的变数存在 # 其他解决方案则有 lasso 跟 ridge等方式 # 至於留存问题,通常根据你对资料的了解而决定 # 但是这个部分,真的不是我在这里可以说完的,我就不献丑了.... # 有错烦请指教,献丑了,谢谢 刚有google到下面两个网址,你可以去瞧瞧 http://www.statmethods.net/stats/regression.html http://www.statmethods.net/stats/rdiagnostics.html --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.79.227
1F:推 diplazium:推c大的用心解说(原来可以用lattice画Q-Q plot啊~) 09/05 18:00
2F:→ celestialgod:为了弄出漂亮的东西 还有他比较方便 哈哈 09/05 18:04
3F:→ celestialgod:比较方便於画其他分配...qqplot这个function不爱用 09/05 18:09
4F:推 Wush978:推 09/05 19:50
5F:→ Wush978:Btw, 像这类文章,如果用knitr套件的Rmd写,排版会好很多 09/05 19:50
去用了一下,不过似乎无法编译中文,不论我的input是utf8 or chi-big5...
6F:→ celestialgod:谢谢版大建议QQ 09/05 21:48
7F:推 sseeaann:感谢c大的解说 对小弟非常有用 另外图上标记点是离群值? 09/05 21:55
8F:→ sseeaann:因为我做的图适用plot()指令和qqnorm()指令来做 不会特别 09/05 21:56
9F:→ sseeaann:标记离群值 得自己去找 能再请教c大模型的处理共线性指令 09/05 21:58
处理共线性最快的方法就是用 vif的指令 不知道在MASS还是car里面就有 ※ 编辑: celestialgod 来自: 218.164.79.227 (09/05 22:14)
10F:推 sseeaann:好的 我会试试看^^ 09/05 22:23
11F:推 sseeaann:另外请教一下c大 预测和信赖区间的指令您知道怎麽表示吗? 09/05 23:40
# confidence interval for fitted value predict(lm.fit, interval="confidence", level=0.95) # confidence interval for prediction pre.data = matrix(c(30,10,700,4,40,5,1000,2),2,,TRUE) rownames(pre.data) = c("A_region", "B_region") newdata=data.frame(pre.data) names(newdata)=names(savings)[2:5] predict(lm.fit, newdata=newdata ,interval="prediction", level=0.95) # To ger more information by R>?predict.lm
12F:→ celestialgod:简单说明第二块,就是我创了两个地区的人口等变项 09/05 23:49
13F:→ celestialgod:predict要求新资料必须有一样的变数名称 09/05 23:49
14F:→ celestialgod:最後调整interval即是预测区间 09/05 23:50
# 此外,回归系数的信赖区间可由下列code获得 confint(lm.fit)
15F:推 sseeaann:请问一下 我发现var.test()指令好像也能得到95%信赖区间 09/06 00:00
16F:→ sseeaann:另外删除离群值的模型还是有可能常态假设不成立或 09/06 00:03
17F:→ sseeaann:等变异不相等? 假如删除前的模型常态假设和等变异相等 09/06 00:03
# 删除前後的不同,这我可能无法回答你 # 但是就我所学来说,删除离群值这件事真的很少做... # 我是念纯统计的,我们老师通常都说资料最大 # 如果不是记录错误的话,通常都会纳入考量... # 或是influence point才会考虑删除。
18F:→ sseeaann:另外真的感谢c大 帮了小弟很大的忙^^ 09/06 00:04
19F:推 Wush978:encoding issue 满烦的,我自己是用utf8编译都没问题 09/06 00:25
20F:推 Wush978:http://rpubs.com/wush978 09/06 00:26
21F:→ celestialgod:windows下这个议题更麻烦XDDD 09/06 00:37
22F:推 sseeaann:c大有用过var.test()这指令求等变异吗? 还像也会跑出 09/06 00:50
23F:→ sseeaann:95%的信赖区间 请问这是哪个值的信赖区间@@? 09/06 00:51
variance ratio的信赖区间 我看了一下,那个只能用在category的covariate... 连续型的covariate不能用那个检验等变异.... ※ 编辑: celestialgod 来自: 218.164.79.227 (09/06 01:15)
24F:推 sseeaann:了解 原来是我搞错了>< 09/06 02:27







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP