假设一个训练有素的人(似乎已经达到了一个表现平台)在 15 个不同的日子里投了 20 次罚球,并且成功的次数显示在上面的直方图中(dat在代码中)。
我的理解是结果的分布应该通过二项分布来预测。这个对吗?
预期方差为,其中(每个会话的试验次数)且或平均成功百分比。
我无法弄清楚如何从理论上计算样本方差的分布,因此进行了蒙特卡罗模拟。这些结果显示在下图中。这些方差的均值与理论预期方差相匹配,但数据的方差要小得多。
代码:
dat <- c(12,12,13,12,13,12,12,14,13,13,14,13,14,13,14)
n <- 20
p <- mean(dat)/n
Nobs <- length(dat)
sim.vars = matrix(nrow=10000)
for(s in 1:10000){
sim.vars[s] <- var(rbinom(Nobs, n, p))
}
par(mfrow=c(2,1))
hist(dat, breaks=seq(0,20,by=1))
hist(sim.vars, breaks=20)
> var(dat) # Variance of Data
[1] 0.6380952
> n*p*(1-p) # Expected Variance given binomial model
[1] 4.569778
> mean(sim.vars) # Mean of simulated sample variances
[1] 4.542159

@Whuber,当光标位于文本框外并在完成问题之前提交时,我按了 Enter。我道歉。我想知道的第一件事是我是否在思考的任何地方都犯了错误(二项式模型的选择、模拟、计算),而您的评论表明我没有。
第二个是什么过程可能产生这样的数据?我有超过 30 个这样的来源,所以它可能不是数据输入错误或虚构的数据。实际的任务不是罚球,但你可以相信我的话,这确实是一个相当的情况。
数据的这种特殊性以前没有被注意到。其他人则将此类数据解释为代表达到的最大性能水平,并比较了不同条件下的组平均值。个体之间的差异被解释为技能水平的差异,某种程度上与神经学特征有关。据我所知,这种解释(作为高原/渐近线/最大性能)意味着从二项式分布中采样,这与欠分散性确实不一致。
类似的情况是有人抛硬币 20 次,总是得到 9/10/11 正面。这太一致了。我想到的唯一机制是在连续试验之间引入负相关。就像是:
if(dat[t-1]=success){ p=0 }else{ p=0.95 } # Arbitrary probs used for example
dat[t]=sample(c(miss,success),1,prob=c(1-p,p))
还有哪些其他过程可能导致这种分散不足?关于欠分散的文献似乎非常稀少。我发现它主要包括简单地找到可以拟合这些缺乏任何明确物理解释的数据的分布。我对这种类型的分析不感兴趣。也许我因为使用了不恰当的术语而错过了一些东西?
Edit2: @whuber 回应您的第二条评论:这真的就像罚球一样,几乎任何适用于此的解释都将适用。一个例外是,一个人可能故意错过罚球任务以保持一定的分数,而这在这里是不可信的。
该任务需要运动协调才能实现目标。成功需要以正确的顺序执行一系列动作,每个动作都以正确的方式(当然有一定程度的变化)。也可能有多种策略可以以不同/相同的概率产生成功(即下手与上手)。有可能这些被同一受试者用于不同的试验。不幸的是,唯一可用的数据是每次会话的成功次数(20 次试验)。
我不认为我在寻找“构建不充分分散现象的概率模型的方法”,至少在一般情况下不是。我对仅描述数据不感兴趣,而是对可能产生此类数据的过程感兴趣。目标是阐明如果不是最大/渐近/高原性能水平,这里可能实际测量的内容。
为了澄清我所说的“过程”的含义,我认为可以使用 if/then 语句和(每次试验可能有多个)正确/不正确动作、状态和/或事件的样本的某种组合来创建蒙特卡罗模拟以各种概率发生。但是,可能还有其他建模方法。
Edit3: @gung 我认为我们不能仅从这些数据中识别出一个过程/机制,但我们可以假设一些与数据一致。然后,这些将在运行研究之前对其他/更详细的测量值(例如试验到试验的分数)进行预测。这很有用,因为它建议在进行实验时寻找和记录什么是重要的。
我想到了另一种可能的机制。下面的模型模拟了在成功的阈值 # (这里 thresh=12)之后主题“满意”的情况。显示的输出方差 = 0.495。如果这个模型是准确的,而不是性能,这些实验似乎可以衡量某种动机阈值。这将与衡量技能水平完全不同,并且会真正改变这些结果的解释方式。但是,该模型预测会话开始时的成功要比结束时多得多。虽然我没有记录这方面的实际数据,但预测与我对所展开的记忆/印象不一致。如果有的话,我怀疑情况恰恰相反。
我正在寻找关于解释可能是什么的进一步想法,因为我在文献中找不到任何提示。
p.motivated=.9; p.unmotivated=.1; n=20; thresh=12; sessions=15
results<-matrix(nrow=sessions)
for(s in 1:sessions){
session.dat<-matrix(nrow=n,0)
for(t in 1:n){
if(sum(session.dat)<thresh){
session.dat[t]<-sample(c(0,1),1,prob=c(1-p.motivated,p.motivated))
}else{
session.dat[t]<-sample(c(0,1),1,prob=c(1-p.unmotivated,p.unmotivated))
}
}
results[s]<-sum(session.dat)
}
hist(results,breaks=seq(0,20,by=1))
var(results)
