从双向表进行稳健测量

4月26日,二千零一十九
通过

(本文首次发表于 R–让我们看看数字,并对 188bet appR博主

我在一所大学工作。我的系开设学位课程,让学生在选择课程“模块”时有很大的灵活性。(一个典型的学生每年需要8个模块,每个模块单独评估)。

每年考试结束后,我们保证我们的学生仔细检查每个模块的考试成绩,以确保参加“硬”模块的学生不会因此受到处罚。而且,学习“简单”模块的学生并没有太大的优势。

这方面的挑战是将模块难度与学生能力分开:我们需要能够区分(例如)一个硬模块与一个由比一般学生弱的学生选择的模块之间的差异。这需要分析所有模块在一起,而不是分开。

要分析的数据是每个学生在所选模块中的分数(以百分比表示)。将这些分数排列在双向表中很方便,其行由学生ID索引,其列对应于所采取的所有不同可能模块。然后任务是分析(通常不完整)双向表,为了确定每个模块的数字“模块效应”(对于每个相对“容易”的模块,数字相对较高)。以及相对“硬”的模块的数量较低。

这样做的标准方法(即,以这样一种方式,分析不会受到少数学生表现的强烈影响)是聪明的中值光泽方法:由于J W Tukey。我的大学系已经使用中值抛光剂好几年了,确定在评估每个学生在学位课程中的总体表现时应考虑到的任何强大的“模块效应”。

中值抛光工作基本正常,似乎:它给出了大致合理的答案。但有一些众所周知的问题,包括哪边重要表格已呈现(即,“行是学生”,对战“行是模块”)—答案将取决于此。所以中值抛光实际上不只是一种方法,但是两个。

当我的大学系最近要求我在R,我忍不住想一想,是否还有比中值抛光更好的东西,金宝搏网址为了明确列效应(模块效应)的具体用途,这让我看了一些简单的“玩具”例子,为了帮助理解这些原则。我在这里举一个这样的例子,以说明如何在这种特定的环境下做得比中值抛光更好。

示例:5个模块,3学生

我的“玩具”数据:

> X模块负载A B C D E I 钠那45 60 J钠那钠55 60 K 10 20 30五十

共有五个模块(标有A、B、C、D、E)学生我,JK每个模块都有一个选择。这是一个小数据集,但这是故意的:我们可以很容易地看到这个小桌子上发生了什么。模块e比其他人容易,例如;和学生K看起来是最虚弱的学生(自从K其他两名学生在模块方面表现出色。e,唯一一个他们全部的采取)

我叫上一张桌子很完美,就模块效应的测量而言。如果我们分配模块效应(−20,10,0,10,20)至五个模块A、B、C、D、E分别然后为了每一个一对模块学生内部观察到的差异集中在这些模块效果的相关差异上。例如,查看模块De学生得分15分以上e,虽然J中得5分以上e,这两个差异的中位数是10——与所提出的“完美”模块效应之间的差异相同。De.

当我们表演时中值光泽在这张桌子上,根据我们是否直接将该方法应用于表格,我们得到不同的答案,或者转座子:

> MD波兰(X,n.rm=真,马克塞特=20)…中值抛光结果(数据集:“x”)总体:38.75行效果:i j k 0.00 5.00-8.75列效果:a b c d e-20.00-10.00 0.00 8.75 20.00残差:模值t a b c d e i钠那钠-2.5 1.25焦耳钠那钠2.5-3.75 k 0 0 0>美波兰语(t(x)n.rm=真,马克塞特=20)…中等抛光结果(数据集:“T(X)”)总体:36.25行效果:A B C D E-20.00-10.00 0.00 11.25 20.00列效果:I J K 0.625 5-6.250残差:学生模块I J K A钠那0 B钠那0 C钠那0天-3.125 1.875E 3.125-1.875 0

这两个答案都与上述“完美”模块效应测量结果不同。模块效应D根据中值抛光计算,为8.75或11.25,取决于输入表的方向-但不是“完美10”。

一种更好的方法:中位数差异分析

我决定实施,代替中值抛光,一种简单的非迭代方法,直接针对上述“完美”测量的概念。

该方法分为两个阶段。

第1阶段计算学生之间的差异并取这些差异的中位数,对于每个可能的模块对。对于我们的玩具示例:

>MD<-Meddiff(x)A、B、C、De- 10—20-40B 1- 10-30 C 1 1钠那- 20D0 0 0 - 10E 1 1 1  

这里的结果是所有可用的对角线上的中值差。对角线下是计算每个中值所用的差的计数。所以,例如,模块之间的中位数差异De为10;这是根据两个学生的考试成绩计算出来的。

第2阶段然后将线性模型拟合到中值差分值,使用加权最小二乘法。线性模型找出最接近可用中值差异的模块效应矢量(即,最接近对角线上方的数字)。权重仅为上述矩阵下三角的计数。

在这个“完美”的例子中,我们得到了理想的完美答案e作为“参考”模块:

>拟合(MD)$系数A B C D E-40-30-20-10 0

我现在的计划是把这些简单化R功能强大,可供学生使用实际的考试成绩,并添加推论模块效应值(通过适当设计的引导程序计算)。

现在,以下是我的原型函数,以防其他人想使用它们:

mediff<-函数(xmat)行是学生,列是模块s<-nrow(xmat)m<-ncol(xmat)result<-matrix(na,Mm)行名称(result)<-列名称(result)<-列名称(xmat)for(m in 1:(m-1))for(m m in(m+1):m)diffs<-xmat[,M[XMAT]mm]上三角结果[m,mm]<-中间值(差,na.rm=真)35;下三角结果[mm,M] <求和(!)is.na(diffs)return(result)fit<-function(m)matrix m需要完全连接到对角线上<-上。tri(m)diffs<-m[上]weights<-t(m[上]行<-factor(row(m[上])cols<-factor(col(m[上])x<-cbind(model.matrix(~ rows-1)),0)-cbind(0,model.matrix(~cols-1))colnames(x)<-colnames(m)rownames(x)<-paste0(colnames(m)【行】,“-”colname(m)[cols])结果<-lm.wfit(x,差异,权重)结果$系数[is.na(result$系数)]<-0类(result)<-c(“mediff_fit”,“列表”)返回(结果)

David Firth2019年4月

引用此条目:
FirthD(2019)。从双向表进行稳健测量。网络日志输入统一资源定位地址https://statgeek.net/2019/04/26/robust-measurement-from-a-2-way-table/

留下评论作者,请关注他们博客上的链接和评论: R–让我们看看数字.

188bet appR博客提供 每日电子邮件更新金宝搏网址 R新闻与 教程关于以下主题: 数据科学大数据, r作业,可视化(可视化) GGPROTT2箱形图地图动画)程序设计(程序) 演播室斯威夫特乳胶SQL日食吉特哈多普刮网)统计 回归主成分分析时间序列交易还有更多…



如果你走这么远,为什么不 订阅更新 从站点?选择您的口味: 电子邮件推特1188bet app,或 脸谱网

注释已关闭。

搜索R-Blo188bet appggers


赞助商

千万不要错过更新!
订阅R-Bloggers188bet app接收
最新R帖子的电子邮件。
(您将不再看到此消息。)

单击此处关闭(此弹出窗口将不再出现)