Plots for multidimensional models

343 views
Skip to first unread message

Elisabeth de Moor

unread,
Jan 27, 2021, 10:11:24 AM1/27/21
to mirt-package
Hi mirt people,

I'm just going to start another thread because unfortunately the other one didn't get picked up.

For a project examining the properties of a questionnaire with 5 subscales I'm trying to fit a model with a dimension/factor for each subscale. Although some of these scales are somewhat related, we don’t really expect all scales to load on an underlying construct. However, for the purpose of parsimony we wanted to combine all subscales into one multidimensional model for the entire questionnaire. In this model, we expect items to only be related to the subscale they are a part of and thus, don't expect cross-loadings.

The resulting model would look something like this:

model <- 'F1 = 1-5
               F2 = 6-10
               F3 = 11-15
               F4 = 16-20
               F5 = 21-25

               COV = F2*F1
               COV = F3*F1
               COV = F3*F2
               COV = F4*F1
               COV = F4*F2
               COV = F4*F3
               COV = F5*F1
               COV = F5*F2
               COV = F5*F3
               COV = F5*F4'

Now, to get a better understanding of the item properties as well as test properties, I wanted to fit "Item Information Curves", "Item Characteristic Curves", and a "Test Information Function". However, when I do, I get the error message that mirt: "Can't plot high dimensional solutions".

I understand and don't mind this for the "Test Information Function" as I think that for this questionnaire (which doesn’t really have one underlying latent construct) it wouldn't make sense to examine test properties on the level of the multidimensional model. I think it would make more sense to examine “test” information on the level of the subscales (given that they are quite distinct processes). As such, I think I can solve this issue by running the plot for the subscales separately.

However, I was wondering if there is a way of fitting "Item Information Curves" and "Item Characteristic Curves" for the full model? I think it shouldn't have to be a very complex plot, as for each item only one subscale is loaded on. Is it possible to specify this, or should I create separate models for the subscales and then make the plots using these subscales?

I hope I have explained the issue enough and hope that someone can help me find the best way to approach this!

Many thanks in advance,
Elisabeth de Moor

Phil Chalmers

unread,
Feb 10, 2021, 4:00:11 PM2/10/21
to Elisabeth de Moor, mirt-package
Hi Elisabeth,

On Wed, Jan 27, 2021 at 10:11 AM Elisabeth de Moor <e.l.d...@gmail.com> wrote:
Hi mirt people,

I'm just going to start another thread because unfortunately the other one didn't get picked up.

My apologies. Life has been quite a bit more taxing these days, so I haven't been as focused on maintaining this forum as much as I used to. 
This sounds like what the itemplot(..., drop.zeros) argument does for one item at a time. I suppose this idea could be generalized to plot() as well, given subsets of items only, though doing so could take some work. If I find some time over the next few days I'll give this a shot; otherwise, it might get added to my long list of TODOs.... HTH.

Phil
 


Many thanks in advance,
Elisabeth de Moor

--
You received this message because you are subscribed to the Google Groups "mirt-package" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mirt-package...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mirt-package/5eb00776-ea97-48f6-adec-fe92c30ff773n%40googlegroups.com.

Elisabeth de Moor

unread,
Feb 11, 2021, 5:55:32 AM2/11/21
to mirt-package
Hi Phil,

No worries, I hope life will be a bit more quiet for you soon!

The itemplot(..., drop.zeros) argument sounds perfect, thank you for suggesting it. For the test function, I will just run them on the subscales -- and if by the time I do you happen to have managed to create a similar argument for plot(), then that's just an added bonus!

Thank you,
Elisabeth

Op woensdag 10 februari 2021 om 22:00:11 UTC+1 schreef rphilip....@gmail.com:
Reply all
Reply to author
Forward
0 new messages