This is actually a follow up question from a post on Stated Experiment Design Forum. I would like to design an experiment with 2 alternatives and 1 SQ, where the attribute levels of SQ will be determined by respondents choices. For example, I have the following syntax for 3 status quo. I question is how to set up the ;require: conditions for each of the models (SQ1, SQ2, SQ3). I read another post and tried using Model_Name.Alt_Name.Att_Name, but it does not work properly. Any suggestions on how to do this?
Another minor question. Do we need to specify the levels and priors in each model (as I am doing in the code below), even if they are the same across models?
Thank you!
- Code: Select all
Design
;alts(SQ1) = alt1*, alt2*, quo
;alts(SQ2) = alt1*, alt2*, quo
;alts(SQ3) = alt1*, alt2*, quo
;rows = 7
;eff = fish(mnl,d)
;fisher(fish) = des1(SQ1[0.33]) + des2(SQ2[0.33]) + des3(SQ3[0.34])
;alg = mfederov(candidates=1000)
;rdraws = gauss(3)
;rep = 500
;require:
SQ1.quo.fire = 0,
SQ1.quo.habitat = 1,
SQ1.quo.visibility = 1,
SQ1.quo.cost = 0,
SQ2.quo.fire = 0,
SQ2.quo.habitat = 0,
SQ2.quo.visibility = 0,
SQ2.quo.cost = 0,
SQ3.quo.fire = 0,
SQ3.quo.habitat = 0,
SQ3.quo.visibility = 1,
SQ3.quo.cost = 0,
alt1.cost <> 0,
alt2.cost <> 0
; reject:
alt1.habitat=0 and alt1.fire=2,
alt1.visibility=2 and alt1.fire=2,
alt2.habitat=0 and alt2.fire=2,
alt2.visibility=2 and alt2.fire=2
;model(SQ1):
U(alt1) = f.dummy[n, 1,1|n,0.5,1]*fire[0,1,2] +
h.dummy[n,-2,1|n,-0.5,1]*habitat[0,1,2] +
v.dummy[n,-1,1|n,-0.3,1]*visibility[0,1,2] +
c[-0.01]*cost[0,50,100,150,200,250]
/
U(alt2) = f*fire + h*habitat + v*visibility + c*cost
/
U(quo) = const[0]+f*fire + h*habitat + v*visibility + c*cost
;model(SQ2):
U(alt1) = f.dummy[n, 1,1|n,0.5,1]*fire[0,1,2] +
h.dummy[n,-2,1|n,-0.5,1]*habitat[0,1,2] +
v.dummy[n,-1,1|n,-0.3,1]*visibility[0,1,2] +
c[-0.01]*cost[0,50,100,150,200,250]
/
U(alt2) = f*fire + h*habitat + v*visibility + c*cost
/
U(quo) = const[0]+f*fire + h*habitat + v*visibility + c*cost
;model(SQ3):
U(alt1) = f.dummy[n, 1,1|n,0.5,1]*fire[0,1,2] +
h.dummy[n,-2,1|n,-0.5,1]*habitat[0,1,2] +
v.dummy[n,-1,1|n,-0.3,1]*visibility[0,1,2] +
c[-0.01]*cost[0,50,100,150,200,250]
/
U(alt2) = f*fire + h*habitat + v*visibility + c*cost
/
U(quo) = const[0]+f*fire + h*habitat + v*visibility + c*cost
$