Page 1 of 1

Choice sets with exponential and interaction terms

PostPosted: Mon Apr 01, 2024 9:13 pm
by 794751
Dear Moderators,

I am a PhD student and I am designing my first DCE. I am facing challenges to generate choice sets, particularly due to the incorporation of an exponential term and interaction terms within my utility function. The function is specified as follows: V = asc + b1*morb * exp(-b3*delay) + b2*mort * exp(-b3*delay) + b4*cost

I've included my current syntax below, which, unfortunately, is not working as expected:

Design
;alts = alt1, alt2, alt3
;rows = 48
;eff = (mnl,d)
;model:
U(Alt1) =
b1[0.013]* morb[25, 50, 100]*exp(-(b3[0.102]) * delay[0, 2, 5, 10])+
b2[0.018]* mort[25, 50, 75] *exp(-(b3[0.102]) * delay[0, 2, 5, 10])+
b4[-0.0009]* cost[200, 500, 1000, 2000]
/
U(Alt2) =
b1[0.013]* morb[25, 50, 100]*exp(-(b3[0.102]) * delay[0, 2, 5, 10])+
b2[0.018]* mort[25, 50, 75] *exp(-(b3[0.102]) * delay[0, 2, 5, 10])+
b4[-0.0009]* cost[200, 500, 1000, 2000]

$

I would be immensely grateful for any insights or suggestions you might have on correcting the syntax or methodology to generate choice sets accurately.

Thank you for your time and assistance.


Best regards,
Yanying

Re: Choice sets with exponential and interaction terms

PostPosted: Sun Apr 07, 2024 4:16 am
by Michiel Bliemer
Ngene does not understand functions such as "exp" in the utility function. Further, Ngene can only generate experimental designs for utility functions that are linear in the parameters, which is by far the most common assumption as this guarantees unique parameter estimates in the multinomial logit model.

For example, instead of b1 * exp(delay[0,2,5,10]) you could use b1 * delay_exp[1,7.39,147.41,22025.47] where levels x become exp(x) when you estimate the model, even though you show levels 0,2,5,10 to respondents. Note that exp(10) is extremely large, even if you multiply with 0.102, so this will become an issue in your model. Your specification b1 * morb * exp(b3 * delay) is not linear in the parameters so Ngene cannot optimise a design for this. I am not aware of any available software that can generate an efficient design for this type of utility functions, but you could implement an optimisation procedure yourself in R, Python, or Matlab where you first take the second derivatives of your specific utility function and compute the D-error for a given design. This is certainly doable but requires mathematical and programming skills.

Michiel

Re: Choice sets with exponential and interaction terms

PostPosted: Wed Apr 10, 2024 5:26 am
by 794751
Thank you for your answer and suggestion! This is really helpful.