Hi All,
Could you please let me know how to get the VIF in Enterprise Miner..I couldn't find it anywhere....Your help will be much appreciated as it is quite urgent...
I know how to calculate in SAS Base but the current company I work build models in Enterprise Minre 7.1 only.
Many Thanks
Alice
Kanyange, Enterprise Guide has a point and click way to get to VIF, so if you have your data set registered in Metadata, you could use EG to calculate VIF.
Hi Jonathan,
Thanks for your response...so it is not possible to do it in Enterprise Miner when we run Logistic Regression? I wanted to calculate it after running my regression to check multicollinearity between the independents variables...basically I want everything to be done in my diagram....Hope this will be added in future as an option? It will be really handy to have it in the Logistic Regression output results...
Cheers
Kanyange, we typically see users calculating VIF with linear regression (PROC REG). We have also added in VIF to PROC HPREG, which is a High-Performance in-memory procedure, which comes with your 9.4 SAS/STAT license.
You can include either of these procs in your EM flow with sample code such as:
PROC REG DATA=&EM_IMPORT_DATA CORR;
MODEL TARGET_VARIABLE = %EM_INTERVAL_INPUT / VIF TOL COLLINOINT;
We will explore adding this VIF option to the HP Regression node in the future.
Thanks!
Jonathan
Hi I am trying to localize you provided interms of my data
my latest data is stored at EMWS1.TRANS_TRAIN table
and my target variable is TARGET
I do not know where can I get my interval input. Is that syntax I have provided bellow is correct or not. Unfortunately it didn’t worked on program editor.
PROC REG DATA=&EMWS1.TRANS9_TRAIN;
MODEL TARGET_VARIABLE = %EM_INTERVAL_INPUT / VIF TOL COLLINOINT;
could you please help me
you need to change "TARGET_VARIABLE" for your target variable... is the name of your target "TARGET"?
Then your model statement should look like this:
MODEL TARGET= %EM_INTERVAL_INPUT / VIF TOL COLLINOINT;
Alternatively you can use one of these macros that resolves to your target.
%EM_TARGET
%EM_BINARY_TARGET
%EM_ORDINAL_TARGET
%EM_NOMINAL_TARGET
Give it a try and if it does not work for you, please include the log so that we can google or check in SAS documentation what you are missing.
Hi Miguel
İ have changed name of target variable as you said.
However I am still having some problems with script
First -Error
8655 PROC REG DATA=&EMWS1.TRANS9_TRAIN;
_
22
200
WARNING: Apparent symbolic reference EMWS1 not resolved.
ERROR 22-322: Expecting a name.
ERROR 200-322: The symbol is not recognized and will be ignored.
But I was able to load my data despite this error statement.
However I believe that my real problem stems from executing the %EM_INTERVAL_INPUT macro
I am having
Second-Error
8662 MODEL TARGET = %EM_INTERVAL_INPUT / VIF TOL COLLINOINT;
_
22
200
WARNING: Apparent invocation of macro EM_INTERVAL_INPUT not resolved.
ERROR: Variable EM_INTERVAL_INPUT not found.
NOTE: The previous statement has been deleted.
Error in the end
Thank you very much for your help
EMWS1 is the name of your workspace (enterprise miner workspace 1), not a macro variable. Let's remove the "&".
Before
PROC REG DATA=&EMWS1.TRANS9_TRAIN;
Now
PROC REG DATA=EMWS1.TRANS9_TRAIN;
macro EM_INTERVAL_INPUT will resolve to the name of your interval inputs as long as you have at least one interval input. Check that the Level of at least one of your variables is set to Interval.
This two things should fix you. Does it work now?
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.
Find more tutorials on the SAS Users YouTube channel.