Determine an efficient design on the fly

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

Moderators: Andrew Collins, Michiel Bliemer, johnr

Determine an efficient design on the fly

Postby jshr » Thu Oct 18, 2018 2:40 pm

Hi

I would like to design a experiment with 2 unlabeled alternatives + status quo, where the attribute levels in SQ will be determined by respondents choices. First, I am thinking about what is the correct way to generate such a design. I don't think the pivot design discussed in section 8.3.2 in the manual is the solution (they are for approach (a) and (b) on page 148, if I understand correctly). A straightforward way doing this could be generating multiple (sub)designs with different status quo. Is this theoretically correct? If so, then how can we access the efficiency of the design as a whole?

Second, if the above strategy is appropriate, I have the following for generating a (sub)design (with a particular status quo)

Code: Select all
Design
;alts = alt1*, alt2*, quo
;rows = 8
;eff=(rppanel,d)
;alg = mfederov(candidates=10000)
; require:
quo.fire = 0, quo.habitat = 0, quo.visibility = 0, 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:
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,100, 200, 300]
/
U(alt2) = f*fire + h*habitat + v*visibility + c*cost
/
U(quo) =  const[0]+f*fire + h*habitat + v*visibility + c*cost

$


And I got the message saying "Error: There were problems generating a fractional factorial of choice tasks. For the modified federov algorithm, increasing the number of candidates might assist." I tried to increase the number of candidates, but this seems not working. Any suggestion?

Thank you,
Jimmy
jshr
 
Posts: 6
Joined: Tue Oct 16, 2018 1:43 pm

Re: Determine an efficient design on the fly

Postby Michiel Bliemer » Fri Oct 19, 2018 10:46 am

You can create a heterogeneous design, e.g. three designs for three different status quo levels, and then optimise for the joint efficiency using a syntax that looks as follows:

Design
;alts(SQ1) = alt1*, alt2*, quo
;alts(SQ2) = alt1*, alt2*, quo
;alts(SQ3) = alt1*, alt2*, quo
;rows = 8
;eff = fish(mnl,d)
;fisher(fish) = des1(SQ1[0.33]) + des2(SQ2[0.33]) + des3(SQ3[0.34])
;model(SQ1):
...
;model(SQ3):
...
;model(SQ3):
...
$

You will have to make assumptions regarding the proportions of SQ levels that you except to be reported by the respondents, in this syntax I have simply assumed 33%, 33%, and 34%.

I will answer the question on the syntax in a separate response below.

Please note for future reference that questions regarding Ngene syntax should be posted in the Ngene forum, this forum is for more general questions regarding stated choice experiments.

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

Re: Determine an efficient design on the fly

Postby Michiel Bliemer » Fri Oct 19, 2018 10:52 am

The issue with the syntax was that you were actually using a too large candidate set. Given the constraints you added, including the dominance checks, there do not exist 10,000 feasible choice tasks. Reducing it works.

I made a few other changes. I changed rppanel to mnl because it is almost impossible to optimise for rppanel. Designs optimised for MNL tend to also be efficient for panel RP models. Once you open the design, you can EVALUATE the efficiency of the design for the RPPANEL model. Note that such an evaluation takes a little bit of time so when you tick the box to inspect the RPPANEL model you need to be patient.

I added ;rdraws = gauss(3) and ;rep = 500 such that the RPPANEL evaluation is appropriate.

Code: Select all
Design
;alts = alt1*, alt2*, quo
;rows = 8
;eff=(mnl,d)
;alg = mfederov(candidates=1000)
;rdraws = gauss(3)
;rep = 500
;require:
quo.fire = 0, quo.habitat = 0, quo.visibility = 0, 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:
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,100, 200, 300] /
U(alt2) = f*fire + h*habitat + v*visibility + c*cost /
U(quo) =  const[0]+f*fire + h*habitat + v*visibility + c*cost
$


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

Re: Determine an efficient design on the fly

Postby jshr » Fri Oct 19, 2018 1:45 pm

Thank you so much Michiel. I will post the questions regarding syntax on NGENE board.
jshr
 
Posts: 6
Joined: Tue Oct 16, 2018 1:43 pm


Return to Choice experiments - general

Who is online

Users browsing this forum: No registered users and 2 guests