全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 IRT理论相关软件
6211 8
2018-02-14

R里估计IRT模型时,我一般用mirt()函数,最近开始用ltm()函数,于是就遇到了一个问题(以ltm包自带的WIRS数据为例):


以前用mirt()函数的时候,使用coef()函数可以很方便地提取出题目参数,但是这次用coef()函数提取ltm()函数里的难度和区分度时,发现区分度没问题,只是名称不同(mirt中叫a1参数,ltm中叫Dscrmn),但是难度就不对了,不只是名称不同(mirt中叫d参数,ltm中叫Dffclt),数值也不同(比如WIRS第一题的难度,mirt算出来是-0.522ltm算出来是3.401)。


后来用“$coefficients”的方法从ltm的结果中提取出了每道题目的截距(Intercept)和在z1因子上的载荷,这时就可以和mirt的结果对上了。


所以,coef()提取出来的难度和“$coefficients”提取出来的截距到底是什么关系呢?有没有什么方法可以对二者进行换算呢?


复制代码

coef(results)的结果是:

复制代码

results$coefficients的结果是:

复制代码



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-2-22 09:33:56
截距一般是a * theta + b
难度一般是a * (theta - b)

其中a都是斜率(也即区分度),第一个b是截距(阈值、偏置),第二个b是难度

像我个人写参数估计程序喜欢直接给截距(阈值、偏置),不同人不同的代码写法而已


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-3-1 21:29:22
chinachrist 发表于 2018-2-22 09:33
截距一般是a * theta + b
难度一般是a * (theta - b)
得出来的这个截距a,需不需要除以1.702啊。您上次发的那个python程序里面用的是z = a*theta + b,p= exp(z)+/1+exp(z) .是没有乘以1.702的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-3-2 12:06:54
Sohnia 发表于 2018-3-1 21:29
得出来的这个截距a,需不需要除以1.702啊。您上次发的那个python程序里面用的是z = a*theta + b,p= exp( ...
可以除,也可以不除,如果是想搞probit的近似估计,那就除
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-3-2 17:46:01
chinachrist 发表于 2018-2-22 09:33
截距一般是a * theta + b
难度一般是a * (theta - b)
根据您的提示,我验算了一下,果然:截距 = -区分度*难度。
非常感谢您的解答!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-4-13 14:41:03
在矛盾中扭曲 发表于 2018-3-2 17:46
根据您的提示,我验算了一下,果然:截距 = -区分度*难度。
非常感谢您的解答!
我还是没有看懂,为什么“截距 = -区分度*难度”前有负号么
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群