Excel手动计算与R包quickpsy均值差异原因咨询
问题:使用quickpsy分组计算阈值与Excel手动均值结果不一致
我尝试使用R包quickpsy进行心理物理参数估计,先通过以下代码计算每位受试者的个体阈值:
# 导入基础库 library(quickpsy) library(tidyverse) library(ggplot2) library(extrafont) loadfonts(device = "win") # Deney 1 PSE分析 Deney1_Ra_84$Motivasyon <- as.character(Deney1_Ra_84$Motivasyon) Deney1_Ra_84$Motivasyonel_Yogunluk <- as.character(Deney1_Ra_84$Motivasyonel_Yogunluk) # 用quickpsy估计50%正确率的心理物理阈值 Deney1_psy_fits_50 = quickpsy(Deney1_Ra_84, test_duration, correct, lapses = TRUE, prob = .5, grouping = c("subject_nr","Motivasyon","Motivasyonel_Yogunluk"), fun = cum_normal_fun, bootstrap="none") # 查看个体阈值 Deney1_psy_fits_50$thresholds
随后我在Excel中手动计算Motivasyon和Motivasyonel_Yoğunluk交互组的个体阈值算术均值,但使用不含subject_nr的分组参数运行以下R代码时,得到的结果与Excel手动均值存在差异:
# 用quickpsy估计50%正确率的心理物理阈值 Deney1_psy_fits_50 = quickpsy(Deney1_Ra_84, test_duration, correct, lapses = TRUE, prob = .5, grouping = c("Motivasyon","Motivasyonel_Yogunluk"), fun = cum_normal_fun, bootstrap="none")
差异产生的核心原因
两种方法本质是完全不同的统计逻辑,具体差异点如下:
计算逻辑的本质区别
第一种流程是「个体拟合→个体阈值算术平均」:先为每个受试者单独拟合心理物理曲线,得到独立的个体阈值,再对同一交互组的个体阈值求算术平均,每个受试者的权重均等。
第二种流程是「组数据合并→整体拟合」:直接将同一交互组下所有受试者的原始试次数据合并,用合并后的数据集拟合一条组水平的心理物理曲线,得到的阈值是基于整体数据的最优拟合值,而非个体阈值的平均。数据权重分配不同
合并数据拟合时,每个原始试次的权重是平等的——如果某受试者的试次数量远多于其他受试者,其数据对组拟合结果的影响会更大;而Excel手动平均时,每个受试者的阈值权重平等,不管其试次数量多少。这种权重差异会直接导致结果偏离。拟合模型的约束差异
个体拟合时,每个受试者的曲线参数(如斜率、lapse率)都是独立估计的;而组水平拟合时,整个交互组共享一套参数(未设置随机效应的前提下),这会让组阈值偏向于拟合整体数据的最优解,和个体阈值的算术平均没有直接对应关系。
内容的提问来源于stack exchange,提问作者Aslan Karaaslan
相关产品推荐
相关产品推荐

