Bayesian priors

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

Moderators: Andrew Collins, Michiel Bliemer, johnr

Re: Bayesian priors

Postby Michiel Bliemer » Fri Mar 29, 2019 9:49 am

This happens for two reasons:

1) Your prior for price relatively small, therefore according to your priors the price does not matter much
2) Using the mfederov algorithm does not maintain attribute level balance. Since price is added as a linear effect (not using dummy coding), it is more efficient to mostly use the extreme levels, i.e. 20 and 228, because this will give you the largest trade-offs.

This can easily be resolved by adding attribute level constraints, e.g. WTRPRI[...](1-3,1-3,1-3,1-3,1-3,1-3), which means that each attribute level needs to appear between 1 and 3 times. This gives you additional control over the levels that appear.

I made some modifications to your syntax to allow for this, I introduced a WTRPRIsq and PRDURsq variable, which also means you can remove some constraints.

Code: Select all
Design
;alts = alt1*, alt2*, sq
;rows = 12
;eff = (mnl,d,mean)
; alg = mfederov(stop = total(10000000 iterations))
;require:
sq.ALOM = 0, sq.IRGM = 0, sq.POLUNCER = 0
;bdraws = gauss(1)
;model:
U(alt1) = b2[(n,0.209265,0.0086001)] * PRDUR[2,5,1] + 
          b3.dummy[(n,0.199165,0.0108026)] * ALOM[1,0] +
          b4.dummy [(n,-0.361222,0.007969)] * IRGM[1,0] +
          b5.dummy [(n,0.395512527,0.01824397)|(n, 0.476775789,0.02880091)] * POLUNCER[1,2,0] +
          b6[(n,-0.0018, 0.0038606)] * WTRPRI[20,38,76,114,152,228](1-3,1-3,1-3,1-3,1-3,1-3) /
U(alt2) = b2 * PRDUR + b3 * ALOM + b4 * IRGM + b5 * POLUNCER + b6 * WTRPRI /
U(sq) = b7[0] + b2 * PRDURsq[1] + b3 * ALOM + b4 * IRGM + b5 * POLUNCER + b6 * WTRPRIsq[38]
$
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm

Re: Bayesian priors

Postby teferak@ymail.com » Sun Mar 31, 2019 12:15 am

Dear prof Michiel,

thank you very much it is really helpful.
teferak@ymail.com
 
Posts: 10
Joined: Wed Nov 14, 2018 12:15 am

Re: Bayesian priors

Postby johnr » Mon Apr 01, 2019 11:29 am

Most often than not, the most efficient design will be an end point design (that is, a design that only uses the two extreme levels of an attribute - it excludes the middle levels). One of the strengths of the modified Federov algorithm is that it does not enforce attribute level balance, which is also one of its weakness as you see here. Because it doesn't enforce attribute level balance, it is finding that an end point design is more optimal than one that uses the middle level (which is good - you know the software is working). As discussed on P138 of the manual, you can force the software to use all the levels. In your case you need to add something like

WTRPRI[20,38,76,114,152,228](2,2,2,2,2,2)

which means each level will appear exactly twice in a column.

You can add similar restrictions to the other attributes such as

U(alt1) = b2[(n,0.209265,0.0086001)] * PRDUR[2,5,1](4,4,4)
+ b3 .dummy[(n,0.199165,0.0108026)] * ALOM[1,0](6,6)
+ b4 .dummy [(n,-0.361222,0.007969)]* IRGM[1,0](6,6)
+ b5 .dummy [(n,0.395512527,0.01824397)|(n, 0.476775789,0.02880091)] * POLUNCER[1,2,0](4,4,4)
+ b6[(n,-0.0018, 0.0038606)] * WTRPRI[20,38,76,114,152,228](2,2,2,2,2,2) /

It may not work exactly, but it will try to enforce the restrictions as best it can.

John
johnr
 
Posts: 168
Joined: Fri Mar 13, 2009 7:15 am

Previous

Return to Choice experiments - general

Who is online

Users browsing this forum: No registered users and 4 guests