suppose I ran a multinomial logistic regression in SAS..there are 3 levels of the dependant variable... Suppose I have a model with estimates for some significant variables..
How do I manually score this in SAS?
Is there an easy way of doing this?
In a linear regression, If I know var1 has -0.925 as estimate and var2 has 1.23 as estimate and the error is -.0543 and Intercept is 2.543, then equation is
Ypred= 2.543+(-0.925)*var1+(1.23)*var2; This way I can score a new dataset which has var1 and var2 and create the YPred.. I know I can use proc score and input parameter estimates from the proc logistic , but how do I define the model equation manually?
Please help me out here...
Related
I try to use PROC LOGISTIC to compute regression parameter estimates for the DATA1 data.
And I want to use PROC SCORE to score the DATA2 data set by using the parameter estimates in the DATA1 data set.
I know that it should work with PROC REG, but I have a Logistic Regression.
Look at the CODE statement which generates the scoring code.
proc logistic data=sashelp.Bmt;
class Group;
model Status=Group;
code file='mycode.sas';
run;
http://support.sas.com/documentation/cdl/en/statug/65328/HTML/default/viewer.htm#statug_introcom_sect013.htm
EDIT: Within Logistic regression there's also a SCORE statement.
I want to put all confidence interval plot in one plot for all strata variable after logistic regression. For example, my SAS code is:
proc logistic data=data1;
model y = x;
strata cv1;
output out=out1 unknown1=x_beta1 unknown2=lowerbound unknown3=upperbound unknown4=strata_variable;
run;
I do not know what variable names(unknown1 unknown2 unknown3) I can use in the output statement. As in the sas support page, it said "If a STRATA statement is specified, only the PREDICTED=, DFBETAS=, and H= options are available",here is the link.
My plot statement will be:
proc sgplot data=out1;
scatter y=strata_variable x=x_beta1 / xerrorlower=lowerbound xerrorupper=upperbound
markerattrs=(symbol=circlefilled size=9);
run;
The first plot in this page shows exactly what I want. Sorry I cannot insert any plot as my reputation is not high enough.
I find an another way to finish this. I wrote a macro do loop to get every strata data. And then added
ods output OddsRatios=odds_temp;
to get the estimation and confidence interval and merger all the strata together to make the plot I need.
I'm not so familiar with SAS proc glm. All I have done using proc glm so far is to output parameter estimates and predicted values on training datasets. But I also need to use the fitted model to make prediction on testing dataset. (both point estimates and interval estimates)
Here is my code.
ods output ParameterEstimates=Pi_Parameters FitStatistics=Pi_Summary PredictedValues=Pi_Fitted;
proc glm data=Train_Pi;
class Area Fo5 Tye M0 M1 M2 M3;
model Pi = Dow Area Fo5 Tye M0|HC M1|HC M2|HC M3|HC/solution p ss3 /*tolerance*/;
run;
But how to proceed to next step? something like predict(Model_from_Train_Pi,Test_Pi)
If you're on SAS 9.4 see Jake's answer from this question:
How to predict probability in logistic regression in SAS?
If not on 9.4, my answer applies for adding the data in to the original data set.
A third option is PROC SCORE - documentation has an example for proc reg that's almost identical to your question:
http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_score_sect018.htm
I am estimating a model for firm bankruptcy that involves 11 factors. I have data from 1900 to 2000 and my goal is to estimate my model using proc logistic for the period 1900-1950 and then test its performance on the 1951 through 2000 data. Proc logistic runs fine but the problem I have is that the estimated coefficients have the same name as my factors that I was using in my model. Suppose the dataset that contains all my observations is called myData and the dataset that contains the estimated coefficients which I obtain using an outtest statement (in proc logistic) is called factorEstimates. Now both of these data sets have the variables factor1, factor2, ..., factorN. Now I want to form the dataset outOfSampleResults that does something like the following:
data outOfSampleResults;
set myData factorEstimates;
newVar=factor1*factor1;
run;
Where the first mention of factor1 refers to that contained in myData and the second refers to that contained in factorEstimates. How can I inform sas which dataset it should read for this variable that is common to both of the datasets in the set statement? Alternatively, how could I quickly rename factor1, factor2, ..., factorN as factor1Estimate, factor2Estimate, ..., factorNEstimate in the factorEstimates dataset so as to circumvent this common variable name issue altogether?
Two quick ways to get estimates for a model already developed:
1. Proc logistic score statement
http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_logistic_sect066.htm
Include the data in your original proc logistic but use a new variable and ensure that the dependent variable is missing for the observations you want to predict.
data stacked;
set all;
if year >1950 then predicted=.;
else predicted=y;
run;
proc logistic data=stacked;
model predicted = factor1 - factor12;
output out=out_predicted predicted=p;
run;
I have a panel data of firms (Panel specification: ID,Time) and trying to run Logit Random Effect model on this data in SAS where my binary (0,1) dependent variable is Def. This is the code that I am using:
PROC GLIMMIX DATA=mydata METHOD=QUAD(QPOINTS=21) NOCLPRINT;
CLASS ID;
MODEL Def (DESC) = VAR1 VAR2 VAR3 VAR4/SOLUTION DIST=BINARY LINK=LOGIT;
RANDOM INTERCEPT / SUBJECT=ID;
RUN;
When I run the code, in the output the only table that I get for the coefficient estimates is called: Solutions for Fixed Effects. My question is that where are the coefficient estimates for random effect? How can I get those estimates in output?
Thanks for your help in advance.
Sei
Just add a SOLUTION option to the RANDOM statement as well.
RANDOM INTERCEPT / SUBJECT=ID SOLUTION;