alexanderrobitzsch / sirt

Supplementary Item Response Theory Models
https://alexanderrobitzsch.github.io/sirt/
22 stars 11 forks source link

Documentation around ccov.np #11

Closed iago-pssjd closed 4 years ago

iago-pssjd commented 4 years ago

Hi!

It would be great if there was more documentation around ccov.np, at least explaining the values and how it is calculated, since the referenced papers give distinct methods to estimate the conditional covariances.

Thank you!

alexanderrobitzsch commented 4 years ago

Will do this in a next update. I screened the source code https://rdrr.io/cran/sirt/src/R/ccov.np.R By doing this, one sees that at first item response functions P_i=P_i(X_i=1) are nonparametrically estimated given a previous ability estimate. Then, the conditional covariance is estimate as a nonparametric regression of the product (X_i - P_i )(X_j - P_j) for item pairs i and j. The bandwidth is chosen as 1.1N^(-1/5)*sd(theta).

iago-pssjd commented 4 years ago

Thanks for the answer.

Nevertheless, I look at the reference Zhang, J., & Stout, W. (1999). Conditional covariance structure of generalized compensatory multidimensional items. Psychometrika, 64(2), 129-152. doi: 10.1007/BF02294532 (and also to their other reference of the year 1999 that you cite for conf.detect) and I do not understand yet the relation between your proceeding and the estimation process developed in the paper.

Maybe am I looking at the wrong place? It is the section 4, formulas (22) to (24) and the non-numbered. Is it what you have implemented? I don't see there where is the regression and why a specific score has to be given (the scores in the paper are specifically defined).

Could you enlighten me a bit more?

Thank you!

alexanderrobitzsch commented 4 years ago

I agree. The reason why I slightly changed to using a normally distributed score is for handling missing data situtation. Hence, instead of using the sum score which is only useful with any missing item response, I transformed the average correct score (and took qnorm() of it). To smooth the resulting conditional expectations and conditional covariances, I additionally applied kernel regression. So, it is only the core idea of the ccov.np that is in the papers, not the actual details.

iago-pssjd commented 4 years ago

Thanks! Now, for me it is explained. But, as you added the enhancement label to the issue and you told me you will add more documentation for the next update, I leave the issue open. You can close it whenever you like.

alexanderrobitzsch commented 4 years ago

I have updated the function in order to have the possibiliy of no smoothing. The reference for the smoothing step is

Douglas, J., Kim, H. R., Habing, B., & Gao, F. (1998). Investigating local dependence with conditional covariance functions. \emph{Journal of Educational and Behavioral Statistics, 23}(2), 129-151. \doi{10.3102/10769986023002129}

I will upload the recent sirt dev version today.