BookmarkSubscribeRSS Feed
ManojAgarwal
Calcite | Level 5

Hello All,

I am using Warren Kuhfeld's excellent macros to do a conjoint design using choice experiments.

I have 4 3 level factors. I want to estimate main effects and selected interactions. 

I will use 2 generic alternatives, and a "none" option which is fixed at 1,1,1,1 for the four levels. 

The problem i am facing is that the design i find seems odd.

In every choice set, the levels of first factor X1 are identical for Alternatives 1 &2 in every choice set. 

This should not be happening, as they should be changing too. 

Any insights will be appreciated.

Here is some code and output.

Thanks

Manoj Agarwal

 

/* Rider Model Price 3 Wait time 3 Driver quality 3 Car quality 3*/

%mktruns(3 3 3 3,interact=x1*X2 x1*x3 x1*x4 );

 

/* will use the full factorial of 81 */

%mktex( 3 3  3 3,n=81,seed=100);

/* 3 options showed set the constant alternative it sets to 1 1 1 1 )*/

data final(drop=i);

      set design end=eof;

      retain f1-f2 1 f3 0;

      output;

      if eof then do;

           array x[7] x1-x4 f1-f3;

             do i=1 to 7;x[i] = i le 4 or i eq 7; end;

             output;

             end;

      run;

/* after some experimentation, decided to use 18 choice sets

               for the interaction design*/

%choiceff(data=final,

           model=class(x1-x4)class(x1*x2 x1*x3 x1*x4/sta),

               nsets=18,seed=125,maxiter=100,flags=f1-f3,options=relative nodups,beta=zero);

 

Block

Set

Alt

x1

x2

x3

x4

1

1

1

1

1

3

3

1

1

2

1

3

1

2

1

1

3

1

1

1

1

1

2

1

1

3

2

1

1

2

2

1

2

1

3

1

2

3

1

1

1

1

1

3

1

2

1

3

1

1

3

2

2

3

2

2

1

3

3

1

1

1

1

1

4

1

3

2

1

2

1

4

2

3

1

2

1

1

4

3

1

1

1

1

1

5

1

3

2

2

3

1

5

2

3

3

3

1

1

5

3

1

1

1

1

1

6

1

1

2

2

3

1

6

2

1

1

3

2

1

6

3

1

1

1

1

1

7

1

2

1

2

2

1

7

2

2

3

3

1

1

7

3

1

1

1

1

1

8

1

2

2

3

2

1

8

2

2

3

1

3

1

8

3

1

1

1

1

1

9

1

3

2

2

1

1

9

2

3

1

1

3

1

9

3

1

1

1

1

2

1

1

1

2

3

1

2

1

2

1

1

2

3

2

1

3

1

1

1

1

2

2

1

2

2

1

3

2

2

2

2

3

2

1

2

2

3

1

1

1

1

2

3

1

2

1

2

1

2

3

2

2

3

3

2

2

3

3

1

1

1

1

2

4

1

1

2

2

2

2

4

2

1

3

3

3

2

4

3

1

1

1

1

2

5

1

3

1

3

2

2

5

2

3

3

1

1

2

5

3

1

1

1

1

2

6

1

3

3

3

3

2

6

2

3

1

1

1

2

6

3

1

1

1

1

2

7

1

2

1

3

3

2

7

2

2

2

1

1

2

7

3

1

1

1

1

2

8

1

2

2

2

3

2

8

2

2

1

1

2

2

8

3

1

1

1

1

2

9

1

3

2

3

1

2

9

2

3

3

2

2

2

9

3

1

1

1

1

4 REPLIES 4
WarrenKuhfeld
Rhodochrosite | Level 12

I'll look at it.

WarrenKuhfeld
Rhodochrosite | Level 12

The answer to any question of the form "Why does the ChoicEff macro do something that looks funny to me as a researcher?" is always the same. That is the way it found to maximize efficiency. Why does it do precisely that in the presence of your interactions? I don't know beyond the answer I just gave, but it would not do it if you had not asked for interactions. I don't think about such things much after over 2.5 years of retirement. 🙂  The macro does have options to impose restrictions. However, if you restrict that away, you might not be able to estimate all the parameters. I hope this helps. -- Warren

ManojAgarwal
Calcite | Level 5

Thanks Warren. Congrats on your retirement, and even more thanks for still being engaged to help all of us who benefit from your contributions to experimental design literature. 

 

A follow up question for my own edification -  if the third choice is actually 'none" , should it be represented differently in the macro? Instead of using '1 1 1 1" for the levels of the third choice, should I be using '.  .  .  .'? 

Thanks

Manoj

WarrenKuhfeld
Rhodochrosite | Level 12

It depends on how you operationalize none and how you want it coded in the final model. If for example, you want all the coded variables in the model to be zero, then making all the levels missing is one way to do that.  There are several examples of that in the documentation that I wrote. I usually first refer people to the chapter on efficiency and coding.

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 705 views
  • 0 likes
  • 2 in conversation