我可以使用哪些测试来分析相关的 likert 类型数据?

机器算法验证 假设检验 序数数据 李克特
2022-03-28 01:41:17

在一项调查中,向学生展示了各种刺激,在每次刺激之后,他们被要求对以下内容进行评分:

  • 质量,从“优秀”到“差”的五分制,比方说Q
  • 对他们的质量评级的信心,从“非常有信心”到“没有信心”的四点量表,即C

以下是我的假设:

  • 显然,这些样本是相关的,因为它们恰好属于一个刺激和学生对(我假设是正确的吗?)

  • 此外,这些问题与李克特量表非常相似,因此我不确定是将它们分类为序数还是基于间隔其他似乎也是)。我会说它们是有序的,但我所在领域的许多研究人员似乎忽略了这一点,并将它们视为基于间隔的。

基本上,我想知道的是这些评级是否相互依赖。所以,我的问题是:

  • 这些数据会被认为是基于区间的还是有序的?
  • 我可以在这里申请哪些测试? ? Wilcoxon 符号秩检验?χ2

我已经提出了显示每对计数的三维图,例如说“在十个案例中,用户选择了错误并且对此不自信”。或者, ……但我无法仅凭这一点进行统计证明。count(Q1,C4)=10

3个回答

我认为有几个挑战需要考虑。

在如何可视化方面,最准确的是使用马赛克图或堆叠条形图(在这种情况下实际上是相同的,但在 excel 或 SPSS 中找到堆叠条形图可能比马赛克图更容易)。

将李克特量表更改为数字 (1-5) 量表也可能会有所帮助,并为您的第二个问题的 4 个类别中的每一个类别制作一个箱线图。由于箱线图基于百分位数,因此箱线图的含义可能与您提供的数据类型有些一致(取决于在处理中点时如何计算分位数)。

在如何分析方面,您可以提出不同的问题。最简单的将是“两者之间是否存在相关性?”,这可以很容易地使用皮尔逊相关性对你的量表数值的排名来回答。这种相关性实际上会给你 Spearman 相关性度量(等级的相关性)。排名对于您将有关系的情况很重要(例如,向量:1,2,2,4 实际上应该变为:1,2.5,2.5,3)。

如果您想回答一个度量的等级与另一个度量的等级不同的问题,则 wilcoxon 检验是相关的。但从你的问题来看,这听起来不是一个有趣的问题。您也可以对类似问题使用卡方检验,但它的功效可能会更小。

在我看来,这个问题已经被做死了,但由于命名法略有不同而一次又一次地浮出水面。首先,这取决于您的科学问题是什么:您对趋势(比较组的平均差异响应)或异质性(所有类别之间响应的分段比较)感兴趣吗?研究的结果是什么?你的刺激是什么?刺激在本质上是分类的还是有序的或连续的?这些是统计学家需要知道的细节。

序数回归是围绕按数字类别对序数响应进行编码的方法家族。您估计的物理量被无用地解释为“序数响应水平的预期差异”(这是您逐字报告回归系数的方式),它们通常是非整数的,但是围绕这些量的统计数据确实测试了响应水平的关联因此,在李克特数据的情况下,将“非常差”设为 0,将“优秀”设为 5 是明智的。

您在这里含糊地使用了“依赖”这个词。您的实验设计是否在个体内部进行了重复测量?一个人是否会受到多种刺激并在不同时间记录不同的反应?这将是重复的措施。否则,我认为您对依赖性感到困惑,并且每个刺激/结果观察都是成对独立于其他观察的。

多维、非度量(输入和输出)数据的汇总测试统计是一个艰难的推销,并且可能具有有限的可解释价值。

您可以在另一个(目标)上运行一个变量(输入)的比例赔率逻辑回归模型 - 如果您愿意进行分析,以比较目标在输入水平上的概率分布。它将显示输入变量是否对输入级别和目标类具有显着不同的依赖性。您使用哪种对比方案对于预测概率并不重要,但是,对于权重的解释,您可能希望使用正交多项式。您将需要解释示例测试用例及其在条形图上的预测分布。这是因为随着权重的 logit 概率尺度,回归过程确定了截止值 - 这使得解释 logit 尺度数量相当困难。

例如,使用 R,您的代码将是

#input data
#quality <- scan()
#confidence <- scan()
Q <- length(unique(quality))
C <- length(unique(confidence))

require(MASS)
# tell R that the data is ordinal
quality <- factor(quality, levels = paste(1:Q), ordered = TRUE)
confidence <- factor(confidence, levels = paste(1:C), ordered = TRUE)

# train model, R will use orthogonal polynomials by default
polr.model <- polr(confidence ~ quality)

#plot probability predictions as pdf for each input level
lapply(
  unique(quality), 
  function(z) { 
    pdf(paste('Quality_predictive_probabilities-Confidence_',z,'.pdf',sep=''))
    probs <- predict(polr.model,newdata=list(quality=z), type='probs')
    barplot(probs,xlab=paste('Quality',z),ylab='Confidence')
    dev.off()
  }
)

这会将概率预测保存到您当前的工作目录中。如果观众在统计上知道这些词对社区来说意味着非常具体的东西,那么你可能需要小心调用你的变量信心和质量。