Page 4 of 4

Re: Bayesian Priors from Pilot Study into Design

PostPosted: Sat Jan 27, 2024 9:51 am
by Michiel Bliemer
The script looks fine, but you need to use sobol draws as halton is not good if you have more than 5 Bayesian priors.

Ngene generates candidate sets for the modified Federov algorithm randomly. In this case, it tries to find 2000 choice tasks that satisfy your constraints. The require constraints seem to be the issue, not exactly sure why. In the script below I replaced three require constraints with a direct constraint in the utility function of Default. This script should immediately run without issues. In the new version of Ngene we are implementing a special command for status quo alternatives that no longer require constraints.

Code: Select all
Design
;alts = A*, B*, Default*
;rows = 24
;block= 4 ,minsum
;eff = (mnl, d)

;con
;alg = mfederov ?(candidates=1000)
    ;require:
    Default.rps = 0,
    Default.po = 0,
    Default.jo = 0
?;bdraws=sobol(2000)

   ;model:
    U(A) =     b1[.005]   * bev[4,50,82] ?continuous
               + b2.dummy[(n,.042, .037)|(n,.18, .043)|(n,.23, .046)|(n,.28, .079)|(n, .37,.064)] * rps[1,2,3,4,5,0] ?Dummy coded
               + b3[.044] * rpv[0,5,10,20] ?continuous
               + b4.dummy[(n,-.14, .044)|(n,.245, .044)]   * po[1,2,0] ?Dummy coded
               + b5.dummy[(n,.22, .018)|(n,-.33, .024)]  * jo[1,2,0] ?Dummy coded
               + b6[-.0144308]               * pr[0, 5, 15, 30, 50, 75] ?continuous
               + b7[.00161]               * bev*rps
               + b8[-.0013]               * rps*rpv
               /
    U(B)     = b1 * bev
               + b2 * rps
               + b3 * rpv
               + b4 * po
               + b5 * jo
               + b6 * pr
               + b7 * bev*rps
               + b8 * rps*rpv
               /
    U(Default) = b0[(n,-.69, .051)]
               + b1 * bev_d[4]
               + b2 * rps
               + b3 * rpv_d[0]
               + b4 * po
               + b5 * jo
               + b6 * pr_d[0]
               + b7 * bev*rps
               + b8 * rps*rpv
    $


Michiel

Re: Bayesian Priors from Pilot Study into Design

PostPosted: Sat Jan 27, 2024 1:58 pm
by jamalm
Thanks for the tip on using sobol draws when there're more than 5 Bayesian priors. I'm also glad to hear that the Ngene team is actively working on improving the software. For what it's worth, I prefer using NGene over SAS, R, or Stata to create DCE designs.

In your earlier comment, similar to what I had seen in the NGene manual, you mentioned the following:
D-errors are model-specific and cannot be compared across studies.
This makes sense to me. However, what doesn't make sense is that many papers report only a "one D-error" value without stating or comparing it against their design's initial D-error. What's the best practice for reporting such designs?
-Jamal

Re: Bayesian Priors from Pilot Study into Design

PostPosted: Sun Jan 28, 2024 11:38 am
by Michiel Bliemer
I do not report D-errors in my papers unless I am comparing different designs for the same model. Also reporting the initial D-error may not be useful since that initial D-error is a random design and is different each time to press run in Ngene. I usually just say something like "A D-efficient design was generated using informative priors from a pilot study where only main effects were taken into account".

It is the same as reporting the loglikelihood value in model estimation. It has no meaning on its own and is data-specific. It is only meaningful to compare different model estimations.

Michiel