2017-06-23 17 views
2

私は小さいモデルがベストモデルであると仮定したモデルを比較しようとしており、大きいモデルはすべての変数を持つモデルです。私はprocロジスティックスで "test statement"を使用してモデルを比較して、追加変数のいずれかが潜在的に重要であるかどうかを判断したいと思います。問題は、そのテストは、以下のように私のカテゴリ変数(d)を認識していないようですされていますSAS Proc Logistic:テストステートメントはカテゴリ変数を認識しませんか?

proc logistic data = test; 
class d (param = ref ref = '0'); 
model y (event = '1') = a b c d; 
test1: test c=d=0; 
run; 

This is the image of the error showing in the log

だから、基本的に私はそれがC、Dのいずれかが可能性があるかどうかを確認するためにテストしていモデルの重要な予測変数となります。

また、「テストステートメント」を正しく使用しているかどうかはわかりません。そのため、アドバイスをいただければ幸いです。

次はあなたが使用できるテストデータです:

data test (drop=i); 
do i=1 to 1000; 
a=round(uniform(1)*4,.01); 
b=round(uniform(1)*10,.01); 
c=round(uniform(1)*7.5,.01); 
if b<2 then d=1; 
else d=0; 
if i<500 then y=1; 
else y=0; 
output; 
end; 
stop; 
run; 

答えて

2

From the SAS documentation

OUTEST =データセット内のセクションパラメータの名前で説明したようにインターセプトし、CLASS変数パラメータ名を指定する必要があります。正確な名前を取得するためにかかわらず、あなたはあなたのOUTESTデータセットをチェックする必要があります

test1: test c=d1=0; 

だから、あなたのコードを与えられた、あなたはのようにテスト文を指定することができます。残念ながら、これはprocを2回実行することを意味しますが、それは簡単です。

+0

私は同じ結果を得ることができますが、より自動化されたので、再コード化された名前を手動で確認する必要はありません。同様に、アウト・データ・セットから自動的に参照する方法がありますか? – NicChik

+0

私は変数名+レベルを使用していると信じています。つまり、レベル1/2/3の変数があり、変数名がDで参照レベルが1の場合、新しい変数はD2/D3になります。 – Reeza

関連する問題