Efficient design pilot test

This forum is for posts covering broader stated choice experimental design issues.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Efficient design pilot test

Postby dce.farmers » Wed Dec 20, 2023 9:53 pm

Dear Ngene users,

I am planning on running a pilot test with an efficient design, so with uninformative priors. I have 3 unlabelled alternatives including 1 opt-out.

Here are my attributes and levels:
Support type 1 attribute --> 3 levels (none, personalized, collective), dummy variable
Support type 2 attribute --> 2 levels (personalized, collective), dummy variable
Mode of plantation attribute --> 3 levels (individual, collective form1, collective form2), dummy variable
Cost attribute --> 4 levels (40000 €,44000 €,48000 €,52000€), continious variable
Mode of spraying --> 3 levels (individual, collective form1, collective form2), dummy variable

Here is my associated Ngene code:

Code: Select all
design
;alts = alt1*, alt2*, alt3
;rows = 24
;eff = (mnl,d)
;block = 4
;alg = mfederov
;reject:
alt2.cost=52 and alt2.plantation=2,
alt2.cost=52 and alt2.plantation=3,
alt1.cost=52 and alt1.plantation=2,
alt1.cost=52 and alt1.plantation=3,
alt2.cost=40 and alt2.plantation=1,
alt1.cost=40 and alt1.plantation=1
;model:
U(alt1)= b1.dummy[0.00001|0.00002]*support[1,2,3]
                     + b2.dummy[0.0001|0.0001]*plantation[1,2,3]                   
                     + b3[-0.00001]*cost[40000,44000,48000,52000]
                     + b4.dummy[0.0001|0.0001]*spraying[1,2,3]
                     + b5.dummy[0.00002]*suivi[1,2]   
                     + b6[0.00001]*cost*plantation /
U(alt2)= b1*support
         + b2*plantation
         + b3*cost
         + b4*spraying
         + b5*suivi
         + b6*cost*plantation /

U(alt3)= b0[0]
$


My questions are:
1. First, did I get the computation for design size right? nb parameters = 2 + 1 (2 levels) + 2 + 1 (continious) + 2 + 1 (interaction term) = 9 so we have (9/2)*3 = 13,5 but since I have attributes with 3, 2 and 4 levels I took design size= 24 as it can be divided by 3,2 and 4.
2. Is the level range of my monetary/cost attribute sufficient? In other words, is the variation between 40000, 44000,48000 and 52000 sufficient? Should I have a 5th level for my monetary attribute or are 4 levels fine?
3. My constraints were set to avoid unrealistic scenarios.
3.1: These contraints do not seem to work as I still get a scenario with 52K in cost and plantation with 2. Am I doing something wrong with the syntax?
3.2.These constraints I think however can create some correlation between attribute plantation and attribute cost (pearson correlation coeff of 0.2). For what values of pearson correlation coefficient should I be worried? Over which threshold?
4. Are my uninformative priors for the pilot test correctly set? I am not sure if I need one for my interaction term for instance.
5. Despite my uninformative priors, Ngene still give me a value for S estimate of S=19154418417.5871 as well as very high Sp estimates, is that normal? Shouldn't it be zero?
6. Do you have any other comments or suggestions about my code before I run the pilot test?

Thank you for your help!
Best,
Gaëlle
dce.farmers
 
Posts: 14
Joined: Tue Dec 19, 2023 1:27 am

Re: Efficient design pilot test

Postby Michiel Bliemer » Thu Dec 21, 2023 8:45 am

1. You forgot the constant, so parameters = 10, 10/(3-1) = 5 is minimum to satisfy degrees of freedom, multiply by 3 to get enough variation is 15. Then you can further increase to satisfy attribute level balance, so 24 sounds good.

2. It is difficult to say whether the range is sufficient. A pilot study would give you the answer here. If 56000 is realistic then there is no harm in adding it, unless you think the cost would become dominant.

3.1 You used levels 40000 and 52000 etc in your utility function but you used 40 and 52 in your constraints; these values need to match.
3.2 Your D-error does not indicate any issues, so you do not have perfect correlations. Even with a correlation of up to 0.9 there is usually no issue. Your correlations are not anywhere near that.

4. They look fine, although please check that the last level with dummy coding is the base level. So when you write b1.dummy[0.00001|0.00002]*support[1,2,3], then the preference order is 2>1>3. If this is not correct, you may want to re-arrange the levels, e.g. b1.dummy[0.00001|0.00002]*support[2,3,1] to express that the preference order is 3>2>1.

5. Sample size estimates are only meaningful with reliable priors. If you set the prior to 0, the sample size estimate becomes infinite (since the formula divides by the prior value). If you use uninformative priors you should ignore sample size estimates. Once you have priors from a pilot study, the sample size estimates will have a meaning. So you should not worry about it at this stage.

6. Your script looks fine, except for the mistake I outlined in 1. Note that the modified Federov algorithm does not guarantee attribute level balance. You could consider imposing attribute level constraints on the numerical cost attribute if you want, something like [40,44,48,52](5-7,5-7,5-7,5-7) to ensure that each level appears a minimum of 5 times and a maximum of 7 times across the design. Imposing such constraints is generally not needed for categorical (dummy coded) variables.

Michiel
Michiel Bliemer
 
Posts: 1885
Joined: Tue Mar 31, 2009 4:13 pm

Re: Efficient design pilot test

Postby dce.farmers » Sat Dec 23, 2023 1:41 am

Thank you so much Michiel for your answer!
Wishing you a great Christmas break!
dce.farmers
 
Posts: 14
Joined: Tue Dec 19, 2023 1:27 am


Return to Choice experiments - general

Who is online

Users browsing this forum: No registered users and 13 guests