Page 1 of 1

Labelled DCE_undefined d-error

PostPosted: Fri May 24, 2019 9:39 pm
by lindami
Dear Ngene Team and Users,

I am designing my first DCE. After following Michiel suggestions, which were really helpful, viewtopic.php?f=4&t=529, I redesigned the DCE as follows:

Design
;alts = A, B
;rows = 12
;eff = (mnl, d)
;alg = mfederov
;require:
A.damage>1, A.fung=1, A.ev=2, B.damage<=1, B.fung<=1, B.ev<=1

;model:
U(A) =
b0
+ b1 [0.0001]* price [775, 875, 975, 1075]
+ b2 [0.0001]* mkt [274, 312, 350, 388]
+ b3 [0.0001]* damage [0, 1, 2]
+ b4 [0.0001]* fung [0, 1]
+ b5 [0.0001]* ev [0, 1, 2]/

U(B) =
b1*price
+ b2*mkt
+ c3[0.0001]*damage
+ c4[0.0001]*fung
+ c5[0.0001]*ev
$

It runs, but I kindly ask you if you could confirm that it is correct. Moreover, I have further doubts:
- the d-error is 'undefined'. Is it because of the algorithm or because the design is quite complex and should it run more?
- how can I understand which is the best sample size?
Thank you for your help!
Best Regards,
LF

Re: Labelled DCE_undefined d-error

PostPosted: Mon May 27, 2019 11:17 am
by Michiel Bliemer
1. Not all your coefficients are identifiable; b3, b4 and b5 cannot be estimated since A.damage = 2, A.fung = 1 and A.ev = 2, meaning that you always have b3*2, b4*1 and b5*2, essentially adding three constants to your utility function. You should either use generic coefficients for alternatives A and B or you should use variations in fung and ev.

2. Sample sizes are case specific and an indication can be given by using sufficiently trustworthy parameter priors, e.g. that come from a pilot study. Ngene reports S-estimates that give you sample sizes for each parameter such that this coefficient becomes significant at estimation at the 95% level (assuming that the priors coincide with the true parameters). Without reasonable priors (in your case your priors are simply set to 0.0001) it is not possible to calculate predicted sample sizes.

Michiel

Re: Labelled DCE_undefined d-error

PostPosted: Wed May 29, 2019 12:13 am
by lindami
Dear Michiel,
thank you for your suggestions and comments. I must add further constraints on my model:
Design
;alts = A, B
;rows = 12
;eff = (mnl, d)
;alg = mfederov (candidates=50)
;require:
A.damage>1, A.fung=1, A.ev=2, B.damage<=1, B.fung<=1, B.ev<=1
;reject:
B.damage=0 and B.ev=1,
B.damage=1 and B.ev=0,
B.damage=0 and B.fung=1,
B.damage=1 and B.fung=0
;model:
U(A) =
b0
+ b1 [0.0001]* price [775, 875, 975, 1075]
+ b2 [0.0001]* mkt [274, 312, 350, 388]
+ b3 [0.0001]* damage [0, 1, 2]
+ b4 [0.0001]* fung [0, 1]
+ b5 [0.0001]* ev [0, 1, 2]/

U(B) =
b1*price
+ b2*mkt
+ b3[0.0001]*damage
+ b4[0.0001]*fung
+ b5[0.0001]*ev
$

By adding so many constraints, the d-error is still undefined. I have many doubts right now. Do you think that does it make sense having so many constraints in a choice experiments?
Thank you in advance,
LF

Re: Labelled DCE_undefined d-error

PostPosted: Wed May 29, 2019 9:13 am
by Michiel Bliemer
If the model can no longer be estimated because too many constraints are imposed, then clearly that is an issue since your data collection will not be useful.

Here is how you can investigate what is going on. Running the syntax below provides you with all feasible choice tasks, in total 512:

Code: Select all
Design
;alts = A, B
;rows = all
;fact
;require:
A.damage>1, A.fung=1, A.ev=2, B.damage<=1, B.fung<=1, B.ev<=1
;reject:
B.damage=0 and B.ev=1,
B.damage=1 and B.ev=0,
B.damage=0 and B.fung=1,
B.damage=1 and B.fung=0
;model:
U(A) =
b0
+ b1 [0.0001]* price [775, 875, 975, 1075]
+ b2 [0.0001]* mkt [274, 312, 350, 388]
+ b3 [0.0001]* damage [0, 1, 2]
+ b4 [0.0001]* fung [0, 1]
+ b5 [0.0001]* ev [0, 1, 2]/

U(B) =
b1*price
+ b2*mkt
+ b3[0.0001]*damage
+ b4[0.0001]*fung
+ b5[0.0001]*ev
$


What you will see in the list of 512 choice tasks is that a.damage = a.fung = a.ev and b.damage = b.fung = b.ev. In other words many attributes are perfectly correlated and the model will not be able to distinguish between these attributes in model estimation. You will only be able to estimate one coefficient for damage, fund, and ev.

You should only add constraints that are absolutely necessary. If all your constraints are absolutely necessary then you will have to rethink your study since it will not be possible to estimate a model based on your current settings.

Michiel