Dear Statalist users,
250 moles (mole_id) of 200 patients (pat_id) were rated as benign/malign twice (one time without a special device (special_device==0) and after a period with an additional special device (special_device==1) by 5 different rater (1-5), two with a lot of experience (== 1) and three with less experience (== 0). Each mole was found to be benign or malign by biopsie (=reference standard).
The outcome was correct_rating (0/1), i.e. physicians rating equals reference standard.
The data is in long format (thus 250 x 2 x 5 = 2500 ratings).
I tried to use a mulilevel logistic regression model with three random intercepts to take into account the nested/paired design of the ratings.
Do you have any recommendation if there is a possibility to make Stata converge model 1?
Alternatively, other models that converges quite quickly are:
However, I do not know which alternative model is the best for the design. I would go with model no 3, as my favorite model no 1 does not converge.
What would you recommend?
Thanks for your opinion.
Best wishes, Martin
250 moles (mole_id) of 200 patients (pat_id) were rated as benign/malign twice (one time without a special device (special_device==0) and after a period with an additional special device (special_device==1) by 5 different rater (1-5), two with a lot of experience (== 1) and three with less experience (== 0). Each mole was found to be benign or malign by biopsie (=reference standard).
The outcome was correct_rating (0/1), i.e. physicians rating equals reference standard.
The data is in long format (thus 250 x 2 x 5 = 2500 ratings).
I tried to use a mulilevel logistic regression model with three random intercepts to take into account the nested/paired design of the ratings.
Code:
/// model no 1: melogit correct_rating i.special_device##i.experience ||pat_id: ||rater: ||mole_id:
Alternatively, other models that converges quite quickly are:
Code:
// model no 2: two random intercepts, ignoring the variable rating melogit correct_rating i.special_device##i.experience ||pat_id: ||mole_id: // model no 3: two random intercept and rater as covariable melogit correct_rating i.special_device##i.experience rater ||pat_id: ||mole_id: // model no 4: One random intercept for rater only melogit correct_rating i.special_device##i.experience rater ||rater:
What would you recommend?
Thanks for your opinion.
Best wishes, Martin
Code:
* Example generated by -dataex-. For more info, type help dataex clear input int(mole_id pat_id) byte(correct_rating rater experience special_device) 1 1 1 4 1 1 1 1 0 5 1 1 1 1 1 3 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 1 1 4 1 0 1 1 0 2 0 0 1 1 1 2 0 1 1 1 1 3 0 0 1 1 1 5 1 0 2 2 1 4 1 1 2 2 0 1 0 0 2 2 0 5 1 0 2 2 1 2 0 0 2 2 1 5 1 1 2 2 0 2 0 1 2 2 0 3 0 0 2 2 1 3 0 1 2 2 0 1 0 1 2 2 1 4 1 0 end label values correct_rating yes1no1_lab label def yes1no1_lab 0 "No", modify label def yes1no1_lab 1 "Yes", modify label values experience experience label def experience 0 "Inexperienced", modify label def experience 1 "Experienced", modify label values special_device software label def software 0 "Stand-alone", modify label def software 1 "AI assist", modify