- 已编辑
做了一个统计模拟:总体为正态总体,总体容量为1000,总体均值的真值U=170。
原假设H0为:u=165。假设检验所用的统计量为t统计量。
总体标准差分别为100、500、1000。
请问:在样本容量不变的情况下,如n=50。总体标准差更大时,基于随机抽样样本数据得到的p值更小,还是总体标准差更小时,得到的p值更小呢?
做了一个统计模拟:总体为正态总体,总体容量为1000,总体均值的真值U=170。
原假设H0为:u=165。假设检验所用的统计量为t统计量。
总体标准差分别为100、500、1000。
请问:在样本容量不变的情况下,如n=50。总体标准差更大时,基于随机抽样样本数据得到的p值更小,还是总体标准差更小时,得到的p值更小呢?
按楼主的题设,50个样本,u=170, sd = 100, 500, 1000 , 分别模拟一百次,每次模拟生成50个随机数字并以mu=165做t检验计算P值,三个条件下P值结果汇总在图里
结论是P区别没有
library(ggplot2)
test1= sapply(1:100,function(i){
x=rnorm(n = 50,mean = 170,sd=100)
p=t.test(x,mu = 165)$p.value
return(p)
})
test2= sapply(1:100,function(i){
x=rnorm(n = 50,mean = 170,sd=500)
p=t.test(x,mu = 165)$p.value
return(p)
})
test3= sapply(1:100,function(i){
x=rnorm(n = 50,mean = 170,sd=1000)
p=t.test(x,mu = 165)$p.value
return(p)
})
df=data.frame(
group=c(rep("sd100",100),rep("sd500",100),rep("sd1000",100)),
p=c(test1,test2,test3)
)
df %>% ggplot(aes(x=group,y=p))+
geom_boxplot()
在这种情况下,我们用来进行t检验的统计量是不是:T=(xbar-mu) / [sqrt(var(x)/n]。
那么,当总体方差比较大的话,分母的var(x)就倾向于比较大。那么,当总体方差比较大时,这时为什么不是T值倾向于越小,从而导致p值倾向于越大呢
huyang 我刚准备说同样的话,你快了一步。标准差如此之大的情况下,只取 50 个样本来模拟,基本是盲人摸象。
p_sd = function(n = 50, S = c(100, 500, 1000)) {
p = lapply(S, function(s) {
replicate(100, t.test(rnorm(n, 5, s))$p.value)
})
d = data.frame(p = unlist(p), s = rep(sprintf('sd = %s', S), each = 100))
boxplot(p ~ s, data = d)
}
p_sd()
p_sd(500)
p_sd(5000)
p_sd(50000) # 终于信了你的邪哟
p_sd(S = c(10, 20, 30)) # 或按楼上说的减小标准差
首先,p value的一个定义是在原假设成立的前提下,观察到比当前结果更极端的情况的概率有多少。从这个角度来说,当你一次检验,得到了当前的观察结果后,p value就确定了,不会因为你的潜在的真实分布的标准差变化而变化了。
总体标准差更大时,基于随机抽样样本数据得到的p值更小,还是总体标准差更小时,得到的p值更小呢?
如前所述,pvlaue是在给定试验结果后计算出来的。真实标准差的变化,不会直接等价于一次试验pvalue会如何变化,所以这个问题的答案是没有人能保证哪个的pvalue会更小。
你实际想问的一个问题,可能是随着真实分布标准差的变化,检验的p value的分布是如何变化的。这里为了简化讨论,我们就用一个单边的均值检验,并且认为总体标准差已知(这样拿掉了计算中绝对值,正态和T联合分布这两个稍微复杂的点),也不考虑总体样本1000这样的有限总体。那么 “p value”实际就是
其中 服从H0下的样本均值分布, 服从真实总体的样本均值分布,且, 独立。
如果你给定,即给出一次试验的结果,那么pvalue就可以计算出来,它只依赖于H0分布,这就是我们常规说的pvalue。而当前还未给定,那么上式和常规的pvalue的含义是有所区别的(可以视作常规的pvalue在某一给定真实分布下的均值?),但是应该可以满足当前的论述需求。可以发现pvalue就是的概率,不等号左侧,这个随机变量的分布也是正态:
因此可以发现,随着真实分布标准差的增大,“平均而言”的pvalue会增大。但是就像前面模拟已经验证过的,这个标准差太大了,样本量太少,基本无法看出来这个pvalue均值的变化。
另一个你可能在想的事,是说是否随着真实标准差增大,试验更不容易得到显著的结果,这个也是肯定的。还是以上面用的简单例子而言,一次检验结果是否显著,就看(这里我们姑且认为,你在H0下的标准差是和你的真实分布一样的)
这个概率能不能小于0.05,小于0.05了,那就显著。这里我用的单侧95%,所以界值在1.64。那么现在真实分布已经有了,我们可以计算检验power,也就是拒绝H0的概率,化减出来就是
其中Z是个标准正态。也可以看到,随着真实标准差增大,这个概率值是在变小的,也就是随着真实分布标准差变大,检验效能减小,更不容易拒绝原假设。但是就现在这个标准差和均值差异的设置,实际上看不出太大区别。
谢谢几位大神从不同角度的解释,非常感谢!