Page 1 of 1

Ordinal logit (non-proportional odds) - within-between

Posted: Mon Sep 14, 2020 11:23 am
by SabineKatzdobler
Good day,

I am rather new to MLwiN within stata15 and want to specify an ordinal logit model (involving non-proportional odds) by using a within-between random effects specification. During the last days, I have already tried out different options: Manually deleted observations with missing values,
involved a variable including a seqence from 1 to the length of the dataset, left without „no pause“-option run overnight and changed between igls / rigls

However, I did not get any output for my command:

. quietly runmlwin LookNwPositn cons Boomer dAge dTenure dExp_ein dSatisfaction Gender Age_avg Tenure_avg Exp_ein_avg Satisfaction_avg syear, level2(pid: cons) level1( ob_id ) discrete(dist(multinomial) link(ologit) denom(cons) basecategory(0)) nopause rigls

Do you have some adivce?

Kind regards,

Sabine

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Mon Sep 14, 2020 12:10 pm
by ChrisCharlton
Just to eliminate the possibly of a simple mistake can you confirm that you have tried running the model without the quietly prefix, as this will suppress any output from the command?

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Mon Sep 14, 2020 1:01 pm
by SabineKatzdobler
Good day,

thanks for your fast support. Yes, I have already excluded the "quietly"-element before. This lead me to the error message "V gone -ve definite for block 0 iteration aborted". Since I already dropped missing data, I find myself moving in a circle. If you don´t mind we can Skype to show you the datafile.

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Mon Sep 14, 2020 1:46 pm
by ChrisCharlton
If it's a data-specific problem then you would probably be better off talking to George. General advice that we give for this kind of error would be to either try with a different base category (often the largest) or to build up to the desired model via a series of simpler ones using the initsprevious option.

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Tue Sep 15, 2020 9:06 am
by SabineKatzdobler
I tried that out - however - without - success. In particular, stata says that "option inisprevious not allowed". What can I do to run this special option?

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Tue Sep 15, 2020 9:13 am
by ChrisCharlton
I think that you have a small typo there (missing the t in "inits"). This option uses the model results from the previously run model as starting values for the model being fitted, so you would also need to run the simpler model first (and check that this fits correctly). Alternatively you could manually specify all the starting values (see MCMC manual chapter 5 on https://www.bristol.ac.uk/cmm/software/ ... /examples/), but then you would need an idea of what the parameter estimates should be.

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Tue Sep 15, 2020 9:39 am
by SabineKatzdobler
Thanks for the helpful correction regarding the typo. I ran the simple model - xtologit LookNwPositn cons as well as ologit LookNwPositn cons - and directely after that runmlwin including initsprevious. However, stata then says "The initsprevious option is invalid: No parameters in the previous model match those specified in the current model". What can I do in case of ordered logistic regression (involving non-proportional odds)?

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Tue Sep 15, 2020 11:20 am
by ChrisCharlton
Sorry for the confusion. The previous model being used also has to be fitted with runmlwin. It will then match common parameter names and use the values associated with these as the starting values.

You might therefore start with the simplest 1-level model:

Code: Select all

runmlwin LookNwPositn cons, level1( ob_id ) discrete(dist(multinomial) link(ologit) denom(cons) basecategory(0)) nopause
Move to a 2-level version:

Code: Select all

runmlwin LookNwPositn cons, level2(pid: cons) level1( ob_id ) discrete(dist(multinomial) link(ologit) denom(cons) basecategory(0)) initsprevious nopause
Then start to add the co-variates. This will either allow the model to fit or show which variables are causing the problem. You might also fit the model using MCMC to avoid the problem of discrete models in MLwiN being based on quasi-likelihood estimation.

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Wed Sep 16, 2020 9:34 am
by SabineKatzdobler
Good day,

the simplest model worked (with a warning: "variance matrix is nonsymmetric or highly singular" - thank you. However, involving level2-model shows already a warning: "IGLS algorithm failed to converge. Increase the number of iterations. See the maxiterations() option."

Then the following problem comes up: Adding "maxiterations(100)" after the baseline specification leads to not running the model properly. But then, the message "design vector at level 2 is the wrong length". However, I already met that message before regarding missing data, that I deleted afterwards. Furthermore, I am afraid jumping to mcmc, because that would be a strong statistical move.

Kind regards,

Sabine

Re: Ordinal logit (non-proportional odds) - within-between

Posted: Thu Sep 17, 2020 8:29 am
by ChrisCharlton
This is a bit puzzling. If you are able to share the data could you sent a copy to George and myself (see http://bristol.ac.uk/cmm/team/ for contact details)? Otherwise I would suggest looking at data summaries to check that there is still information for all your outcome categories after removing missing data and whether any categories are particularly small/large.