turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Multivariate analysis of multinomial (unordered) i...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-14-2016 07:43 AM

Hello,

I try model an intercept-only random effects model for 3 correlated outcomes. All outcomes are event-rates from a multinomial distribution (with 3 unordered categories), given by center.

For the multivariate analysis, I have restructured the data as follows: I transposed the data set so that I get 3 rows (one for each dependent variable = response) per center and added an indicator variable (resp_indic) as predictor to indicate which of the 3 outcomes is meant.

In general, if I suppress the intercept and add the indicator resp_indic as random effect, I can model the correlation among the outcomes as multivariate analysis.

This works perfectly well in case of event-rates that result from a binomial distribution.

PROC GLIMMIX data=ds method=quad;

class resp_indic center;

model event/trial = resp_indic / noint s cl corrb covb ddfm=bw;

random resp_indic / subject=center S type=UN G;

run;

However, this event/trial notation does not work for multinomial distribution (i.e. the code above with option dist=multinomial link=glogit)

Thus, I tried to model the events on patientlevel, so that the outcomes are not rates any more, but rather the results from the multinomial distribution.

proc glimmix data= ds method= quad;

class resp_indic center patient;

model response(ref= first)= resp_indic/ noint dist=multinomial link=glogit s;

random resp_indic /sub= patient (center) group=response G;

run;

Unfortunately, now the intercept cannot be suppressed any more since it is required for the generalized logit.

Any hint is highly appreciated!

Thank you in advance!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-15-2016 02:27 PM

I assume that the model converges and you get some sort of solution vector. If not, then indeed you will have to remove the noint option.

Also, I believe that the correct random statement will have subject=center, and not subject=patient(center). This is because the counts are totaled over patients within a center when you analyze. (At least that is what I think you are trying to do). In this case, patient is actually a subsample.

Steve Denham

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-18-2016 04:27 AM

Dear Mr Denham,

thank you for your reply, but it was not exactly what I was looking for.

Probably I should concretise my model: My target population are patients (male or female) with a certain lesion. The location of the lesion is either ectodermal, endodermal or mesodermal (exactly one of the categoried applies).Thus I have following table given per center:

Location \ Gender | female | male | all |

Ectodermal | N11 | N12 | N1+ |

Endodermal | N21 | N22 | N2+ |

Mesodermal | N31 | N32 | N3+ |

N+1 | N+2 | N++ |

I’m interested in following 3 eventrates, thereby taking the clustered data [center] into account:

- rate of ectodermal lesions in female : N11/ N+1
- rate of endodermal lesions in male : N22 / N+2
- overall rate of mesodermal lesions (i.e in male and female) : N3+ / N++

Additionally to these eventrates, I want to estimate the correlation among them across different centers. Therefore, I need the multivariate analysis. I tried following code with sub=patient(center) in order to tell SAS that patients are repeated in the dataset for gender=all for the estimation of the event meso in both genders.

proc glimmix data= ds method= quad;

class gender center patient;

model location (ref= first)= gender/ noint dist=multinomial link=glogit s;

random gender /sub= patient (center) group=location G type=UN;

run;

I wanted to suppress the intercept and add type= UN in order to get the correlation between all 3 eventrates, but with dist=multinomial and link=glogit this is not possible.

Do you have any idea how I can estimate the 3 eventrates as well as the correlation between them in a random effects model?

Thanks in advance and kind regards,

Maya

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-18-2016 06:14 AM

One addendum:

The actual problem is that I'd like to allow that observations within centers are correlated, therefore I wanted to specify type=UN. However, this does not work with proc glimmix and dist=mult.

Thanks again!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

07-18-2016 01:28 PM

I would try the following:

```
proc glimmix data= ds method= quad;
class gender center location patient;
model location (ref= first)= gender/ noint dist=multinomial link=glogit s;
random intercept /sub= center group=location G type=UNR;
random intercept/sub= patient(center) group=location G;
run;
```

By using type=UNR, you should get correlations, although the correlations in my code would be between centers. The patient(center) should only be a single variance component.

I still am not completely clear as to the correlations you can get from your data, or if that is actually what you should be looking at. Perhaps odds ratios would be more easily interpreted.

Steve Denham.

Steve Denham