数理统计

1 统计的基本概念

这里所谓的总体和样本概念就不用谈了吧,直接进入正常的补给思想。

对于统计的任务来说:实际上就是由样本去推断总体

一般开始学习的时候,都是先学的频数表和直方图,表格和图像能够对数据有一个比较直观的认识。频数指的是将数据取值范围划分区间之后,对于单一数据在每个区间内出现的次数的统计。而直方图则是以数据取值为横坐标,而纵坐标为频数画出的图。

数据输入:

1,数据的输入对于少部分数据来说可以使用交互环境下的直接输入;但是对于大量数据,一般用数据文件保存后,再进行读取。

load xxx.txt

一般是放在当前目录下,从而可以用$load$命令进行读入数据。

2,作频数表或者是直方图。

[N,X]=hist(Y,M)

得到数组(行或者列)$Y$的频数表,将区间$[\min(Y),\max(Y)]$等分为$M$份(不指定时自动设定为10),$N$返回$M$个区间的频数,而$X$则返回$M$个区间的中点。

hist(Y,M)  %画出直方图

举例子:

load data.txt;
high=data(:,1:2:9);high=high(:);   %数据处理为列的形式
weight=data(:,2:2:10);weight=weight(:);  %同上
[n1,x1]=hist(high)

2 统计量

一般来说这样观看是比较粗浅的,需要对样本进行加工提取有效信息,才能对总体(分布)参数进行估计和检验。统计量就是加工出来的,反映样本数量特征的函数,不含任何未知量。

2.1 表示位置的统计量:算术平均值和中位数

算术平均值描述数据取值的平均位置,通常记为$\overline{x}$:

$$ \overline{x}=\frac{1}{n}\sum^n_{i=1}x_i \tag{1} $$

而中位数指的是:将数据从小到大排序后位于中间位置的那个数值。

对比两者可以知道差异,那就是均值显然是计算出来的,可能并不是样本中的任何一个数据。而中位数虽然是样本中的一个数据,但是未必能反映整体的数据中心。

在matlab中使用mean(x)返回x的均值,而用median(x)返回中位数。

2.2 表示变异程度的统计量:标准差、方差、极差

标准差$s$定义为:

$$ s=[\frac{1}{n-1}\sum^n_{i=1}(x_i-\overline{x})^2]^{\frac{1}{2}} \tag{2} $$

它表示的是各个数据与均值偏离程度的度量,这种偏离可以视为一种变异。

方差是标准差的平方$s^2$,通常指代的是数据的波动程度,越大波动越强,越小则表明数据近乎一致。

极差是$x=(x_1,x_2,\cdots,x_n)$的最大值与最小值之差。

在matlab中用std(x)返回x的标准差,var(x)返回x的方差,range(x)返回极差。

这里使用的$(n-1)$作为分母是无偏估计的要求,若需要改为被$n$除,则可以考虑使用std(x,1)和var(x,1)来实现。

2.3 中心矩、表示分布形状的统计量:偏度和峰度

随机变量$x$的$r$阶中心矩为$E(x-Ex)^r$。

随机变量$x$的偏度和峰度指的是$x$的标准化变量$(x-Ex)/{\sqrt{Dx}}$的三阶中心矩和四阶中心矩:

$$ v_1=E[(\frac{x-E(x)}{\sqrt{D(x)}})^3]=\frac{E[(x-E(x))^3]}{(D(x))^{\frac{3}{2}}}\\ v_2=E[(\frac{x-E(x)}{\sqrt{D(x)}})^4]=\frac{E[(x-E(x))^4]}{(D(x))^{2}}\\ $$

偏度反映分布的对称性,$v_1 \gt 0$称为右偏态,此时数据位于均值右边的比位于左边的多;$v_1 \lt 0$被称为左偏态,情况相反;当$v_1$接近于0的时候可以认为分布是对称的。

峰度反映分布形状的另一种度量,正态分布的峰度为3,若$v_2$比3大得多,表示分布有沉重的尾巴(肥尾),说明样本中含有较多远离均值的数据,所以峰度可以用作衡量偏离正态分布的尺度之一

在Matlab中使用moment(x,order)返回x的order阶中心矩,order为中心矩的阶数。skewness(x)返回x的偏度,kurtosis(x)返回x的峰度。

在以上用 Matlab 计算各个统计量的命令中,若x为矩阵,则作用于 x 的列,返回一个行向量。(所以一般采用列向量的形式而不是矩阵)

举个例子:

clc
load data.txt;
high=data(:,1:2:9);high=high(:);
weight=data(:,2:2:10);weight=weight(:);
shuju=[high weight];  %数据
jun_zhi=mean(shuju)   %均值
zhong_wei_shu=median(shuju)  %中位数
biao_zhun_cha=std(shuju)    %标准差
ji_cha=range(shuju)      %极差
pian_du=skewness(shuju)    %偏度
feng_du=kurtosis(shuju)    %峰度

统计量中最重要、最常用的是均值和标准差,由于样本是随机变量,它们作为样本的函数自然也是随机变量,当用它们去推断总体时,有多大的可靠性就与统计量的概率分布有关,因此我们需要知道几个重要分布的简单性质。

3 统计中的几个重要的概率分布

3.1 分布函数、密度函数和分位数

随机变量的特性完全由它的(概率)分布函数或(概率)密度函数来描述。设随机变量$X$,其分布函数定义为$X \le x$的概率,也就是$F(x)=P\left\{X \le x\right\}$。若$X$是连续型随机变量,则其密度函数$p(x)$和$F(x)$的关系为:

$$ F(x)=\int_{-\infty}^{x} p(x)\, dx $$

这里揭示了离散型和连续型随机变量的分布函数$F(x)$与密度函数$p(x)$的关系。

上$\alpha$分位数是常用的一个概念,定义为:对于$0 \lt \alpha \lt 1$,使某分布函数$F(x)=1-\alpha$ 的$x$。称为这个分布的上$\alpha $分位数。记作$x_{\alpha}$

最早我们讲的频数分布图,频数除以样本容量$n$,称为概率。当$n$充分大的时候频率则是概率的近似,所以这种情况下粗略的看,直方图可以看作是密度函数图形的(离散化)近似。

3.2 统计中的几个重要的概率分布

3.2.1 正态分布

正态分布可以说是最常用的一个分布了。正态分布随机变量$X$的密度函数曲线呈现出中间高两边低、对称的钟形,期望(均值):$E(x)=\mu$,方差$DX=\sigma^2$,记作$X{\sim}N(\mu,\sigma^2)$,$\sigma$称为均方差或者是标准差。当$\mu=0,\sigma=1$时称为标准正态分布,记作$X{\sim}N(0,1)$。正态分布完全由均值$\mu$和方差$\sigma^2$决定,它的偏度为0,峰度为3。

多数情况都服从正态分布,因为理论上:在大量相互独立的、作用差不多大的随机因素影响下生成的随机变量,其极限分布正是正态分布。

由于非常常见,所以有以下几个经验数据:

68%的数值落在距均值左右1个标准差的范围内,即:

$$ P\left\{\mu-\sigma \le X \le \mu+\sigma\right\}=0.68; $$

95%的数值落在距均值左右2个标准差的范围内,即:

$$ P\left\{\mu-2\sigma \le X \le \mu+2\sigma\right\}=0.95; $$

99.7%的数值落在距均值左右3个标准差的范围内,即:

$$ P\left\{\mu-3\sigma \le X \le \mu+3\sigma\right\}=0.997; $$

3.2.2 $\chi^2$分布

若$X_1,X_2,\cdots,X_n$为相互独立的、服从标准正态分布$N(0,1)$的随机变量,则它们的平方和$Y=\sum^n_{i=1}X_i^2$服从$\chi^2$分布,记作$Y \sim \chi^2(n)$,$n$称自由度,它的期望$EY=n$,方差$DY=2n$

这里要注意了,指的是一列服从标准正态分布且相互独立的随机变量,其平方和才服从这个$\chi^2$分布。

而且我们仅仅拥有它的期望和方差。

3.2.3 $t$分布

若$X{\sim}N(0,1)$,$Y \sim \chi^2(n)$,且相互独立,则$T=\frac{X}{\sqrt{Y/n}}$服从$t$分布,记作$T{\sim}t(n)$,$n$称自由度。且$t$分布的别名叫做学生分布。

$t$分布的密度曲线和$N(0,1)$曲线形状很相似,理论上$n\to \infty$时,有$T{\sim}t(n){\to}N(0,1)$,实际上当$n \gt 30$时,就已经差不多一样了。

3.2.4 $F$分布

若$X{\sim}\chi^2(n_1),Y{\sim}\chi^2(n_2)$,且相互独立,则$F=\frac{X/n_1}{Y/n_2}$服从$F$分布,记作:$F{\sim}F(n_1,n_2)$,$(n_1,n_2)$称为自由度。

3.3 Matlab统计工具箱中的概率分布

matlab统计工具箱中一共有27中概率分布,这里我们仅仅讨论我们上面见过的4种。

norm正态分布chi2$\chi^2$分布
t$t$分布f$F$分布

工具箱对每一种分布都提供5类函数,其命令为:

命令意义
pdf概率密度
cdf分布函数
inv分布函数的反函数
stat均值与方差
rnd随机数生成

当需要一种分布的某一类函数时, 将以上所列的分布命令字符与函数命令字符接起来,并输入自变量(可以是标量、数组或矩阵)和参数就行了,如:

p=normpdf(x,mu,sigma)

均值mu、标准差sigma的正态分布在$x$的密度函数(缺省则为0-1正态分布)

p=tcdf(x,n)

$t$分布(自由度n)在$x$的分布函数

x=chi2inv(p,n)

$\chi^2$分布(自由度n)使分布函数$F(x)=p$的$x$(也就是$p$分位数)

[m,v]=fstat(n1,n2)

$F$分布(自由度$(n_1,n_2) $)的均值m和方差v。

这几个分布的密度函数图形可以用这些命令作出:

x=-6:0.01:6;y=normpdf(x);z=normpdf(x,0,2);
plot(x,y,x,z),gtext('N(0,1)'),gtext('N(0,2^2)')

分布函数的反函数意义则是:

x=chi2inv(0.9,10)
x =
 15.9872

反过来计算:

P=chi2cdf(15.9872,10)
P =
 0.9000

3.4 正态总体统计量的分布

用样本来推断总体,需要知道样本统计量的分布,而样本又是一组与总体同分布的随机变量,所以样本统计量的分布依赖于总体的分布。当总体服从一般的分布时,求某个样本统计量的分布是很困难的,只有在总体服从正态分布时,一些重要的样本统计量(均值、标准差)的分布才有便于使用的结果。

意思就是:样本分布依赖于总体分布,所以以小见大可以;但是如果用总体去判断某个样本,那就不一定了,需要个更好地条件——总体服从于正态分布。

于是乎一般情况下,我们都会假设数据总体是服从正态分布的。

设总体$X{\sim}N(\mu,\sigma^2),x_1,x_2,\cdots,x_n$为一容量$n$的样本,其均值$\overline{x}$和标准差$s$由式(1)、(2)确定,则用$\overline{x}$和$s$构造的下面几个分布在统计中十分有用。

$$ \overline{x}{\sim}N(\mu,\frac{\sigma^2}{n})或\frac{\overline{x}-\mu}{\sigma/\sqrt{n}}{\sim}N(0,1) \tag{3}\\ $$

$$ \frac{(n-1)s^2}{\sigma^2}{\sim}{\chi^2}(n-1) \tag{4} \\ $$

$$ \frac{\overline{x}-\mu}{s/\sqrt{n}}{\sim}t(n-1) \tag{5} $$

设有两个总体$X{\sim}N(\mu_1,\sigma_1^2)$和$Y{\sim}N(\mu_2,\sigma_2^2)$,以及由容量分别为$n_1,n_2$的两个样本确定的均值$\overline{x},\overline{y}$和标准差$s_1,s_2$,则

$$ \frac{(\overline{x}-\overline{y})-(\mu_1-\mu_2)}{\sqrt{\sigma^2_1/n_1+\sigma^2_2/n_2}}{\sim}N(0,1) \tag{6} $$

$$ \frac{(\overline{x}-\overline{y})-(\mu_1-\mu_2)}{s_w\sqrt{1/n_1+1/n_2}}{\sim}t(n_1+n2-2) \tag{7} $$

其中$s_w^2=\frac{(n_1-1)s_1^2+(n_2-1)s_2^2}{n_1+n_-2}$

$$ \frac{s_1^2/\sigma^2_1}{s^2_2/\sigma^2_2}{\sim}F(n_1-1,n_2-1) \tag{8} $$

对于(7)式,假定$\sigma_1=\sigma_2$,但是他们未知,所以用$s$来替代。

4 参数估计

利用样本对总体进行统计推断的一类问题是参数估计:假定已知道总体的分布,通常是$X{\sim}N(\mu,\sigma^2)$,估计有关的参数,如$\mu,\sigma^2$。参数估计分为点估计和区间估计这两种。(以小见大,且已知总体分布)

4.1 点估计

点估计是用样本统计量确定总体参数的一个数值。评价估计优劣的标准有:无偏性、最小方差性、有效性等,估计的方法有矩法、极大似然法等。

最常用的是对总体均值$\mu$和方差$\sigma^2$(或者是标准差$\sigma $)作点估计。在不看评价标准的情况下,当得到一个样本按照式(1)(2)算出样本的均值$\overline{x} $和方差$s^2$后,对$\mu$和$\sigma^2$(或$ \sigma $)一个自然、合理的点估计显然是(在字母上加上$\hat{}$表示它的估计值)

$$ \hat{\mu}=\overline{x},\hat{\sigma}^2=s^2,\hat{\sigma}=s \tag{9} $$

4.2 区间估计

点估计虽然给出了待估参数的一个数值,却没有告诉我们这个估计值的精度和可信程度。一般地,总体的待估参数记作$\theta$(如$\mu, \sigma^2 $),由于样本算出的$\theta$的估计量记作$\hat{\theta}$,人们希望给出一个区间$[\hat{\theta}_1,\hat{\theta}_2]$,使$\theta$以一定的概率落在此区间内。若有:

$$ P\left\{\hat{\theta}_1 \lt \theta \lt \hat{\theta}_2\right\} = 1-\alpha,0 \lt \alpha \lt 1 \tag{10} $$

若有,则$[\hat{\theta}_1,\hat{\theta}_2]$称为$\theta$的置信区间,$\hat{\theta}_1,\hat{\theta}_2$分别称为置信下限和置信上限,$1-\alpha$称为置信概率或者置信水平,$\alpha$称为显著性水平。

给出的置信水平为$1-\alpha$的置信区间$[\hat{\theta}_1,\hat{\theta}_2]$,称为$\theta$的区间估计。置信区间越小,估计的精度越高;置信水平越大,估计的可信程度就越高。但是显然这两个指标是矛盾的,通常是在一定的置信水平下使置信区间尽量小。也就是说:区间估计给出了点估计的误差范围。

4.3 参数估计的Matlab实现

Matlab 统计工具箱中,有专门计算总体均值、标准差的点估计和区间估计的函数。对于正态总体,命令是:

[mu,sigma,muci,sigmaci]=normfit(x,alpha)

其中$x$为样本(数组或者是矩阵),alpha为显著性水平$\alpha$(缺省时设定为0.05),返回总体均值$\mu$和标准差$\sigma$的点估计mu和sigma,以及总体均值$\mu$和标准差$\sigma$的区间估计muci和sigmaci。当$x$为矩阵时,$x$的每一列作为一个样本。

当然该工具箱还提供了一些具有特定分布总体的区间估计的命令,如:expfit,poissfit,gamfit,可以看出是指数分布,泊松分布,伽马分布。

5 假设检验

统计推断的另一类重要问题是假设检验问题。 在总体的分布函数完全未知或只知其形式但不知其参数的情况, 为了推断总体的某些性质, 提出某些关于总体的假设。 例如,提出总体服从泊松分布的假设,又如对于正态总体提出数学期望等于$\mu_0$的假设等。 假设检验就是根据样本对所提出的假设做出判断:是接受还是拒绝。这就是所谓的假设检验问题。

5.1 单个总体$N(\mu,\sigma^2)$均值$\mu$的检验

假设检验分为三种:

双边检验:$H_0:\mu=\mu_0,H_1:\mu \not= \mu_0;$

右边检验:$H_0:\mu \le \mu_0,H_1:\mu \gt \mu_0;$

左边检验:$H_0:\mu \ge \mu_0,H_1:\mu \lt \mu_0;$

5.1.1 $\sigma^2$已知,关于$\mu$的检验($Z$检验)

在Matlab中$Z$检验法用函数ztest来实现,命令为:

[h,p,ci]=ztest(x,mu,sigma,alpha,tail)

其中输入参数$x$是样本,mu是$H_0$中的$\mu_0$,sigma是总体标准差$\sigma$,alpha是显著性水平$\alpha$(缺省时设定为0.05),tail是对备选假设$H_1$的选择:$H_1:\mu \not= \mu_0$时候,可以用tail=0(缺省时候就是);$H_1:\mu \gt \mu_0$时用tail=1;$H_1:\mu \lt \mu_0$时用tail=-1。输出参数h=0表示接受$H_0$,h=1表示拒绝$H_0$,p表示在假设$H_0$下样本均值出现的概率,p越小$H_0$越值得怀疑,ci是$\mu_0$的置信区间。

5.1.2 $\sigma^2$未知,关于$\mu$的检验($ t $检验)

在Matlab中$t$检验法用函数ttest来实现,命令为:

[h,p,ci]=ttest(x,mu,alpha,tail)

5.2 两个正态总体均值差的检验($ t $检验)

还可以用$t$检验法检验具有相同方差的2个正态总体均值差的假设。在Matlab中由函数ttest2实现,命令为:

[h,p,ci]=ttest2(x,y,alpha,tail)

与ttest相比,不同之处在于输入的是两个样本x,y(其长度不一定相同);而不是一个样本与它的总体均值。

5.3 分布拟合检验

在实际问题中,有时不能预知总体服从什么类型的分布,这时候就要根据样本来检验关于分布的假设,下面介绍$\chi^2$检验法,和专门用于检验分布是否为正态分布的“偏度,峰度”检验法。

5.3.1 $\chi^2$检验法

$H_0$:总体$x$的分布函数为$F(x)$
$H_1$:总体$x$的分布函数不是$F(x)$

在用下面的$\chi^2$检验法来检验假设$H_0$时,若在假设$H_0$下$F(x)$的形式已知,但其参数值未知,这个时候需要先用极大似然估计法来估计参数,然后再做检验。

具体的思想就不解释了,简单来说就是皮尔逊证明了一个定理:在样本数充分大且原假设为真的情况下,可以无视分布,然后统计量近似服从于自由度为$k-r-1$的$\chi^2$分布,其中$r$是被估计的参数的个数。

但是需要注意的是:在使用$\chi^2$检验法时,要求样本容量$n$不小于50,以及每个$np_i$都不小于5,而且$np_i$最好是在5以上,否则应当适当合并$A_i$,以满足需求。其中$A_i$为随机试验可能结果分出来的不相容事件;$p_i=P(A_i)$。

clc
x=[141 148 132 138 154 142 150 146 155 158 ...
150 140 147 148 144 150 149 145 149 158 ...
143 141 144 144 126 140 144 142 141 140 ...
145 135 147 146 141 136 140 146 142 137 ...
148 154 137 139 143 140 131 143 141 149 ...
148 135 148 152 143 144 141 143 147 146 ...
150 132 142 142 143 153 149 146 149 138 ...
142 149 142 137 134 144 146 147 140 142 ...
140 137 152 145];
mm=minmax(x)  %求数据中的最小数和最大数
hist(x,8) %画直方图
fi=[length(find(x<135)),...
 length(find(x>=135&x<138)),...
 length(find(x>=138&x<142)),...
 length(find(x>=142&x<146)),...
 length(find(x>=146&x<150)),...
 length(find(x>=150&x<154)),...
 length(find(x>=154))] %各区间上出现的频数
mu=mean(x),sigma=std(x) %均值和标准差
fendian=[135,138,142,146,150,154] %区间的分点
p0=normcdf(fendian,mu,sigma) %分点处分布函数的值(认为是正态分布)
p1=diff(p0) %中间各区间的概率
p=[p0(1),p1,1-p0(6)] %所有区间的概率
chi=(fi-84*p).^2./(84*p)
chisum=sum(chi) %皮尔逊统计量的值
x_a=chi2inv(0.9,4) %chi2 分布的0.9分位数

求得皮尔逊统计量chisum=2.2654,$\chi^2_{0.1}(7-2-1)=\chi^2_{0.1}(4)=7.7794$,故在水平0.1下接受$H_0$,也就是认为数据来自于正态分布全体。(chisum小于后面的卡方统计量)

5.3.2 偏度、峰度检验

这个和最早讲的一样,正态分布的峰度是3,而偏度为0(对称)

5.4 其它非参数检验

Matlab还提供了一些非参数方法

5.4.1 Wilcoxon秩和检验

在Matlab中,秩和检验由函数ranksum实现。命令为:

[p,h]=ranksum(x,y,alpha)

其中x,y可以是不等长的向量,alpha为给定的显著参数必须为0-1之间的数量。p返回产生两个独立样本的总体是否相同的显著性概率。h返回假设检验的结果。如果x和y的总体差别不显著,则h为0;若x和y的总体差别显著,则h=1。如果p接近于0,则可以对原假设质疑。

a=[7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5];
b=[5.7 3.2 4.2 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5
12.3];
[p,h]=ranksum(a,b)

求得p=0.8041,h=0表明两个岩本的总体均值相等的概率为0.8041,并不很接近于0,且h=0说明是可以接受原假设的。

5.5 中位数检验

在假设检验中还有一种检验方法为中位数检验,在一般的教学中不一定介绍,但在实际中也是被广泛应用到的。 在Matlab中提供了这种检验的函数。 函数的使用方法简单,下面只给出函数介绍。

5.5.1 signrank函数

signrank Wilcoxon符号秩检验:

[p,h]=signrank(x,y,alpha)

其中p给出 两个配对样本x和y的中位数相等的假设的显著性概率。向量x,y的长度必须相同,alpha为给出的显著性水平,取值为0和1之间的数。h返回假设检验的结果。如果这两个样本的中位数之差几乎为0,则h=0;若有显著差异,则h=1。

5.5.2 signtest函数

signtest 符号检验

[p,h]=signtest(x,y,alpha)

其中p给出两个配对样本x和y的中位数相等的假设的显著性概率。x和y若为向量,二者的长度必须相同; y亦可为标量, 在此情况下, 计算x的中位数与常数y之间的差异。 alpha和h同上。

Last modification:August 17th, 2019 at 12:58 pm
如果觉得我的文章对你有用,请随意赞赏