[問題] 分層抽樣是否適用於正負樣本差距過大時?
[問題類型]:
意見調查(我對R 有個很棒的想法,想問問大家的意見)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
這裡我想問的問題,比較偏重在處理資料時使用的抽樣方式是否適合?
問題如下:
假設我有一份資料集,樣子如下:
項次 col_1 col_2 col_3 ...... col_50 result
-------------------------------------------------
1 ... ... ... ... yes
2 ... ... ... ... yes
3 ... ... ... ... no
...... ... ... ... ... ...
500000 ... ... ... ... yes
如果:
1.這份資料集總共有 500000 筆資料。
2.資料的因變數是「result」,其值只有 yes 跟 no 兩種。
3.資料中沒有任何 missing value。
4.假設 yes 跟 no 的資料數量差異很大,例如達到 99:1 的程度,
也就是 yes 有 495000 筆,no 只有 5000 筆好了。
5.目的是想要找出「col_1 ~ col_50 這 50 個欄位對於 result 的影響程度」
原本我是將這 500000 筆資料原封不動的利用 R 的分類樹演算法(rpart)來處理
例如指令為:
formula = result ~ col_1 + col_2 + ... + col_50
x = rpart(formula, data, method="class") # data: 含 500000 筆資料
summary(x) #獲得變數重要程度的資訊
但後來發現結果跑不出來,應該是 yes 與 no 的資料數量相差過於懸殊的關係 @@~
[你的答案]:
所以後來我想到用「分層抽樣」的方法,針對不同的 result,用不同比例來隨機抽樣:
種類 筆數 抽樣比例 抽樣筆數
--------------------------------
yes 495000 5% 24750
no 5000 100% 5000
--------------------------------
總計 500000 29750
在這個方法裡面,我只用了 29750 筆資料 (yes:24750筆、no:5000筆)
雖然後來結果有很順利的跑完
但是對於採用這種方法,我不曉得會有什麼樣的缺點
(例如是否會因為樣本數減少,導致結論偏離正確的結果)
不知道大家對於這樣的抽樣方式,覺得是否合理呢?
感謝大家給予意見!
[關鍵字]:
分層抽樣;rpart
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.165.166
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1436376149.A.8AB.html
※ 編輯: ciphero (1.161.165.166), 07/09/2015 01:23:32
推
07/09 02:35, , 1F
07/09 02:35, 1F
推
07/09 02:58, , 2F
07/09 02:58, 2F
→
07/09 02:59, , 3F
07/09 02:59, 3F
→
07/09 02:59, , 4F
07/09 02:59, 4F
→
07/09 13:35, , 5F
07/09 13:35, 5F
→
07/09 13:35, , 6F
07/09 13:35, 6F
→
07/09 13:36, , 7F
07/09 13:36, 7F
→
07/09 13:40, , 8F
07/09 13:40, 8F
→
07/09 14:15, , 9F
07/09 14:15, 9F
→
07/09 14:15, , 10F
07/09 14:15, 10F
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章