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