作者chris1 (小刀)
看板Statistics
標題[程式] SAS跑迴歸
時間Wed Dec 29 02:07:33 2010
[軟體程式類別]:
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
1F:→ kingbee:請練習看SAS help檔 對你有幫助 >sas/stat > proc reg 12/29 10:05
2F:推 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)
3F:→ kingbee:因為reg不支援class 要改用GLM 通用線性模型 12/29 15:33
4F:→ kingbee:另外你要選擇stepwise那種在model後面打上 SELECTION= 12/29 15:34
5F:→ kingbee:例如 model y = x / SELECTION=STEPWISE; 12/29 15:35
6F:→ kingbee:help裡面找reg主題 syntax各指令說明的model項目會提到 12/29 15:36
7F:→ 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)
8F:→ kingbee:不會只是單純選擇變數而會去探討變數內分組的不同差異 12/29 15:41
9F:推 wlsherica:REG的檔案對兩類以上的變項可以自己做dummy coding 12/29 17:23
其實我做過,我的有12類,設成0~11,但用reg還是顯示不行耶...
※ 編輯: chris1 來自: 118.160.21.243 (12/29 17:35)
10F:推 imaltar:不然你列一下你的部分DATA 讓大家幫你看看問題在哪 12/29 17:39
11F:推 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)
12F:推 wlsherica:建議你上網瀏覽一下dummy variable的coding方式,或爬文 12/29 20:37
謝謝你..我想應該是有頭緒了...
※ 編輯: chris1 來自: 163.13.33.12 (12/29 20:46)
13F:推 kokolotl:if area='A11' then areax=10; 後面變數名稱換一下 12/29 22:40