回炉重造之统计推断笔记与体会
跟了这个课,作了些笔记
统计推断解决什么问题?
一句话:通过抽样的统计量尽可能还原总体的属性。
背后的数学模型
统计推断的数学模型是概率论。概率论有随机变量这个概念,每个随机变量都有一个分布,该分布有期望和方差这两个属性。这两个属性均是确定值。一个群体数据的特征被缩减为两个确定值,必定会造成信息的丧失,但也使单位信息量的冗余大大降低了,能作为一种模型构建理论体系。
统计假设的两块基石:大数定律和中心极限定理。
统计推断的一般过程:
1.建立数学模型
2.抽样观察样本的特性
3.以此预测总体的特性
原理:
样本是对随机变量的一组抽样。
每组抽样能计算得出一个统计量(如样本均值、样本方差等)。抽样行为本身也是个随机的行为,故样本和其对应的统计量也是随机变量,因此这些统计值也会有自己的分布、期望和方差。
若能找到这样一个统计量,使该统计量的期望=总体分布的某属性,则说该统计值是总体分布该属性的无偏差估计。
大数定律,通俗来说就是样本均值能预测总体分布的期望。
经过一些数学上的论证和基于大数定律,有:
E(Xbar)=mu 样本均值->直接预测总体分布期望
E(S^2)=sigma^2 样本方差S^2->预测总体分布方差,其中一个常见问题是,计算一组数据的方差时,分母为n,但计算S^2时分母为n-1,这是为了满足无偏差估计的性质。若分母为n,则算出的期望为(n-1)/n*sigma^2。数学推导见这里。习惯上把S^2叫做样本方差,但其实不是样本数据的方差(有点绕)。
此外,计算样本均值的方差:
var(Xbar)=sigma^2/n 该值开方后为sigma/sqrt(n),被称为标准误SE,被用来衡量样本相对总体的误差度,能在置信区间等评价结果时看到。可知随着样本容量的增大,能降低标准误。
中心极限定理走得更远,它指出了样本均值在样本容量趋向无穷大时,样本均值满足以期望E(Xbar)与方差var(Xbar)所构成的正态分布。将随机变量Xbar做一些变换,变成变量Z=(Xbar-E(Xbar))/var(Xbar),该变换就是所谓的标准化变换。且Z=(Xbar-mu)/sigma*sqrt(n)~N(0,1) 注:当总体分布已知时,mu和sigma均已知。
Xbar在n足够大后服从正态分布,且Z服从N(0,1)。N(0,1)是一个概率密度函数f(x)确定的分布,那么给定一个百分比q%,就能找到在N(0,1)上的一个区间,使f(x)在该区间上的积分=q%。换句话说,Z以q%的概率落在该区间内。这等价于随机变量(Xbar-mu)/sigma*sqrt(n)以q%的概率落在该区间。
Xbar和n是能够通过样本直接计算得出的。q是给定的。因此若事先知道sigma,就能算出mu以q%的概率会落在的区间。
这就是所谓的置信区间。一般给定q,有2种常用的置信区间。单侧置信区间和双侧置信区间。取决于q%是配给在N(0,1)的两头还是当中。
然而现实中很多情况sigma并不知道,这时就用它的无偏估计量S代替。
则双侧mu的置信区间为:[Xbar-Z(0.5q%)*sqrt(S^2/n),Xbar+Z(0.5q%)*sqrt(S^2/n)], 其中Z(q%)表示令f(x)的积分为q%时,x的取值。
R code: mean(x) + c(-1, 1) * qnorm(0.5*q%) * sd(x)/sqrt(length(x))
其中,惯用的q%为95%。
但是,这个计算还是有偏差的,虽然用了S而非sigma,但这样一来Z=(Xbar-mu)/S*sqrt(n)就不无偏服从N(0,1)了。为此引入变量T=(Xbar-E(Xbar))/S*sqrt(n),变量T就是满足所谓的t分布。将Z(q%)用t(q%,n-1)代替,就能无偏了。在n趋向无穷大时,两个模型的结果应该是一样的,但当n不够大时,t分布的模型才更准确。因此从通用性上来说,当不知道sigma时用t模型更好。
中心极限定理也是有限制的,那就是当n不够大时并不适用。如二项分布和泊松分布。他们有自己总体属性和置信区间。
二项分布总体属性P(数值上=mu)的置信区间:
1)95%置信区间可简化为 [样本测量P值-1/sqrt(n), 样本测量P值+1/sqrt(n)]
2)在样本中人为添加2个成功和2个失败的样本,由此计算出的样本测量P值,再使用正态分布的置信区间公式,可近似模拟。
泊松分布总体属性lamda(数值上=mu)的置信区间:
lambda + c(-1, 1) * qnorm(0.975) * sqrt(lambda/t), 其中lambda和t均为样本测量值
应用:
使用t检验预测两组样本
1)两组样本具有相关性(对照实验),令随机变量difference=两组样本的数值差,计算它所对应的mu的置信区间为[difference-t(q%,n-1)*sqrt(S^2/n),difference+t(q%,n-1)*sqrt(S^2/n)]。若0不在该区间内,说明两组样本确实来自不同的总体。
2)两组样本不具有相关性。用于检验两组样本差异的可信度。公式比较复杂,直接上代码。
R code:
t.test(g2, g1, paired = FALSE, var.equal = TRUE)$conf 已知g1,g2同var
t.test(g2, g1, paired = FALSE, var.equal = FALSE)$conf g1,g2未必同var
假设检验
假设检验的思想是先建立零假设——原分布的期望为mu0(也可假设>或<等),然后通过计算样本的统计量来预测零假设的可能性,若可能性小于给定值,则称为“拒绝零假设”。这里要注意的是,因为这是一个反证法,所以只能否定假设,若零假设的可能性大于给定值,不代表接受零假设。因此这是一种保守的检验方法。然而这个方法会由于样本采集的偶发性产生两类误判。第一类错误是指零假设本身正确,但样本恰好取到了极小可能发生的数据,此时零假设被错误地拒绝了;第二类错误指零假设是错误的,样本却以极小的概率落入了零假设分布的接受区间,此时没能拒绝该被拒绝的零假设。
图中Xbar1是一类错误发生时的样本均值,Xbar2是二类错误发生时的样本均值。衡量假设检验时的这两种错误,就有了alpha和beta的概念。
一次检验的alpha的临界值又被记为P值。
t检验计算P值方法:先计算 t=[Xbar-mu0]/sqrt(S^2/n), 然后p值 p=pt(t, df , lower.tail = FALSE) where df=n-1
p值越小(<0.05)表明或者1)零假设是正确且取样出现小概率事件,或者2)零假设是错的。也就是说p值越小,拒绝假设的可能性越高
至于beta,常使用Power=1-beta来表示当原假设错误时的拒绝能力。
t检验Power的计算方法:power.t.test(n=样本容量, delta=|Xbar-mu0|, sd=S, type="one.sample", alt="one.sided")$power 注:n、delta、sd、Power中知道3个即可算出第4个。
Power越大,beta值越小,第二类错误越不容易发生。增加样本容量能有效增大Power值。
最后一个问题,是如何估计不常用的统计量,如中位数。
这就引入了Bootstrap方法:
设已有样本大小为n,则从该样本中有放回地取样n次,得到样本大小为n的新样本,计算该新样本的统计量。重复该操作B次,则得到大小为B的该统计量的样本。计算该样本的标准差SD,作为总体样本该统计量的标准误SE的估计值。计算该样本的置信区间,作为总体样本该统计量的置信区间
R code:
B <- 1000
resamples <- matrix(sample(x, n * B, replace = TRUE), B, n)
medians <- apply(resamples, 1, median)
sd(medians)
quantile(medians, c(0.025, 0.975))
统计推断解决什么问题?
一句话:通过抽样的统计量尽可能还原总体的属性。
背后的数学模型
统计推断的数学模型是概率论。概率论有随机变量这个概念,每个随机变量都有一个分布,该分布有期望和方差这两个属性。这两个属性均是确定值。一个群体数据的特征被缩减为两个确定值,必定会造成信息的丧失,但也使单位信息量的冗余大大降低了,能作为一种模型构建理论体系。
统计假设的两块基石:大数定律和中心极限定理。
统计推断的一般过程:
1.建立数学模型
2.抽样观察样本的特性
3.以此预测总体的特性
原理:
样本是对随机变量的一组抽样。
每组抽样能计算得出一个统计量(如样本均值、样本方差等)。抽样行为本身也是个随机的行为,故样本和其对应的统计量也是随机变量,因此这些统计值也会有自己的分布、期望和方差。
若能找到这样一个统计量,使该统计量的期望=总体分布的某属性,则说该统计值是总体分布该属性的无偏差估计。
大数定律,通俗来说就是样本均值能预测总体分布的期望。
经过一些数学上的论证和基于大数定律,有:
E(Xbar)=mu 样本均值->直接预测总体分布期望
E(S^2)=sigma^2 样本方差S^2->预测总体分布方差,其中一个常见问题是,计算一组数据的方差时,分母为n,但计算S^2时分母为n-1,这是为了满足无偏差估计的性质。若分母为n,则算出的期望为(n-1)/n*sigma^2。数学推导见这里。习惯上把S^2叫做样本方差,但其实不是样本数据的方差(有点绕)。
此外,计算样本均值的方差:
var(Xbar)=sigma^2/n 该值开方后为sigma/sqrt(n),被称为标准误SE,被用来衡量样本相对总体的误差度,能在置信区间等评价结果时看到。可知随着样本容量的增大,能降低标准误。
中心极限定理走得更远,它指出了样本均值在样本容量趋向无穷大时,样本均值满足以期望E(Xbar)与方差var(Xbar)所构成的正态分布。将随机变量Xbar做一些变换,变成变量Z=(Xbar-E(Xbar))/var(Xbar),该变换就是所谓的标准化变换。且Z=(Xbar-mu)/sigma*sqrt(n)~N(0,1) 注:当总体分布已知时,mu和sigma均已知。
Xbar在n足够大后服从正态分布,且Z服从N(0,1)。N(0,1)是一个概率密度函数f(x)确定的分布,那么给定一个百分比q%,就能找到在N(0,1)上的一个区间,使f(x)在该区间上的积分=q%。换句话说,Z以q%的概率落在该区间内。这等价于随机变量(Xbar-mu)/sigma*sqrt(n)以q%的概率落在该区间。
Xbar和n是能够通过样本直接计算得出的。q是给定的。因此若事先知道sigma,就能算出mu以q%的概率会落在的区间。
这就是所谓的置信区间。一般给定q,有2种常用的置信区间。单侧置信区间和双侧置信区间。取决于q%是配给在N(0,1)的两头还是当中。
然而现实中很多情况sigma并不知道,这时就用它的无偏估计量S代替。
则双侧mu的置信区间为:[Xbar-Z(0.5q%)*sqrt(S^2/n),Xbar+Z(0.5q%)*sqrt(S^2/n)], 其中Z(q%)表示令f(x)的积分为q%时,x的取值。
R code: mean(x) + c(-1, 1) * qnorm(0.5*q%) * sd(x)/sqrt(length(x))
其中,惯用的q%为95%。
但是,这个计算还是有偏差的,虽然用了S而非sigma,但这样一来Z=(Xbar-mu)/S*sqrt(n)就不无偏服从N(0,1)了。为此引入变量T=(Xbar-E(Xbar))/S*sqrt(n),变量T就是满足所谓的t分布。将Z(q%)用t(q%,n-1)代替,就能无偏了。在n趋向无穷大时,两个模型的结果应该是一样的,但当n不够大时,t分布的模型才更准确。因此从通用性上来说,当不知道sigma时用t模型更好。
中心极限定理也是有限制的,那就是当n不够大时并不适用。如二项分布和泊松分布。他们有自己总体属性和置信区间。
二项分布总体属性P(数值上=mu)的置信区间:
1)95%置信区间可简化为 [样本测量P值-1/sqrt(n), 样本测量P值+1/sqrt(n)]
2)在样本中人为添加2个成功和2个失败的样本,由此计算出的样本测量P值,再使用正态分布的置信区间公式,可近似模拟。
泊松分布总体属性lamda(数值上=mu)的置信区间:
lambda + c(-1, 1) * qnorm(0.975) * sqrt(lambda/t), 其中lambda和t均为样本测量值
应用:
使用t检验预测两组样本
1)两组样本具有相关性(对照实验),令随机变量difference=两组样本的数值差,计算它所对应的mu的置信区间为[difference-t(q%,n-1)*sqrt(S^2/n),difference+t(q%,n-1)*sqrt(S^2/n)]。若0不在该区间内,说明两组样本确实来自不同的总体。
2)两组样本不具有相关性。用于检验两组样本差异的可信度。公式比较复杂,直接上代码。
R code:
t.test(g2, g1, paired = FALSE, var.equal = TRUE)$conf 已知g1,g2同var
t.test(g2, g1, paired = FALSE, var.equal = FALSE)$conf g1,g2未必同var
假设检验
假设检验的思想是先建立零假设——原分布的期望为mu0(也可假设>或<等),然后通过计算样本的统计量来预测零假设的可能性,若可能性小于给定值,则称为“拒绝零假设”。这里要注意的是,因为这是一个反证法,所以只能否定假设,若零假设的可能性大于给定值,不代表接受零假设。因此这是一种保守的检验方法。然而这个方法会由于样本采集的偶发性产生两类误判。第一类错误是指零假设本身正确,但样本恰好取到了极小可能发生的数据,此时零假设被错误地拒绝了;第二类错误指零假设是错误的,样本却以极小的概率落入了零假设分布的接受区间,此时没能拒绝该被拒绝的零假设。
![]() |
图中Xbar1是一类错误发生时的样本均值,Xbar2是二类错误发生时的样本均值。衡量假设检验时的这两种错误,就有了alpha和beta的概念。
一次检验的alpha的临界值又被记为P值。
t检验计算P值方法:先计算 t=[Xbar-mu0]/sqrt(S^2/n), 然后p值 p=pt(t, df , lower.tail = FALSE) where df=n-1
p值越小(<0.05)表明或者1)零假设是正确且取样出现小概率事件,或者2)零假设是错的。也就是说p值越小,拒绝假设的可能性越高
至于beta,常使用Power=1-beta来表示当原假设错误时的拒绝能力。
t检验Power的计算方法:power.t.test(n=样本容量, delta=|Xbar-mu0|, sd=S, type="one.sample", alt="one.sided")$power 注:n、delta、sd、Power中知道3个即可算出第4个。
Power越大,beta值越小,第二类错误越不容易发生。增加样本容量能有效增大Power值。
最后一个问题,是如何估计不常用的统计量,如中位数。
这就引入了Bootstrap方法:
设已有样本大小为n,则从该样本中有放回地取样n次,得到样本大小为n的新样本,计算该新样本的统计量。重复该操作B次,则得到大小为B的该统计量的样本。计算该样本的标准差SD,作为总体样本该统计量的标准误SE的估计值。计算该样本的置信区间,作为总体样本该统计量的置信区间
R code:
B <- 1000
resamples <- matrix(sample(x, n * B, replace = TRUE), B, n)
medians <- apply(resamples, 1, median)
sd(medians)
quantile(medians, c(0.025, 0.975))