将截止值应用于具有ID的数据集

时间:2015-08-03 05:57:46

标签: sas logistic-regression

我正在使用SAS并设法运行proc logistic,这给了我一张这样的表格。

Classification Table
Prob    Correct Incorrect   Percentages
Level   Event   Non-    Event   Non-    Correct Sensi-  Speci-  FALSE   FALSE
                Event           Event           tivity  ficity  POS     NEG  J
0       33      0       328     0       9.1     100     0       90.9    .    99
0.02    33      62      266     0       26.3    100     18.9    89      0   117.9
0.04    31      162     166     2       53.5    93.9    49.4    84.3    1.2 142.3
0.06    26      209     119     7       65.1    78.8    63.7    82.1    3.2 141.5

如何在lib.POST_201505_PRED以下的数据行中包含至少0.6概率的数据?

proc logistic data=lib.POST_201503 outmodel=lib.POST_201503_MODEL descending;
model BUYER = 
    age
    tenure
    usage
    payment
    loyalty_card
    /outroc=lib.POST_201503_ROC;
    Score data=lib.POST_201505 out=lib.POST_201505_PRED outroc=lib.POST_201505_ROC;
run;

我一直在阅读documentation并在网上搜索,但却找不到任何内容。我必须搜索错误的关键字,因为我认为这是一个经常使用的过程。

2 个答案:

答案 0 :(得分:1)

您只需要一个id语句告诉SAS您的ID变量标识您的观察结果;

proc logistic data=lib.POST_201503 outmodel=lib.POST_201503_MODEL descending;
    id ID; 
    model BUYER = age tenure usage payment loyalty_card
        /outroc=lib.POST_201503_ROC;
    Score data=lib.POST_201505 
        out=lib.POST_201505_PRED 
        outroc=lib.POST_201505_ROC;
run;

现在您的输出包含您需要的所有内容。 例如,打印获得至少0.6的概率作为买方的ID;

proc print data=lib.POST_201505_PRED (where=(P_1 GE 0.6));
    var ID P_1;
run;

您可以在SAS 的整个统计程序中找到这些id yourKey;语句;

proc univariate data=psydata.stroop;
    id Subject;
    var ReadTime;
run;

**会将ReadTime的最极端值报告为

enter image description here

答案 1 :(得分:0)

原来我只需要在class Roles # ... def respond_to_missing?(method_name, include_private = false) /^is_(user|mod|admin)\?$/ =~ method_name end end

中加入ID