Patient profile

This forum is for posts that specifically focus on Ngene.

Moderators: Andrew Collins, Michiel Bliemer, johnr

Re: Patient profile

Postby annrat » Fri Aug 13, 2021 9:49 am

Dear Michiel,

Thanks for your response and input. I hope you're staying safe, happy and sane during the lockdown.

Regarding the research question, the DCE is to elicit clinicians preferences for adjuvant immunotherapy. However, attributes include risk of melanoma recurrence, drug toxicities and patient OOP costs, etc.
With the clinicians DCE, the point is to understand if patient factors such as age (not the respondents (clinician) age) and the presence of comorbidities influence decisions.
Therefore, it would be preferable if the patient age levels could be continuous as presumably, I could report the results for each year of increasing patient age, the preference for the drug was xx?
If this is not possible and levels must be numerical or categorical, do you have an opinion on whether ages levels such as 20, 40, 60, 80 or categorical values are better, i.e. 18-39, 40-59, 60-79, 80 +?

Regarding your example about interactions, e.g. beta * recura * age, to test for differences in preferences wrt individual attributes, such as recura that may vary with age, I need to do this as for the whole choice set, not just each level. Is this possible?

Thanks, Ann
annrat
 
Posts: 14
Joined: Wed Feb 17, 2021 7:18 am

Re: Patient profile

Postby Michiel Bliemer » Fri Aug 13, 2021 11:48 pm

Whether a numerical or categorical variable is preferred depends on the study objectives (e.g., do you want to compute elasticities), on the expected influence of the variable (how nonlinear is the effect), and how you would like to report the results.

Using age as a categorical variable has the following disadvantages:
* it increases the number of parameters, especially when interacting age with other attributes
* computing and interpreting elasticities becomes somewhat more difficult
* presenting respondents with an age range (e.g. 18-39) may introduce noise if the respondent would make different choices for ages 20 and 30; it would be unknown which age the respondent had in mind when making the choice

Using age as a numerical variable has the following disadvantages:
* it cannot easily account for highly nonlinear effects (e.g., drug choice high for 30 year old, drug choice low for 50 year old, drug choice high for 70 year old) although you can use nonlinear transformations of a numerical variable
* in forecasting you would get different drug choice shares for each age (18, 19, 20, ..., 39) instead of simply reporting them for a limited number of age categories

If you want to interact age with the attributes then you likely want to include age as a numerical variable as I have done in the syntax below. You can also interact comor with the attributes. Maybe not all interaction effects are of interest so you could choose which ones to include.

Code: Select all
Design
;alts=drug,nodrug
;rows=72
;eff=(mnl,d)
;block=6
;cond:
if(drug.rega=4, drug.costa=[750,1500]),
if(drug.recura=50, nodrug.recurb=[56,62])
;model:
U(drug)   = age[-0.02]     * agea[20,30,40,50,60,70] ? scenario effect, describes impact of age on choice for drug
          + comor[-0.2]    * comora[0,1]             ? scenario effect, describes effect of comor on choice for drug
          + reg[0.3]       * rega[3,4]               ? main effect
          + recur[-0.1]    * recura[36,42,50]        ? main effect
          + mild[-0.05]    * milda[1,12,37]          ? main effect
          + perm[-0.1]     * perma[1,10,14]          ? main effect
          + fatal[-0.2]    * fatala[0,1,3]           ? main effect
          + cost[-0.0001]  * costa[750,1500,6000]    ? main effect
          + reg_age[0]     * rega * agea             ? interaction effect, describes impact of age on the importance of attribute reg in the choice for drug
          + recur_age[0]   * recura * agea           ? interaction effect, describes impact of age on the importance of attribute recur in the choice for drug
          + mild_age[0]    * milda * agea            ? interaction effect, describes impact of age on the importance of attribute mild in the choice for drug
          + perm_age[0]    * perma * agea            ? interaction effect, describes impact of age on the importance of attribute perm in the choice for drug
          + fatal_age[0]   * fatala * agea           ? interaction effect, describes impact of age on the importance of attribute fatal in the choice for drug
          + cost_age[0]    * costa * agea            ? interaction effect, describes impact of age on the importance of attribute cost in the choice for drug
          + reg_comor[0]   * rega * comora           ? interaction effect, describes impact of comor on the importance of attribute reg in the choice for drug
          + recur_comor[0] * recura * comora         ? interaction effect, describes impact of comor on the importance of attribute recur in the choice for drug
          + mild_comor[0]  * milda * comora          ? interaction effect, describes impact of comor on the importance of attribute mild in the choice for drug
          + perm_comor[0]  * perma * comora          ? interaction effect, describes impact of comor on the importance of attribute perm in the choice for drug
          + fatal_comor[0] * fatala * comora         ? interaction effect, describes impact of comor on the importance of attribute fatal in the choice for drug
          + cost_comor[0]  * costa * comora          ? interaction effect, describes impact of comor on the importance of attribute cost in the choice for drug
          /
U(nodrug) = ascb[-0.3]                               ? alternative-specific constant
          + recur          * recurb[50,56,62]        ? main effect
$


If you are not interested in interaction effects or elasticities and you want to report results by age category, then you could include age as a categorical variable, see example below.

Code: Select all
Design
;alts=drug,nodrug
;rows=72
;eff=(mnl,d)
;block=6
;cond:
if(drug.rega=4, drug.costa=[750,1500]),
if(drug.recura=50, nodrug.recurb=[56,62])
;model:
U(drug)   = age.dummy[-0.4|-0.8] * agea[1,2,0]            ? 0 = 18-39 (base), 1 = 40-59, 2 = 60+
          + comor[-0.2]          * comora[0,1]             
          + reg[0.3]             * rega[3,4]               
          + recur[-0.1]          * recura[36,42,50]       
          + mild[-0.05]          * milda[1,12,37]         
          + perm[-0.1]           * perma[1,10,14]         
          + fatal[-0.2]          * fatala[0,1,3]           
          + cost[-0.0001]        * costa[750,1500,6000]   
          /
U(nodrug) = ascb[-0.3]                             
          + recur                * recurb[50,56,62]
$


Please make sure that you choose appropriate priors, preferably from a pilot study. With your current priors, the choice share for drug is on average 40% over all choice tasks, so the majority is expected to select no drug. If that is not what you would expect then you need to update your priors.

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

Re: Patient profile

Postby annrat » Wed Aug 18, 2021 12:53 pm

Dear, Michiel,

I hope you're staying safe, sane and healthy. Thank you so much for your input and extensive response very late on Friday night :)

I anticipate that medical oncologists preference will be to select drug versus no drug.
As such, the AScB value is - 0.3. I understood this meant that the preference was likely for drug (AltA) over no drug (AltB)? (30% less likely to choose no drug versus drug)

Could you please confirm what you meant by your comment below?
"Please make sure that you choose appropriate priors, preferably from a pilot study. With your current priors, the choice share for drug is on average 40% over all choice tasks, so the majority is expected to select no drug. If that is not what you would expect then you need to update your priors."

I assume that if more age categories are required for example 4 instead of 3, e.g. agea[1,2,3,0] 0 = 18-39 (base), 1 = 40-59, 2 = 60-79, 3 = 80+
I would then need to add another prior for the additional age category i.e. age.dummy[-0.4|-0.8|-0.9]

Thanks and kind regards,
Ann
annrat
 
Posts: 14
Joined: Wed Feb 17, 2021 7:18 am

Re: Patient profile

Postby Michiel Bliemer » Wed Aug 18, 2021 1:33 pm

Your interpretation of the constant is only correct if all alternatives have the same attributes. This is not the case in your study. Most other attributes in "drug" contribute a negative utility, i.e. age, comor, recur, mild, perm, fatal, and cost, which means that the utility of drug becomes quite negative. Your value of -0.3 for nodrug therefore is not negative enough. If you generate the design and you open the design and investigate the probabilities (under MNL properties, probabilities), Ngene will tell you what the expected choice probabilities are with the provided priors. It seems that you have chosen these priors manually, I only chose priors based on a pilot study and otherwise set them to zero. If you feel confident that your priors are set correctly then that is fine, I cannot tell you what these priors need to be.

Yes if you add extra categories for age you need to add another dummy coded coefficient.

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

Re: Patient profile

Postby annrat » Wed Aug 18, 2021 3:36 pm

Thank you, Michiel, for the information regarding the MNL properties and probabilities.
I assume these probabilities (the first 10 of the 72 below) are the chance of respondents choosing drug or no drug for each choice set?

MNL probabilities
Choice drug nodrug
1 0.871588 0.128412
2 0.942534 0.057466
3 0.731675 0.268325
4 0.49892 0.50108
5 0.683261 0.316739
6 0.959278 0.040722
7 0.972314 0.027686
8 0.962701 0.037299
9 0.936171 0.063829
10 0.660658 0.339342

Thank you for the reminder about the priors. I used priors generated from the pilot study for the patient DCE, and I plan to do the same for the clinician DCE or set it to zero as you suggested.

Kind regards,
Ann :)
annrat
 
Posts: 14
Joined: Wed Feb 17, 2021 7:18 am

Re: Patient profile

Postby Michiel Bliemer » Wed Aug 18, 2021 4:31 pm

Yes exactly, those are the choice probabilities that I looked at.
Michiel Bliemer
 
Posts: 1705
Joined: Tue Mar 31, 2009 4:13 pm

Re: Patient profile

Postby annrat » Thu Aug 19, 2021 8:19 am

Thanks, Michiel enjoy your day and I wish you a relaxing weekend.
Kind regards,
Ann
annrat
 
Posts: 14
Joined: Wed Feb 17, 2021 7:18 am

Re: Patient profile

Postby kkavta » Fri Nov 17, 2023 11:32 pm

Dear Prof. Michiel,

Thank you for clearly explaining the advantages and disadvantages of considering a variable numerical vis-a-vis categorical. I have a few questions about treatment of percentage values in design phase as well as modelling.

In my current design, I've treated the variable 'risk reduction' as continuous by converting percentage values into their logarithmic counterparts (e.g., 20% risk reduction becomes ln(20) = 2.99). The primary aim is to estimate the Value of accident risk reduction (VRR) and subsequently utilize it for forecasting purposes. VRR denotes the additional distance an individual is willing to travel in order to mitigate the risk of accidents.

I have a couple of queries pertaining to this approach:

1. Is it mathematically correct to regard percentage values as a continuous variable and perform a logarithmic transformation in SP design? (e.g., 20% risk reduction - ln(20))
2. I'm uncertain about how the conventional VRR equation alters in this scenario, where one variable is log-transformed percentage values of risk, and the other is continuous 'travel time.' What would be the unit of measurement for VRR (e.g., kilometers per 1% reduction in accident risk)? Additionally, could you recommend any papers or studies from your repertoire that tackle a similar case?

Thank you,
Kuldeep
kkavta
 
Posts: 4
Joined: Mon Sep 11, 2023 6:28 pm

Re: Patient profile

Postby Michiel Bliemer » Fri Nov 24, 2023 4:19 am

Sorry for the late response, I am currently travelling.

1. Percentages can be considered numerical variables and so a log transform is fine. You can indeed use ln(20) = 2.99 as an attribute level in Ngene if you expect that you will use the log transform in your utility function during model estimation.

2. Your VRR seems to be a marginal rate of substitution, so you will need to use the formal definition: MRS = (dV/dx) / (dV/dy), which is the ratio of the marginal utility of attribute x and the marginal utility of attribute y. If V = b1*ln(x) + b2*y then dV/dx = b1/x (change in utility due to increase/decrease in accident risk percentage) and dV/dy = b2 (change in utility per increase/decrease in travel time). In other words, your MRS = b1/b2*(1/x) depends on the level of x. So would the unit then be the accepted increase in travel time for a decrease of 1% in accident risk? I find it difficult to say what the exact unit of measurement is, but hopefully this gives you some clues. I do not know any papers on the top of my mind that discuss VRR or something similar, but I guess they do exist.

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

Previous

Return to Choice experiments - Ngene

Who is online

Users browsing this forum: Google [Bot] and 9 guests