5107 8

[实际应用] R语言的ltm()函数估计IRT两参模型,得到的难度和截距是什么关系? [推广有奖]

  • 0关注
  • 0粉丝

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
967 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
528 点
帖子
8
精华
0
在线时间
22 小时
注册时间
2015-10-29
最后登录
2019-10-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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”提取出来的截距到底是什么关系呢?有没有什么方法可以对二者进行换算呢?


  1. results <- ltm(WIRS ~ z1)
复制代码

coef(results)的结果是:

  1.            Dffclt    Dscrmn
  2. Item 1  3.4011395 0.1534064
  3. Item 2 -0.9421221 0.3676923
  4. Item 3  0.8093853 1.7179970
  5. Item 4  1.3689278 1.0101043
  6. Item 5  0.4762685 2.0324137
  7. Item 6  1.6804632 1.3745785
复制代码

results$coefficients的结果是:

  1.        (Intercept)        z1
  2. Item 1  -0.5217566 0.1534064
  3. Item 2   0.3464111 0.3676923
  4. Item 3  -1.3905215 1.7179970
  5. Item 4  -1.3827598 1.0101043
  6. Item 5  -0.9679746 2.0324137
  7. Item 6  -2.3099285 1.3745785
复制代码



二维码

扫码加我 拉你入群

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

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


已有 1 人评分经验 论坛币 收起 理由
刘彦楼 + 100 + 60 鼓励积极发帖讨论

总评分: 经验 + 100  论坛币 + 60   查看全部评分

沙发
chinachrist 发表于 2018-2-22 09:33:56 |只看作者 |坛友微信交流群
截距一般是a * theta + b
难度一般是a * (theta - b)

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

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


已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
刘彦楼 + 100 + 100 + 5 + 5 + 5 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

藤椅
Sohnia 发表于 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的。

使用道具

板凳
chinachrist 发表于 2018-3-2 12:06:54 |只看作者 |坛友微信交流群
Sohnia 发表于 2018-3-1 21:29
得出来的这个截距a,需不需要除以1.702啊。您上次发的那个python程序里面用的是z = a*theta + b,p= exp( ...
可以除,也可以不除,如果是想搞probit的近似估计,那就除

使用道具

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

使用道具

地板
ziyi1121 发表于 2018-4-13 14:41:03 |只看作者 |坛友微信交流群
在矛盾中扭曲 发表于 2018-3-2 17:46
根据您的提示,我验算了一下,果然:截距 = -区分度*难度。
非常感谢您的解答!
我还是没有看懂,为什么“截距 = -区分度*难度”前有负号么

使用道具

7
shengzhouwang 发表于 2018-6-22 09:18:02 |只看作者 |坛友微信交流群
请问~ z1一定要的吗

使用道具

8
elvajear 学生认证  发表于 2018-12-24 13:56:39 |只看作者 |坛友微信交流群
意思是在ltm里的截距其实和难度是对应的吗

使用道具

9
XS1998 在职认证  学生认证  发表于 2021-7-19 15:34:30 |只看作者 |坛友微信交流群
您好,方便分享一下项目参数的代码吗?论文真的难住啦谢谢您!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 19:07