什么是Rasch模型?

4天前 (02-23 14:15)阅读1回复0
zaibaike
zaibaike
  • 管理员
  • 注册排名1
  • 经验值186600
  • 级别管理员
  • 主题37320
  • 回复0
楼主

泻药,

几个月以来,我不断对序数回归与项目响应理论(IRT)之间的关系感兴趣。 在那篇文章中,我重点介绍Rasch阐发。

比来,我花了点时间测验考试理解差别的预算办法。三种最常见的预算办法是:

结合更大似然(JML)前提逻辑回归,在文献中称为前提更大似然(CML)。尺度多级模子,在丈量文献中称为边际更大似然(MML)。

原文链接:

拓端数据科技 / Welcome to tecdat​tecdat.cn/?p=10175

阅读后,我决定测验考试停止Rasch阐发,产生多个Rasch输出。

规范

停止此演示之后,可能需要ggplot2和dplyr的常识才气创建图表。

library(Epi) # 用于带比照的前提逻辑回归

library(lme4) # glmer

library(ggplot2) # 用于绘图

library(dplyr) # 用于数据操做

数据。

raschdat1 <- as.data.frame(raschdat1) CML预算 res.rasch <- RM(raschdat1)

系数

coef(res.rasch)

beta V1 beta V2 beta V3 beta V4 beta V5

1.565269700 0.051171719 0.782190094 -0.650231958 -1.300578876

beta V6 beta V7 beta V8 beta V9 beta V10

0.099296282 0.681696827 0.731734160 0.533662275 -1.107727126

beta V11 beta V12 beta V13 beta V14 beta V15

-0.650231959 0.387903893 -1.511191830 -2.116116897 0.339649394

beta V16 beta V17 beta V18 beta V19 beta V20

-0.597111141 0.339649397 -0.093927362 -0.758721132 0.681696827

beta V21 beta V22 beta V23 beta V24 beta V25

0.936549373 0.989173502 0.681696830 0.002949605 -0.814227487

beta V26 beta V27 beta V28 beta V29 beta V30

1.207133468 -0.093927362 -0.290443234 -0.758721133 0.731734150利用回归

raschdat1.long$tot <- rowSums(raschdat1.long) # 创建总分

c(min(raschdat1.long$tot), max(raschdat1.long$tot)) #最小和更大分数

[1] 1 26

raschdat1.long

$ID <- 1:nrow(raschdat1.long) #创建ID

raschdat1.long <- tidyr::gather(raschdat1.long, item, value, V1:V30) # 宽数据转换为长数据

# 转换因子类型

raschdat1.long$item <- factor(

raschdat1.long$item, levels = p前提更大似然

# 回归系数

item1 item2 item3 item4 item5

0.051193209 0.782190560 -0.650241362 -1.300616876 0.099314453

item6 item7 item8 item9 item10

0.681691285 0.731731557 0.533651426 -1.107743224 -0.650241362

item11 item12 item13 item14 item15

0.387896763 -1.511178125 -2.116137610 0.339645555 -0.597120333

item16 item17 item18 item19 item20

0.339645555 -0.093902568 -0.758728000 0.681691285 0.936556599

item21 item22 item23 item24 item25

0.989181510 0.681691285 0.002973418 -0.814232531 1.207139323

item26 item27 item28 item29

-0.093902568 -0.290430680 -0.758728000 0.731731557

请留意,item1是V2而不是V1,item29是V30。要获得第一个项目V1的难易水平,只需将项目1到项目29的系数乞降,然后乘以-1。

显然,所有数据(30 * 100)都用于预算。那是因为没有一个参与者在所有问题上都得分为零,在所有问题上都得分为1(更低为1,更高为30分中的26分)。所有数据都有助于估量,因而本示例中的方差估量是有效的

结合极大似然估量

# 尺度逻辑回归,请留意利用比照

res.jml

# 前三十个系数

(Intercept) item1 item2 item3 item4

-3.688301292 0.052618523 0.811203577 -0.674538589 -1.348580496

item5 item6 item7 item8 item9

0.102524596 0.706839644 0.758800752 0.553154545 -1.148683041

item10 item11 item12 item13 item14

-0.674538589 0.401891360 -1.566821260 -2.193640539 0.351826379

item15 item16 item17 item18 item19

-0.619482689 0.351826379 -0.097839229 -0.786973625 0.706839644

item20 item21 item22 item23 item24

0.971562267 1.026247034 0.706839644 0.002613624 -0.844497142

item25 item26 item27 item28 item29

1.252837340 -0.097839229 -0.301589647 -0.786973625 0.758800752

item29与V30不异。差别是由预算办法的差别引起的。要获得第一个项目V1的难易水平,只需将项目1到项目29的系数乞降,然后乘以-1。

sum(coef(res.j

[1] 1.625572多级逻辑回归或MML

我希望回归系数是项目抵达时的难易水平,而且glmmTMB()不供给比照选项。我要做的是运行glmer()两次,将第一次运行的固定效果和随机效果做为第二次运行的起始值。

利用多级模子复造Rasch成果

供给人员-物项目映射:

plotPImap(res.rasch)

要创建此图,我们需要项目难度(回归系数* -1)和人员才能(随机截距)。

极端的分数是差别的。那归因于MML的差别。因为CML不供给报酬因素,因而必需利用两步排序过程。

项目特征曲线

eRm用一条线供给项目特征曲线:

plotjointICC(res.rasch)

在那里,我们需要可以按照学生的潜能来预测学生准确答题的概率。我所做的是利用逻辑方程式预测概率。获得该数值,就很容易计算预测概率。因为我利用轮回来施行此操做,因而我还要计算项目信息,该信息是预测概率乘以1-预测概率。

## GGPLOT可视化

ggplot(test.info.df, aes(x = theta, y = prob, colour = reorder(item, diff, mean))) +

geom_line() +ct response", colour = "Item",

下面将逐项绘造

ggplot(test.info.df, aes(x = theta, y = prob)) + geom_line() +

scale_x_continuous

(breaks = seq(-6, 6, 2), limits = c(-4, 4)) +

scale_y_continuous(labels = percent, breaks = seq(0, 1, .

人员参数图

plot(person.parameter(res.rasch))

我们需要估量的人员才能:

ggplot(raschdat1.long, aes(x = tot, y = ability)) +

geom_point

(shape = 1, size = 2) + geom_line() +

scale_x_continuous(breaks = 1:26) +

theme_classic()项目均方拟合

关于infit MSQ,施行不异的计算。

eRm:

ggplot(item.fit.df, aes(x = mml, y = cml)) +

scale_x_continuous(breaks = seq(0, 2, .1)) +

scale_y_continuous(breaks = seq(0, 2, .1))

似乎CML的MSQ几乎老是比多级模子(MML)的MSQ高。

eRm:

来自CML的MSQ几乎老是比来自多条理模子(MML)的MSQ高。我利用传统的临界值来识别不合适的人。

测试信息

eRm:

plotINFO(res.rasch)

创建ICC计算测试信息时,我们已经完成了上述工做。关于总体测试信息,我们需要对每个项目标测试信息停止汇总:

最初,我认为利用尺度丈量误差(SEM),您能够创建一个置信度带状图。SEM是测试信息的反函数。

该图表白,关于一个估量的才能为-3的孩子,他们的才能的估量精度很高,他们的现实分数可能在-1.5和-4.5之间。

颠末那一工做,我觉得我能够更好天文解该模子,以及此中的一些内容诊断。

更受欢迎的见解

1.R语言Wald查验 vs 似然比查验

2.R语言多元Logistic逻辑回归 应用案例

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模子阐发案例

5.R语言LME4混合效应模子研究教师的受欢送水平

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模子实现

7.R语言用Rshiny摸索lme4广义线性混合模子(GLMM)和线性混合模子(LMM)

8.基于R语言的lmer混合线性回归模子

9.R语言里的非线性模子:多项式回归、部分样条、光滑样条、广义加性模子阐发

0
回帖

什么是Rasch模型? 期待您的回复!

取消