<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Can't get the output from ods ouput ROCinfo in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951888#M372080</link>
    <description>Yes. you need NOFIT option,since you only want ROC not fitting a real model.</description>
    <pubDate>Tue, 26 Nov 2024 03:40:56 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2024-11-26T03:40:56Z</dc:date>
    <item>
      <title>Can't get the output from ods ouput ROCinfo</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951399#M371921</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to write a code that can generate gini coeff. for every variable and create an example table like this;&lt;/P&gt;&lt;P&gt;example:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Predictor&lt;/TD&gt;&lt;TD&gt;Gini Coef&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC_RSK_AMT&lt;/TD&gt;&lt;TD&gt;0,7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC_APP_CNT_L12M&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;OD_APP_CNT_L12M&lt;/TD&gt;&lt;TD&gt;0,4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CNSMR_APP_CNT_L12M&lt;/TD&gt;&lt;TD&gt;0,266666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;MRTG_APP_CNT_L12M&lt;/TD&gt;&lt;TD&gt;0,116666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BANKA_SAY&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;TOPLAM_RISK_MEMZUC&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;TOPLAM_RISK_MEMZUC_2&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;LIMIT_ALL&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;LIMIT_2&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;LIMIT_ORAN&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RISK_ORAN&lt;/TD&gt;&lt;TD&gt;0,6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and my code is ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data your_data;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; set WORK.GINI_COEFF_DENEME;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;%let predictors = CC_RSK_AMT CC_APP_CNT_L12M OD_APP_CNT_L12M CNSMR_APP_CNT_L12M&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MRTG_APP_CNT_L12M BANKA_SAY TOPLAM_RISK_MEMZUC&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOPLAM_RISK_MEMZUC_2 LIMIT_ALL LIMIT_2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LIMIT_ORAN RISK_ORAN;&lt;BR /&gt;&lt;BR /&gt;* Initialize the Gini coefficient table with necessary columns;&lt;BR /&gt;data gini_table;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; length Predictor $50. Gini_Coef 8.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; keep Predictor Gini_Coef;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;%macro calculate_gini;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; %let i = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; %let predictor = %scan(&amp;amp;predictors, &amp;amp;i);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; %do %while(&amp;amp;predictor ne );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Run logistic regression for the current predictor;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc logistic data=your_data;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; model FIY_HAS_F(event='1') = &amp;amp;predictor;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; roc 'ROC' &amp;amp;predictor;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ods output ROCInfo=roc_info;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Check if the model converged;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set roc_info;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _N_ = 1 then call symputx('model_converged', '1');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else call symputx('model_converged', '0');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;model_converged = 0 %then %do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put WARNING: Model did not converge for predictor &amp;amp;predictor;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let i = %eval(&amp;amp;i + 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let predictor = %scan(&amp;amp;predictors, &amp;amp;i);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %continue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Extract the AUC from the ROCInfo table and calculate Gini coefficient;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data auc_data(keep=Predictor Gini_Coef);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set roc_info;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ROCModel = 'ROC' and ROCType = 'C';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; auc = C;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Gini_Coef = 2 * auc - 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Predictor = "&amp;amp;predictor";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Append the Gini coefficient of the current predictor to the Gini table;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc append base=gini_table data=auc_data force;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Move to the next predictor;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let i = %eval(&amp;amp;i + 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let predictor = %scan(&amp;amp;predictors, &amp;amp;i);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; %end;&lt;BR /&gt;%mend calculate_gini;&lt;BR /&gt;&lt;BR /&gt;* Run the macro to calculate Gini coefficients for all predictors;&lt;BR /&gt;%calculate_gini;&lt;BR /&gt;&lt;BR /&gt;* View the Gini coefficient table;&lt;BR /&gt;proc print data=gini_table;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var Predictor Gini_Coef;&lt;BR /&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But it keeps giving this warning and then error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;WARNING: Output 'ROCInfo' was not created.&amp;nbsp; Make sure that the output object name, label, or path is spelled correctly.&amp;nbsp; Also,&amp;nbsp;verify that the appropriate procedure options are used to produce the requested output object.&amp;nbsp; For example, verify that&amp;nbsp;&amp;nbsp;the NOPRINT option is not used&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ERROR: File WORK.ROC_INFO.DATA does not exist.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Can any one please please help me?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Nov 2024 21:00:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951399#M371921</guid>
      <dc:creator>Bar34gir34</dc:creator>
      <dc:date>2024-11-20T21:00:45Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get the output from ods ouput ROCinfo</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951401#M371922</link>
      <description>&lt;P&gt;According &lt;A href="https://go.documentation.sas.com/doc/en/statug/15.2/statug_logistic_details112.htm" target="_self"&gt;to the documentation&lt;/A&gt;, ROCInfo is not one of the tables you can specify. Maybe you need ROCAssociation?&lt;/P&gt;</description>
      <pubDate>Wed, 20 Nov 2024 21:41:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951401#M371922</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2024-11-20T21:41:09Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get the output from ods ouput ROCinfo</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951413#M371925</link>
      <description>&lt;P&gt;Run your basic code with the selected options but not ODS output, since it is throwing errors, with the ODS TRACE ON to get the objects created. Use a small data set and perhaps just the option you are having problems with.&lt;/P&gt;
&lt;P&gt;The log will show the objects created, basically in the order they appear in the output. That should tell you the &lt;STRONG&gt;name&lt;/STRONG&gt; of the object to use on the ODS OUTPUT statement.&lt;/P&gt;
&lt;PRE&gt;ods trace on;
 proc logistic data=your_data;
         model FIY_HAS_F(event='1') = &amp;amp;predictor;
         roc 'ROC' &amp;amp;predictor;

      run;
ods trace off; /* turn it off when done*/&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Nov 2024 23:34:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951413#M371925</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2024-11-20T23:34:29Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get the output from ods ouput ROCinfo</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951422#M371927</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let predictor=age weight height;







%let roc=%qsysfunc(prxchange(s/(\w+)/roc '\1' pred=\1;/,-1,&amp;amp;predictor.));
ods select none;
ods output  ROCAssociation= ROCAssociation;
proc logistic data=sashelp.class ;
model sex=/nofit;
%unquote(&amp;amp;roc.);
run;
ods select all;
data want;
 set ROCAssociation;
 Gini_Coef = 2*Area - 1;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 21 Nov 2024 01:13:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951422#M371927</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2024-11-21T01:13:31Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get the output from ods ouput ROCinfo</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951887#M372079</link>
      <description>Sorry man , this is my first time using sas for logistic reg. So i need to change model sex=/nofit; to model fiy_has_f=1/ and also should i keep the nofit parameter?</description>
      <pubDate>Tue, 26 Nov 2024 03:00:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951887#M372079</guid>
      <dc:creator>Bar34gir34</dc:creator>
      <dc:date>2024-11-26T03:00:37Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get the output from ods ouput ROCinfo</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951888#M372080</link>
      <description>Yes. you need NOFIT option,since you only want ROC not fitting a real model.</description>
      <pubDate>Tue, 26 Nov 2024 03:40:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Can-t-get-the-output-from-ods-ouput-ROCinfo/m-p/951888#M372080</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2024-11-26T03:40:56Z</dc:date>
    </item>
  </channel>
</rss>

