R_Language 板


LINE

最後補一個總流程 1. 了解資料特性 2. 查看變數相關性,確保共線性問題不會出現 => 出現共線性問題 就要考慮其他方法 3. 模型選擇,通常不會是單一標準 a. 最簡單的方式就是根據你設定的significant level篩選掉不顯著的變數 b. 用prediction error決定加入哪些變數 (資工最常用) c. 用AIC or BIC選擇最好的模型 d. 有時候也會同時考慮R^2跟AIC 4. Model checking a. Normality => 沒過就要考慮response要做轉換,很多時候b的方法會拿來用 b. Equal variance => 最常見的就是用power transformation or Box-Cox (Note: 轉換以容易解釋為主) c. outlier detection => influence大才建議刪除 5. 最終結果 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.79.227 ※ 編輯: celestialgod 來自: 218.164.79.227 (09/06 02:02)
1F:→ sseeaann:感謝c大 對我處理迴歸有很大的幫助^^ 09/06 02:29
2F:推 sseeaann:想再請教c大 假如資料含有NA 如何把NA排除或轉化為0? 09/06 14:49
如果你的data存在dat這個object上,指令如下 dat[which(is.na(dat)]=0
3F:推 sseeaann:另外還有幾個問題 outlierTest()指令是跑出所有離群值的? 09/06 15:23
他會告訴你說有沒有standardized residual太大 在第一行 然後下面會列出最大的standardized residual.... 我手邊沒有一個有outlier的data,不知道有outlier他會怎樣....
4F:→ sseeaann:離群值要怎麼做刪除? 指令我不太會..以savings資料檔為例 09/06 15:25
離群值就你如果知道他的row number,rn 就 dat.new=data[-rn]
5F:推 sseeaann:我有把要刪除na的資料檔打進指令內 但好像還是不行 09/06 16:59
6F:→ sseeaann:刪除NA的資料檔我適用data(airquality) 09/06 16:59
sorry, 不用which airquality[is.na(airquality)]=0
7F:→ sseeaann:我自己有找過刪除NA的指令 好像有個na.action=na.exclude 09/06 17:00
8F:→ sseeaann:另外離群值的哪個指令 好像刪除數字還可以 09/06 17:01
9F:→ sseeaann:但文字的離群值就不知道該怎麼刪除了 09/06 17:01
你有例子我可以幫你試試看.... 還有我對function涉獵比較少...通常我都徒法煉鋼@@... 可能有好用的function可以用於刪除NA or Outliers...
10F:推 sseeaann:另外誠心跟c大您說聲感恩 不然迴歸很少有用R的書籍= =+ 09/06 17:06
書的話下面有幾本 你可以在網路上找到低調 Linear Models with R Extending_the_Linear_Model_with_R Using R for Data Management, Statistical Analysis, and Graphics 這幾本都有用回歸作分析....而且都是用R
11F:推 sseeaann:關於文字的離群值我適用data(savings)資料檔 再用指令 09/06 18:24
12F:→ sseeaann:outlierTest()找出離群值 只是試跑出文字的離群值用 09/06 18:25
13F:→ sseeaann:data[-rn,]的方式不適能刪除 數字的話就沒問題! 09/06 18:26
14F:推 sseeaann:另外剛剛有把airquality[is.na(airquality)]=0的指令放在 09/06 18:34
15F:→ sseeaann:lm()指令中 但發現如果對y做log轉換好像就有問題= =+ 09/06 18:34
還是不太明白什麼叫做文字離群值XD... rn一定要數字啊!!! 因為那個是去掉那一列 如果你說的是去掉某一個國家的話,可以這樣 savings[-match("South Africa", rownames(savings)),] 這個就是我要去掉南非那一個row....當然可以一次去多個 savings[-match(c("South Africa","China"), rownames(savings)),] 因為你y裡面有0....(PS:你剛剛說要把NA轉成0....) 所以log(0)=-Inf...當然會有問題 補充:你可能會用到多項式的回歸 可以這樣寫 lm(y~I(x^2)+I(x^3)+log(x)) I()可以讓你在lm裡面做計算@@...
16F:推 sseeaann:喔喔 對吼 不能LOG(0)= =+ 那NA的部分要怎麼處理才好= =? 09/06 19:30
17F:→ sseeaann:因為有個迴歸方程的常態假設沒成立 所以我要對Y做LOG轉換 09/06 19:31
18F:→ sseeaann:麻煩的是airquality這個資料檔有NA.. 09/06 19:31
19F:→ sseeaann:晚一點我可能會PO我寫的程式碼@@ 不過應該有些問題.. 09/06 19:33
NA就是NA阿= = 給他0....實在不怎麼make sense除非有什麼合理解釋... 你PO程式碼之後 可以再研究看看 ※ 編輯: celestialgod 來自: 218.164.79.227 (09/06 19:41)
20F:→ sseeaann:http://ideone.com/bURiin 09/07 00:06
看了一下你的程式.... 最後一行我前面有說明 還有 var.test 我不懂你在做什麼... 你可以說明一下 你那樣分組的意義跟原因嗎?
21F:→ sseeaann:另外我會想處理有NA是因為如果不管的話 分析一些數據 09/07 00:11
22F:→ sseeaann:程式好像會自動忽略有NA的整筆資料 所以想說能把NA調為0? 09/07 00:12
23F:→ sseeaann:因為這方面小弟是也還是新手 滿多地方都一知半解= =+ 09/07 00:13
忽略是正常的... 如果不想忽略 請找其他適合的模型配適 或是利用一些方法去估計 不是你隨便加值 可以搞定的... 資料最大!!! 你想對資料做什麼都要有合理理由!!
24F:→ sseeaann:另外關於影響點的檢測 c大適用哪個指令來做檢測? 09/07 00:16
影響點通常就是去畫scatter plot比較快 看圖真的比較容易~"~
25F:→ sseeaann:另外是否能從cook's distance plot看出影響點? 09/07 00:40
不可能XD 我指的影響點是說會嚴重影響回歸係數估計的點 有些點雖然有點超出正常群的範圍 可是他在回歸線上 那是可以的... => cook's distance plot不能正確找出影響點,但是可以縮小範圍
26F:→ sseeaann:var.test()指令是我們被規定要拿來檢測變異數為常數 所以 09/07 00:41
規定= =? 不太懂這個規定有何用,不能用就是不能用...沒什麼好說的 而且那個是做two-sample variance F-test 完全不適用於此...
27F:→ sseeaann:我不太敢用別的檢定= = 只有常態假設檢定這邊跟C大一樣 09/07 00:42
另外,我前面提過檢定大多參考,統計的人比較愛看圖
28F:→ sseeaann:貼的程式碼我說明比較少一點 急著貼程式碼= =+ 09/07 00:43
說明少倒還好啦...可以接受...
29F:→ sseeaann:程式碼我友在做伊些修改 請C大再一下^^ 09/07 00:52
30F:→ sseeaann:另外scatterplot指令我剛剛有試過 會跑出錯誤 09/07 00:54
31F:→ sseeaann:"figure margins too large"這個錯誤 09/07 00:55
指令是plot 然後就response對每一個x畫 par(mfrow = c(2, 2), oma = c(0, 0, 2, 0)) plot(c(min(,2:5),max(savings[,2:5])),c(min(savings$sr),max(savings$sr)),type="n") for(i in 1:4) matplot(savings$sr, savings[,i+1],add=T)
32F:→ sseeaann:另外友在C大給的網站看到這個指令influencePlot() 09/07 00:59
我說的influence point跟那個是兩回事... influence相關的概念 你可以google..
33F:→ sseeaann:上面哪個plot的指令我好像跑不出來 會有錯誤@@ 09/07 01:03
library(car) influencePlot(lm.fit) # 正常 他說有兩個影響點
34F:→ sseeaann:跟C大這樣討論後 真的發現還是太多東西一知半解 如果C大 09/07 01:32
35F:→ sseeaann:有空的話 能不能就savings此資料做一個複線性迴歸得最適 09/07 01:33
36F:→ sseeaann:模型給小弟做一個參考? 09/07 01:33
我最近還有事情要忙,這就沒法了,一個個小問題還可以...
37F:→ sseeaann:C大請教一下 影響點刪除後的模型也有可能不通過常態假設? 09/07 13:21
38F:→ sseeaann:另外刪除影響點是全部刪除的跟一個個刪除的模型都要檢定? 09/07 13:22
我不想再強調一次了QQ 影響點的刪除 你必須要有合理理由 通常就是畫圖去做判定 沒有其他捷徑
39F:→ sseeaann:還有之前有跟您討論var.test()這指令說是我用法錯誤 09/07 13:23
是的,用法是錯誤的
40F:→ sseeaann:那以savings來說 要用哪個指令檢測等變異?除了看圖表外@@ 09/07 13:23
我前面就用過了 gqtest 看圖還是最常用的 不會看圖只看檢定...有點本末倒置 檢定的power說真的不強...太多assumption
41F:→ sseeaann:另外C大您有說過離群值是參考用?主要是看影響點? 09/07 13:25
對 是看該點是否有嚴重影響斜率
42F:→ sseeaann:另外可以麻煩C大提幾個重要的指標但我PO的程式碼卻沒有? 09/07 13:27
程式碼,我就不看了...我前面那篇寫的已經夠完整了....
43F:→ sseeaann:再次感謝C大鼎力相助^^ 09/07 13:27
44F:→ sseeaann:http://ideone.com/9SIS0W 09/07 13:43
45F:→ sseeaann:http://ideone.com/sPBXr7 09/07 15:12
46F:推 Wush978:請問你做這個分析的目的是? 09/07 18:05
47F:→ Wush978:阿,我是想請s版友先想想這個問題,因為不同的目的手段也 09/07 21:59
48F:→ Wush978:會不同,所以這個問題是非常重要的。 09/07 21:59
版大說得很對QQ...不同領域處理相關問題的看法是極為不同的。
49F:→ sseeaann:拍謝 晚上有事 剛剛才回來= =+ 主要是要找到一個最適模型 09/08 00:47
50F:→ sseeaann:經過塞選變數->檢定變異數為常數->常態假設是否成立-> 09/08 00:49
51F:→ sseeaann:塞選掉對模型有影響的離群值 最後出來的最適模型即可 09/08 00:50
52F:→ sseeaann:這是我們教授要我們照的步驟 可是是暑修 所以教得很隨便. 09/08 00:51
53F:→ sseeaann:只是告訴我們一些指令 講些觀念再來就是叫我們自己練習.. 09/08 00:51
最適怎樣叫做最適.... 資工覺得Prediction Error or Test Error最低是最適 統計有些人認為AIC最低最適 有些人認為BIC最低最適 當然亦有人認為判定係數最高就最適 何謂最適? 這沒有一個準則...只能說你們教授教的就照教科書念一念而已吧~"~
54F:→ sseeaann:所以才會很多觀念以及程式都一知半解 真的不好意思>< 09/08 00:54
這不完全是你的錯@@...
55F:→ sseeaann:是阿 我現在其實比較煩的就是離群值的部分>< 09/08 01:06
56F:→ sseeaann:教授只教outlierTest()這指令說跑出來的離群值要刪除= =+ 09/08 01:07
57F:→ sseeaann:但我發現這樣問題滿多的.因為我隱約記得離群值事不能亂刪 09/08 01:08
58F:→ sseeaann:總之有些地方還是得照他的規定來做 所以就只好盡量了>< 09/08 01:09
59F:→ sseeaann:就希望盡量在刪除離群值後 模型能保持常態假設和等變異 09/08 01:14
60F:→ sseeaann:至少有達成教授他要求的方式和結果 自己有時間再鑽研吧 09/08 01:15
恩 按照你教授的想法 大概資料會只剩下70%...這種事情常有XD 會不斷的刪....我以前就用過這種作業了XDDD
61F:→ Wush978:sseeaann,那模型的目的是什麼呢?不同目的,所選的模型差 09/08 01:47
62F:→ Wush978:異也會很大 09/08 01:47
63F:→ Wush978:就像是預測用模型,不一定會很注重共線性的問題 09/08 01:48
那是經濟資料,我覺得選擇模型最重要的應該是預測未來的saving rate
64F:→ sseeaann:其實如果真要問我這個模型的目的是做啥 我也不太會說... 09/08 02:10
65F:→ sseeaann:暑修這樣上根本沒辦法搞懂迴歸 只能照教授的要求盡量做 09/08 02:11
66F:→ sseeaann:不過我想模型的用途應該像W大講的 預測用吧.. 09/08 02:13
67F:→ sseeaann:而且我很難責怪教授教不好 肯開迴歸暑修就應該要很感激了 09/08 02:15
只能說 迴歸分析是需要經驗來累積的.... 不是上個課就會了...教授教得好不好是一回事 你有沒有認真學起來才是真的 ※ 編輯: celestialgod 來自: 218.164.166.108 (09/08 02:21)
68F:→ sseeaann:目前已經弄好了 不過看完真的有頭大 因為不熟迴歸.. 09/08 18:05
69F:→ sseeaann:講一下我的步驟好了 分析資料建模->model selection-> 09/08 18:05
70F:→ sseeaann:偏F檢定->檢查共線性->殘差配適圖->變異數是否為常數-> 09/08 18:08
71F:→ sseeaann:QQplot->常態假設檢定->離群值檢定->刪離群值之模型檢定 09/08 18:09
72F:→ sseeaann:->回到殘差配適圖的步驟到常態假設檢定->得到最適模型 09/08 18:10
73F:→ sseeaann:抱歉 中間有少打一開始的常態假設沒過則做對數轉換 09/08 18:11







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燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP