t分布
在概率论和统计学中,t-分布(t-distribution)用于根据小样本来估计呈正态分布且方差未知的总体的均值。如果总体方差已知(例如在样本数量足够多时),则应该用正态分布来估计总体均值。
t分布曲线形态与n(确切地说与自由度df)大小有关。与标准正态分布曲线相比,自由度df越小,t分布曲线愈平坦,曲线中间愈低,曲线双侧尾部翘得愈高;自由度df愈大,t分布曲线愈接近正态分布曲线,当自由度df=∞时,t分布曲线为标准正态分布曲线。
t分布和正态分布的关系
相对于正态分布,t分布额外多了一个参数,自由度。自由度 df= n - 1。我们先看几个例子,主观感受一下t分布 。参考链接
df = 1 :
df = 2 :
红色 df= 2,其高于 df= 1 的绿色,低于正态分布
df= 3 :
红色 df = 3,其高于 df= 1,2 的绿色,低于正态分布
df = 10 :
红色 df= 10,其高于 df= 1~9的绿色,低于正态分布
可见,随着样本量n / 自由度的增加,t分布越来越接近正态分布。正态分布,可以看做只是t分布的一个特例而已
那为什么说t分布适合小样本呢?
我们来比较一下下图中的两条曲线。这两条曲线同样都是对图中底部6个黑色点(数值)进行分布拟合。
可以看见当有一个异常值偏离大多数样本时,正态分布由于尾部很低,那么将这一点纳入它的胸膛而非留在尾部,这导致正态分布的均数,远远偏离了大多数点所在的位置,标准差也极大。
这也是T分布被广泛应用于小样本假设检验的原因。虽然是很小的样本,但是,却强大到可以轻松的排除异常值的干扰,准确把握住数据的特征(集中趋势和离散趋势)
置信区间
置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度,其给出的是被测量参数的测量值的可信程度,即前面所要求的“一个概率”。
当样本数量n=5时,则自由度df=4,我们就可以查找表中以4开头的行。该行第5列值为2.132,对应的单侧值为95%(双侧值为90%)。这也就是说,T小于2.132的概率为95%(即单侧),记为Pr(−∞ < T < 2.132) = 0.95;同时,T值介于-2.132和2.132之间的概率为90%(即双侧),记为Pr(−2.132 < T < 2.132) = 0.9。
# R中使用qt可以查询
> qt(0.95,df=4)
[1] 2.131847
拟合正态分布
- dt() gives the density,返回值是正态分布概率密度函数(density)
- pt()gives the distribution function,返回值是正态分布的分布函数(probability)
- qt()gives the quantile function,返回值是给定概率p后的下百分位数(quantitle)
- rt()generates random deviates,返回值是n个正态分布随机误差构成的向量
比如:设置范围在[-4,4]之间的200个数,dt求得数组x的自由度df=10的正态分布密度,出图
> x <- seq(-4, 4, length=200)
> y=dt(x,df=10)
> z=data.frame(x,y)
> ggplot(z, aes(x,y))+geom_line()
检验数据是否服从正态分布
数据为正态分布,使用t.test()
数据非正态分布,使用wilcoxon's U test
> x=rnorm(200)
> t.test(x)
One Sample t-test
data: x
t = -0.17504, df = 199, p-value = 0.8612
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
-0.1392890 0.1165766
sample estimates:
mean of x
-0.01135616
# 若零假设成立则p值在[0,1]之间为均匀分布
> for (i in 1:1000) {
+ p <- append(p, t.test(x)$p.value)
+ }
> hist(p, col='light blue')
image.png
网友评论