看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]: SAS [程式問題]: 小弟目前知道跑回歸的方法有 PROC REG跟 PROC GLM 但目前的問題是 PROC REG不知怎麼輸入類別變數 而用PROC GLM 則不能像PROC REG有很多方法選模 (至少我不會...)像STEPWISE 向前向後..ETC 用PROC REG時 我的程式是 PROC REG DATA=ABC; model price=area; proc print; run; 其中AREA是地區的意思 有12個類別 但LOG顯示 ERROR: Variable area in list does not match type prescribed for this list. 用PROC GLM時 卻沒辦法選出2~3個模型 但我一定要選出2~3個模型,再去選出最好的,這就是我的主要問題... 請高手幫忙 謝謝 [軟體熟悉度]: 新手(不到1個月) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.144.29
kingbee:請練習看SAS help檔 對你有幫助 >sas/stat > proc reg 12/29 10:05
sssh307:在PROC REG DATA=ABC;後換行加上CLASS 類別變數名即可。 12/29 10:42
其實我有看sas help檔,裡頭的qualitative範例,但檔中的類別變數是0、1,而 sas只是直接model y=x; 如此而已,所以我還是不懂... 另外,class我只能用在proc glm耶,proc reg我用class他顯示錯誤 ※ 編輯: chris1 來自: 118.160.21.243 (12/29 14:17)
kingbee:因為reg不支援class 要改用GLM 通用線性模型 12/29 15:33
kingbee:另外你要選擇stepwise那種在model後面打上 SELECTION= 12/29 15:34
kingbee:例如 model y = x / SELECTION=STEPWISE; 12/29 15:35
kingbee:help裡面找reg主題 syntax各指令說明的model項目會提到 12/29 15:36
kingbee:至於GLM為什麼沒有Selection 有時候用途不同 12/29 15:39
謝謝你,PROC REG後面的SELECTION有向前向後等等其他的指令,這些我有 可是我的問題就在,我必須要SELECT出幾個侯選模型,再去看AIC BIC CP等這些值 來挑出最好的,而PROC GLM卻不行,PROC REG卻不知怎麼用類別變數..因為不能CLASS ※ 編輯: chris1 來自: 118.160.21.243 (12/29 15:42)
kingbee:不會只是單純選擇變數而會去探討變數內分組的不同差異 12/29 15:41
wlsherica:REG的檔案對兩類以上的變項可以自己做dummy coding 12/29 17:23
其實我做過,我的有12類,設成0~11,但用reg還是顯示不行耶... ※ 編輯: chris1 來自: 118.160.21.243 (12/29 17:35)
imaltar:不然你列一下你的部分DATA 讓大家幫你看看問題在哪 12/29 17:39
wlsherica:0-11...你可以貼你設定dummy的程式上來嗎? 12/29 20:15
data abb; set abc; if area=A1 then area=0; if area=A2 then area=1; if area=A3 then area=2; if area=A4 then area=3; if area=A5 then area=4; if area=A6 then area=5; if area=A7 then area=6; if area=A8 then area=7; if area=A9 then area=8; if area=A10 then area=9; if area=A11 then area=10; proc print; run; proc reg data=abb; model price=area; proc print; run; 這是程式的一部分,其中PRICE是價格,連續型的變數,AREA是區域,有12區,我 設定成數字0~11,再跑PROC REG,但一樣不行... ※ 編輯: chris1 來自: 163.13.33.12 (12/29 20:33)
wlsherica:建議你上網瀏覽一下dummy variable的coding方式,或爬文 12/29 20:37
謝謝你..我想應該是有頭緒了... ※ 編輯: chris1 來自: 163.13.33.12 (12/29 20:46)
kokolotl:if area='A11' then areax=10; 後面變數名稱換一下 12/29 22:40