Thanks a lot for your hard work in making the NGENE manual so clear, it helped me a lot understanding things! This is the first time I am making a choice experiment design and I would be really glad if I could get your feedback on a few points for my quite complex design.
I will survey companies that use harmful chemicals in their electronic products and investigate their willingness to switch towards safer chemicals in their products. Companies will have their own status quo (SQ) based on the description of the product they sell the most.
Therefore, I need a heterogeneous pivot design since I have different SQs for different companies (and the design will be generated on the fly). I have 3 alternatives including the SQ, and 4 attributes:
- Health and environmental properties (Hep): qualitative attribute with 5 levels=[0,1,2,3,4];
- Label (Lbl): qualitative attribute with 2 levels=[0,1];
- European regulations (Reg): qualitative attribute with 2 levels =[0,1]);
- Product price (Pri): quantitative price attribute with 4 levels =[-5%, 0%, 5%, 10%].
What follows is the preliminary piece of code that is common to all codes presented after.
Code: Select all
Design
;alts(SQ1) = altA*, altB*, SQuo*
;alts(SQ2) = altA*, altB*, SQuo*
;alts(SQ3) = altA*, altB*, SQuo*
;rows = 8
;eff = fish(mnl, d)
;fisher(Fish) = design1(SQ1[0.33]) + design2(SQ2[0.33]) + design3(SQ3[0.34])
;alg = mfederov(candidates=5000000)Code: Select all
;reject:
altA.Hep = 4 and altA.Lbl<> 0,
altA.Reg = 0 and altA.Hep > 1,
altB.Hep = 4 and altB.Lbl<> 0,
altB.Reg = 0 and altB.Hep > 1
;model(SQ1):
U(SQuo) = b0[0] + b1.effects[0|0|0|0]*Hep.ref[4] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[1] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep.piv[-4,-3,-2,-1,0] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,-1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep.piv[-4,-3,-2,-1,0] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,-1] + b4 *Pri.piv[-5%,0%,5%,10%]
;model(SQ2):
U(SQuo) = b0[0] + b1.effects[0|0|0|0]*Hep.ref[1] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[0] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep.piv[-1,0,1,2,3] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep.piv[-1,0,1,2,3] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]
;model(SQ3):
U(SQuo) = b0[0] + b1.effects[0|0|0|0]*Hep.ref[0] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[0] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep.piv[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep.piv[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]
$Code: Select all
;reject:
altA.Hep = 4 and altA.Lbl<> 0,
altA.Reg = 0 and altA.Hep > 1,
altB.Hep = 4 and altB.Lbl<> 0,
altB.Reg = 0 and altB.Hep > 1
;model(SQ1):
U(SQuo) = b0[0] + b1[0]*Hep.ref[4] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[1] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep.piv[-4,-3,-2,-1,0] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,-1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep.piv[-4,-3,-2,-1,0] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,-1] + b4 *Pri.piv[-5%,0%,5%,10%]
;model(SQ2):
U(SQuo) = b0[0] + b1[0]*Hep.ref[1] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[0] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep.piv[-1,0,1,2,3] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep.piv[-1,0,1,2,3] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]
;model(SQ3):
U(SQuo) = b0[0] + b1[0]*Hep.ref[0] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[0] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep.piv[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep.piv[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]
$Code: Select all
;reject:
altA.Hep = 4 and altA.Lbl<> 0,
altA.Reg = 0 and altA.Hep > 1,
altB.Hep = 4 and altB.Lbl<> 0,
altB.Reg = 0 and altB.Hep > 1,
SQuo.Hep <> 4 and SQuo.Reg = 1,
SQuo.Hep <> 1 and SQuo.Reg = 0 and SQuo.Pri = 4000,
SQuo.Hep <> 0 and SQuo.Reg = 0 and SQuo.Pri = 4001
;model(SQ1):
U(SQuo) = b0[0] + b1.effects[0|0|0|0]*Hep[0,1,2,3,4] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[1] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,-1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,-1] + b4 *Pri.piv[-5%,0%,5%,10%]
;model(SQ2):
U(SQuo) = b0[0] + b1.effects[0|0|0|0]*Hep[0,1,2,3,4] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[0] + b4[0]*Pri.ref[4000]/
U(altA) = b1 *Hep[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]
;model(SQ3):
U(SQuo) = b0[0] + b1.effects[0|0|0|0]*Hep[0,1,2,3,4] + b2[0]*Lbl.ref[0] + b3[0]*Reg.ref[0] + b4[0]*Pri.ref[4001]/
U(altA) = b1 *Hep[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]/
U(altB) = b1 *Hep[0,1,2,3,4] + b2 *Lbl.piv[0,1] + b3 *Reg.piv[0,1] + b4 *Pri.piv[-5%,0%,5%,10%]
$I am very grateful for your feedback, my pilot starts on Monday, which is always a little bit stressful
Best regards,
Marion