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

Any recommendations on this case of what model to use?

Reply
Frequent Contributor
Posts: 126

Any recommendations on this case of what model to use?

Hi all,

I am trying to find a suitable algorithm for a situation similar to uplift models (Y=0/1, Treatment=0/1) but in this case my treatment has 4 levels (1-4) representing different offers and my dependent is a continuous variable for which i am trying to predict the offer that will maximize its expected value.

Does anybody have any recommendation what would suit the nature of this problem?

Let me know if further clarifications are needed

Thank you in advance

SAS Employee
Posts: 340

Re: Any recommendations on this case of what model to use?

What about simply building a predictive model with the continuous variable as target   and treatment and all other explanatory variables as inputs? Maybe forcing the treatment into the model if needed.

SAS Employee
Posts: 340

Re: Any recommendations on this case of what model to use?

I think if you force treatment into the model, at the scoring phase you can score each obsevation 4 times with different treatment setting.

Then you can select the treatment that has the highest score for each obs.

Frequent Contributor
Posts: 126

Re: Any recommendations on this case of what model to use?

Then its a simple probability computed,I am looking for a conditional one

SAS Employee
Posts: 340

Re: Any recommendations on this case of what model to use?

I was suggesting simply modelling (and then scoring/calculating) the expected profit. (not probability) This expected profit would be conditional on all the explanatory variables (including the treatment).

Do you have a second target variables which is binary maybe that indicates if the treatment was accepted?

Could you show some example rows from your training data?

Frequent Contributor
Posts: 126

Re: Any recommendations on this case of what model to use?

"I was suggesting simply modelling (and then scoring/calculating) the expected profit. (not probability) This expected profit would be conditional on all the explanatory variables (including the treatment)."   What type of algorithm do you suggest for this, any example syntax?

SAS Employee
Posts: 340

Re: Any recommendations on this case of what model to use?

You can use use your favorite predictive model.

Maybe one of the simplest is linear regression:

/*Creating the model using observed data*/

proc glm data=sashelp.class(rename=(age=treatment));

  class treatment sex;

  model weight=treatment sex height treatment*height;

  code file='c:\temp\score.sas';

run;

/*Data to be scored*/

data toScore;

input name:$8. sex:$1. height;

datalines;

Name1 F 55

Name2 M 65

Name3 F 80

;

run;

/*Scoring*/

data scored;

  keep name treatment p_weight;

  set toScore;

  do treatment=11 to 16;

  %include 'C:\temp\score.sas';

  output;

  end;

run;

/*Selecting the best treatment*/

proc sql;

  create table bestTreatment as

  select name, treatment, P_Weight

  from scored

  group by name

  having P_Weight=max(P_Weight);

quit;

The same way you can use trees. Of course do not expect  the same parsimonious model, that is generated by an algorithm (e.g. UpLift Node in Enterprise Miner ) that creates splits directly maximizing treatment effectiveness.

Frequent Contributor
Posts: 126

Re: Any recommendations on this case of what model to use?

"The same way you can use trees. Of course do not expect  the same parsimonious model, that is generated by an algorithm (e.g. UpLift Node in Enterprise Miner ) that creates splits directly maximizing treatment effectiveness"


Yes that's exactly what I am after , an upgraded version of the uplift model  from 2 to 4 treatments,


Thank you

Ask a Question
Discussion stats
  • 7 replies
  • 438 views
  • 0 likes
  • 2 in conversation