Building models with SAS Enterprise Miner, SAS Factory Miner, SAS Visual Data Mining and Machine Learning or just with programming

VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

Reply
Frequent Contributor
Posts: 95

VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks


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

SAS Employee
Posts: 68

Re: VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

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.

Frequent Contributor
Posts: 95

Re: VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

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

SAS Employee
Posts: 68

Re: VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

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


Contributor
Posts: 65

Re: VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

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

Super Contributor
Posts: 336

Re: VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

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.

Contributor
Posts: 65

Re: VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

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

Super Contributor
Posts: 336

Re: VIF in Enterprise Miner 7.1, Please Help, quite urgent...Many Thanks

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?

Ask a Question
Discussion stats
  • 7 replies
  • 1781 views
  • 0 likes
  • 4 in conversation