Rasch 分析是获得客观的、最基本的累加型测量值(兼顾分析模型中的标准误和质量控制如拟合统计值)的一种分析方法,适用于通过随机观测有序、分级类反应获得的数据分析。
Rasch 模型是如何处理数据的呢?
在Rasch 模型,研究者使用概率估计的方法对某个具体问题的回答(答对/答错 )建模,提出了一个同时包括了人和问题参数的函数。最早的模型是把正确答案的概率用模型表达为一个logistic 函数,来考察人的参数和问题参数的不同之处。
要使用该模型,要满足一些条件:
- 数据类型应该是有序类数据,比如张三比李四个子高,李四比王五个子高,等等依此类推。
- 不同于其他统计模型,Rasch 希望能达到测量工具的恒定有效,不管在哪种环境下,和题目,和参加的人无关。也就是说它的目标是去获得适合模型的数据。而不是仅仅用于描述某个数据集,也不是去根据模型和数据的拟合度去修订参数然后去接受或拒绝参数。
R语言扩展的Rasch模型
关于Rasch的主要功能。
对Rasch进行分析并生成对象
- person.parameter(drmobj) 生成ppar类的对象。
- 从dRm对象中绘制图表:plotPImap(), plotICC(), plotjointICC()
- 从ppar对象中绘制图表:plot()
- 从dRm对象中提取信息:coef(), vcov(), confint(), logLik(), model.matrix()
- 从ppar对象中提取信息:confInt(), logLik()
- eRm对象的层次结构
plotjointICC()只适用于dRm(二分法RM),对象 LRtest()适用于dRm和Rm对象,等等。
拟合RM
> rm.res
默认为(datamatrix, sum0 = TRUE, 其他选项)。
sum0表示约束条件(用于估计性)。TRUE总和为零,FALSE第一项设置为0。
输出给出难度参数。
约束条件和设计矩阵
> model.matrix
> model.matrix(sum0 = FALSE))
> summary(rm.res)
提取信息
项目的参数估计
> coef
项目参数估计值的方差-协方差矩阵
> vcov
项目参数估计的置信区间
> confint
条件对数似然
logLik
绘制ICCs
> plot(res)
绘制单一的ICC
> plot( subset = 3)
绘制ICCs
> plotICC(rm.res, item.subset = 1:4, ask = F, empICC = list("raw"), + empCI = list(lty = "solid"))
绘制人-问题图
> plotPImap(rm.res)
人参数估计
person.para
如果数据中存在NA,则对每个NA模式的组别估计不同的人的参数。
人参数估计方法的结果
> logLik
> confint
注意:confint(pp)给出了所有受试者的数值,如果数据中存在NA,则输出每个NA组的置信区间。
个参数估计图
> plot(pp)