[問題] 類別變數和虛擬變數

看板Statistics作者 (那就念吧~~)時間13年前 (2012/09/29 22:49), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
先說聲抱歉,文章有點長 這陣子在跑logit model 但因為自變數有重複測量的問題 所以學長建議用GEE model 但是目前卡在一個地方 應變數為(0,1)變數 自變數當中有3個是類別變數 地區別,行業別,教育程度 地區別在資料中顯示的方式為 1.北部 2.中部 3.南部 我的作法是 when 地區別為北部時,X1=1,otherwise X1=0 when 地區別為中部時,X2=1,otherwise X2=0 所以設完虛擬變數後會有下列表示法 X1 X2 (1 0 ) 表北部 (0 1 ) 表中部 (0 0 ) 表南部 迴歸時,丟X1當自變數去跑 並且在 proc genmod 的class選項中丟X1=0當對照組 解釋"北部地區(X1=1)"相對於"非北部地區(X1=0)" 對應變數發生的odds ratio為何 proc genmod descending data=a; class 重複測量的變數 X1/param=ref ref=first ; model 應變數(為0,1變數)=一堆自變數 X1 /dist=b link=logit; repeated subject=重複測量的變數/type=un; run; 我覺得作法應該沒錯 可是學長認為應該要2個地區別都出來對照某個地區別 可是....我覺得很怪 X1是一個自變數,而X2是另一個自變數 X1和X2怎麼可能放在一起後,再以X1=0做為對照組 因為X1=1的ref為X1=0,所以解釋上以"非北部地區"做為對照組 應該是不可能將X1和X2放在一起後去抓對照組 語法也寫不出來才對 所以...我在想 學長的意思是不是說... 不要create虛擬變數 而以當初的地區別做自變數 地區別=1 (北部) 地區別=2 (中部) 地區別=3 (南部) 然後變成 proc genmod descending data=a; class 重複測量的自變數 地區別/param=ref ref=first ; model (0,1)應變數=一堆自變數 地區別 /dist=b link=logit; repeated subject=重複測量的變數/type=un; run; 也就是將X1換成地區別這樣.... 可是..... 這樣不是變得更怪嗎?? 因為地區別是類別變數 其代表的1,2,3並沒有數值上的意義 這樣子跑出來的貝他係數應該是不能用來解釋應變數才對吧~~~ 另外在行業別這個自變項學長也是持相同看法 就是所有行業別都出來對照某個行業別 問題是....行業別的代號更是沒有數值上的意義啊 如果不用虛擬變數分組,跑出來的係數應該是有問題的 如果係數都有問題了,odds ratio應該也不能用吧 但用了虛擬變數,就只能有0和1兩個組別而已 不可能出現所有行業別做為組別才對啊~~ 因為這個問題我跟學長爭論一個下午 感覺是在雞同鴨講 但當時又沒有機會指出學長不對的地方 (也是有可能我誤會學長的意思) 所以想問一下版友 我的想法和做法問題出在哪裡? 再次說聲抱歉,內容很多 還請版友指點 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.227.127.193

10/01 00:47, , 1F
是你錯了! 不要只是想當然地推論, 把模型列出來看看就知道
10/01 00:47, 1F

10/01 00:48, , 2F
令學長是對的.
10/01 00:48, 2F
嗯~~ 今天我回去看了一下SAS OUTPUT的東西了 之前真的沒發現一件事情 即使將類別變數分組 例如 地區 族群 1 3 1 1 2 2 3 1 其中地區和族群的分組數字都不具數學意義時 例如地區1和地區2以及族群1和族群3 當中的1,2,3並沒有數學上的對應關係 SAS在跑GEE時 會自動將其分組成虛擬變數的樣態 變成 地區1 1 0 0 地區2 0 1 0 地區3 0 0 1 所以..... 我錯了~~~~~~~~ 今天也跑去跟學長道歉了~~~唉 不過學長還是有一件事情沒有解決 不知道有沒有版友願意開導~~~~ 就是GEE的OUTPUT中 在 goodness to fit的結果當中 每一個變數的DF(自由度)都沒有出來 導致我沒有辦法用卡方值去判斷模型到底是好還是壞 希望有版友指點 感恩 ※ 編輯: dofu1943 來自: 36.227.123.122 (10/01 21:21)
文章代碼(AID): #1GPmfpAb (Statistics)