Hunt for a d-efficient design

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Hunt for a d-efficient design

Postby akram » Mon Jun 15, 2020 9:59 pm

Hi everybody,

I have a question regarding creating a labelled DCE design and I couldn’t find an answer in a previous question on the Ngene forum. For my research I want to investigate patients' preferences for conventional or Ayurvedic medicines for the treatment of diabetes and investigate what factors could affect patients' preferences.

In a labelled d-efficient design, which will have 3 alternatives where the last alternative would be a no-choice alternative. There were 8 attributes (7 of them have 3 levels and 1 attribute has 2 levels). We will be giving 8 choice tasks to each participant and block the design into 4 versions (for 32 tasks). Negative signs in the values indicate that the particular attribute will negatively contribute to the utilisation of the given alternative. For example, side-effects will decrease the utility of the medication (both conventional and alternative).
Here is my Ngene syntax for your perusal. The syntax error is popping up.
Any help would be appreciated.

design
;alts= Con, Alt, Neither
;rows=32
;block = 4
;eff=(mnl,d)
;alg = mfederov
;require:
Neither.SIDEEFFECTS=0,
Neither.HAEMOGLOBIN=0,
Neither.HYPOGLYCAEMIA=0,
Neither.WEIGHT=0,
;model:
U(Con)=b_0[0] + b sideeffects.dummy[-0.001|-0.002]*SIDEEFFECTS[1,2,0] +b haemoglobin.dummy[0.001|0.002]*HAEMOGLOBIN[1,2,0] + b frequency.dummy[-0.001|-0.002]*FREQUENCY[1,2,0] + b formulation.dummy[0.001|0.002]*FORMULATION[1,2,0] + b_food.dummy[0.001]*FOOD[1,0] + b_hypoglycaemia.dummy[-0.001|-0.002]*HYPOGLYCAEMIA[1,2,0] + b_weight.dummy[-0.001|-0.002]*WEIGHT[1,2,0] + b_cost.dummy[-0.001|-0.002]*COST[1,2,0] /

U(Alt)=b_1[0] + b_sideeffects*SIDEEFFECTS + b haemoglobin*HAEMOGLOBIN + b_frequency*FREQUENCY + b formulation*FORMULATION + b_food*FOOD + b_hypoglycaemia*HYPOGLYCAEMIA + b_weight*WEIGHT + b_cost*COST /

U(Neither)=b_2[0]+b_sideeffects*SIDEEFFECTS + b_haemoglobin*HAEMOGLOBIN + b hypoglycaemia*HYPOGLYCAEMIA + b weight*WEIGHT
$
akram
 
Posts: 1
Joined: Mon Jun 01, 2020 9:23 pm

Re: Hunt for a d-efficient design

Postby Michiel Bliemer » Tue Jun 16, 2020 11:52 am

There were a few issues with your syntax:
* You should not use spaces in parameter names
* There was a comma after the last constraint that needed to be removed
* You specified 3 constants, whereas you can only estimate 2 constants in your utilty functions, so I removed the constant for Neither

I fixed these issues, the syntax below works.

Code: Select all
design
;alts = Con, Alt, Neither
;rows = 32
;block = 4
;eff =(mnl,d)
;alg = mfederov
;require:
Neither.SIDEEFFECTS=0,
Neither.HAEMOGLOBIN=0,
Neither.HYPOGLYCAEMIA=0,
Neither.WEIGHT=0
;model:
U(Con)     = b_0[0]
           + b_sideeffects.dummy[-0.001|-0.002]          * SIDEEFFECTS[1,2,0]
           + b_haemoglobin.dummy[0.001|0.002]            * HAEMOGLOBIN[1,2,0]
           + b_frequency.dummy[-0.001|-0.002]            * FREQUENCY[1,2,0]
           + b_formulation.dummy[0.001|0.002]            * FORMULATION[1,2,0]
           + b_food.dummy[0.001]                         * FOOD[1,0]
           + b_hypoglycaemia.dummy[-0.001|-0.002]        * HYPOGLYCAEMIA[1,2,0]
           + b_weight.dummy[-0.001|-0.002]               * WEIGHT[1,2,0]
           + b_cost.dummy[-0.001|-0.002]                 * COST[1,2,0]
           /
U(Alt)     = b_1[0]
           + b_sideeffects                               * SIDEEFFECTS
           + b_haemoglobin                               * HAEMOGLOBIN
           + b_frequency                                 * FREQUENCY
           + b_formulation                               * FORMULATION
           + b_food                                      * FOOD
           + b_hypoglycaemia                             * HYPOGLYCAEMIA
           + b_weight                                    * WEIGHT
           + b_cost                                      * COST
           /
U(Neither) = b_sideeffects                               * SIDEEFFECTS
           + b_haemoglobin                               * HAEMOGLOBIN
           + b_hypoglycaemia                             * HYPOGLYCAEMIA
           + b_weight                                    * WEIGHT
$


Please check your Neither alternative, it is currently specified as a status quo alternative with attribute levels (although some attributes are omitted, e.g. what is its cost? if zero, you can set it to zero). An opt-out alternative has no levels, see below, where Neither has no utility function, which means U(Neither) = 0. If the Con and Alt alternatives describe improvements or sideeffects relative to doing nothing, you should specify these attribute levels relative to the optoute.g. "conditions do not improve", "conditions somewhat improve", "conditions significantly improve", all relative to the opt-out (do nothing) alternative.

Code: Select all
design
;alts = Con, Alt, Neither
;rows = 32
;block = 4
;eff =(mnl,d)
;alg = mfederov
;model:
U(Con)     = b_0[0]
           + b_sideeffects.dummy[-0.001|-0.002]          * SIDEEFFECTS[1,2,0]
           + b_haemoglobin.dummy[0.001|0.002]            * HAEMOGLOBIN[1,2,0]
           + b_frequency.dummy[-0.001|-0.002]            * FREQUENCY[1,2,0]
           + b_formulation.dummy[0.001|0.002]            * FORMULATION[1,2,0]
           + b_food.dummy[0.001]                         * FOOD[1,0]
           + b_hypoglycaemia.dummy[-0.001|-0.002]        * HYPOGLYCAEMIA[1,2,0]
           + b_weight.dummy[-0.001|-0.002]               * WEIGHT[1,2,0]
           + b_cost.dummy[-0.001|-0.002]                 * COST[1,2,0]
           /
U(Alt)     = b_1[0]
           + b_sideeffects                               * SIDEEFFECTS
           + b_haemoglobin                               * HAEMOGLOBIN
           + b_frequency                                 * FREQUENCY
           + b_formulation                               * FORMULATION
           + b_food                                      * FOOD
           + b_hypoglycaemia                             * HYPOGLYCAEMIA
           + b_weight                                    * WEIGHT
           + b_cost                                      * COST
$


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


Return to Ngene

Who is online

Users browsing this forum: Bing [Bot] and 5 guests

cron