概率统计Python计算(38)用样本均值和方差计算总体参数的点估计

设来自总体 X X X的简单样本为 ( X 1 , X 2 , ⋯   , X n ) (X_1, X_2,\cdots,X_n) (X1,X2,,Xn)。样本均值为 X ‾ = 1 n ∑ i = 1 n X i \overline{X}=\frac{1}{n}\sum\limits_{i=1}^nX_i X=n1i=1nXi,样本方差为 S 2 = 1 n − 1 ∑ i = 1 n ( X i − X ‾ ) 2 S^2=\frac{1}{n-1}\sum\limits_{i=1}^n(X_i-\overline{X})^2 S2=n11i=1n(XiX)2。用Python的numpy包提供的array对象表示样本观测值 ( x 1 , x 2 , ⋯   , x n ) (x_1,x_2,\cdots,x_n) (x1,x2,,xn),则运用array对象的mean方法可算得样本均值的观测值 x ‾ = 1 n ∑ i = 1 n x i \overline{x}=\frac{1}{n}\sum\limits_{i=1}^nx_i x=n1i=1nxi,这是一个无参函数。用array对象的var方法可算得样本方差的观测值 s 2 = 1 n − 1 ∑ i = 1 n ( x i − x ‾ ) 2 s^2=\frac{1}{n-1}\sum\limits_{i=1}^n(x_i-\overline{x})^2 s2=n11i=1n(xix)2,其调用接口为
var(ddof=0) \text{var(ddof=0)} var(ddof=0)
参数ddof确定算得的结果为 1 n − ddof ∑ i = 1 n ( x i − x ‾ ) 2 \frac{1}{n-\text{ddof}}\sum\limits_{i=1}^n(x_i-\overline{x})^2 nddof1i=1n(xix)2,缺省值为0,即计算样本2阶原点矩 1 n ∑ i = 1 n ( x i − x ‾ ) 2 \frac{1}{n}\sum\limits_{i=1}^n(x_i-\overline{x})^2 n1i=1n(xix)2。即传递1给ddof,则var算得 s 2 s^2 s2
利用array的std方法则可计算 ( x 1 , x 2 , ⋯   , x n ) (x_1,x_2,\cdots,x_n) (x1,x2,,xn)的标准差,其调用接口为
std(ddof=0) \text{std(ddof=0)} std(ddof=0)
参数ddof的意义与var的同名参数相同。即传递1给ddof,std算得 s = s 2 s=\sqrt{s^2} s=s2
例1 设总体 X X X的样本观测值为1502,1453,1367,1650,求样本均值,样本方差和样本均方差。
:样本均值为 x ‾ = 1 4 ( 1502 + 1453 + 1376 + 1650 ) = 1493. \overline{x}=\frac{1}{4}(1502+1453+1376+1650)=1493. x=41(1502+1453+1376+1650)=1493.样本方差为 s 2 = 1 3 [ ( 1502 − 1493 ) 2 + ( 1453 − 1493 ) 2 + ( 1376 − 1493 ) 2 + ( 1650 − 1493 ) 2 ] = 14068.667. s^2=\frac{1}{3}[(1502-1493)^2+(1453-1493)^2+(1376-1493)^2+(1650-1493)^2]=14068.667. s2=31[(15021493)2+(14531493)2+(13761493)2+(16501493)2]=14068.667.样本均方差为 s = s 2 = 14068.667 = 118.611. s=\sqrt{s^2}=\sqrt{14068.667}=118.611. s=s2 =14068.667 =118.611.
下列代码验算本例计算结果。

import numpy as np                      #导入numpy
x=np.array([1502, 1453, 1367, 1650])    #设置样本数据
mean=x.mean()                           #计算样本均值
s2=x.var(ddof=1)                        #计算样本方差
s=x.std(ddof=1)                         #计算样本均方差
print('x_=%.4f'%mean)
print('s^2=%.4f'%s2)
print('s=%.4f'%s)

第3行调用array对象x的mean方法,计算样本均值 x ‾ \overline{x} x,第4,5行分别调用x的var方法和std方法计算样本方差 s 2 s^2 s2和样本均方差 s s s。运行程序,输出

x_=1493.0000
s^2=14068.6667
s=118.6114

由于 X ‾ \overline{X} X S 2 S^2 S2是总体均值 μ \mu μ和总体方差 σ 2 \sigma^2 σ2的无偏估计,故可运用array对象的上述方法来计算 μ \mu μ σ 2 \sigma^2 σ2的点估计值,然后直接或间接地计算总体的未知参数估计值。
例2 设总体 X X X~ U ( a , b ) U(a, b) U(a,b) a a a b b b未知。 ( X 1 , X 2 , ⋯   , X n ) (X_1,X_2,\cdots,X_n) (X1,X2,,Xn)为来自 X X X的样本,用样本均值 X ‾ \overline{X} X和样本方差 S 2 S^2 S2计算 a a a b b b的估计量。设容量 n = 20 n=20 n=20的样本观测值为
1.248 , 1.664 , 1.101 , 1.967 , 1.468 , 1.140 , 1.434 , 1.063 , 1.878 , 1.375 1.819 , 1.704 , 1.328 , 1.619 , 1.830 , 1.764 , 1.034 , 1.553 , 1.878 , 1.166 1.248,1.664,1.101,1.967,1.468,1.140,1.434,1.063,1.878,1.375\\ 1.819,1.704,1.328,1.619,1.830,1.764,1.034,1.553,1.878,1.166 1.248,1.664,1.101,1.967,1.468,1.140,1.434,1.063,1.878,1.3751.819,1.704,1.328,1.619,1.830,1.764,1.034,1.553,1.878,1.166
计算 a a a b b b的估计值。
:我们知道 E ( X ) = a + b 2 E(X)=\frac{a+b}{2} E(X)=2a+b D ( X ) = ( b − a ) 2 12 D(X)=\frac{(b-a)^2}{12} D(X)=12(ba)2。用样本均值 X ‾ = 1 n ∑ i = 1 n X i \overline{X}=\frac{1}{n}\sum\limits_{i=1}^{n}X_i X=n1i=1nXi和样本方差 S 2 = 1 n − 1 ∑ i = 1 n ( X i − X ‾ ) 2 S^2=\frac{1}{n-1}\sum\limits_{i=1}^{n}(X_i-\overline{X})^2 S2=n11i=1n(XiX)2,分别估计 E ( X ) E(X) E(X) D ( X ) D(X) D(X)。即
{ a ∧ + b ∧ 2 = X ‾ ( b ∧ − a ∧ ) 2 12 = S 2 \begin{cases} \frac{\stackrel{\wedge}{a}+\stackrel{\wedge}{b}}{2}=\overline{X}\\\frac{(\stackrel{\wedge}{b}-\stackrel{\wedge}{a})^2}{12}=S^2 \end{cases} 2a+b=X12(ba)2=S2
解此方程组,得参数 a a a b b b的估计量
{ a ∧ = X ‾ − 3 S b ∧ = X ‾ + 3 S \begin{cases}\stackrel{\wedge}{a}=\overline{X}-\sqrt{3}S\\\stackrel{\wedge}{b}=\overline{X}+\sqrt{3}S\end{cases} { a=X3 Sb=X+3 S
其中, S = S 2 S=\sqrt{S^2} S=S2 为样本标准差。
样本均值的观测值为
x ‾ = 1 20 ( 1.248 + 1.664 + ⋯ + 1.166 ) = 1.502 \overline{x}=\frac{1}{20}(1.248+1.664+\cdots+1.166)=1.502 x=201(1.248+1.664++1.166)=1.502
样本方差的观测值为
s 2 = 1 19 [ ( 1.248 − 1.502 ) 2 + ( 1.664 − 1.501 ) + ⋯ + ( 1.166 − 1.502 ) ] = 0.094 s^2=\frac{1}{19}[(1.248-1.502)^2+(1.664-1.501)^+\cdots+(1.166-1.502)^]=0.094 s2=191[(1.2481.502)2+(1.6641.501)++(1.1661.502)]=0.094
样本均方差 s = s 2 = 0.307 s=\sqrt{s^2}=0.307 s=s2 =0.307,代入 a a a b b b估计量表达式
{ a ∧ = x ‾ − 3 s = 0.970 b ∧ = x ‾ + 3 s = 2.034 . \begin{cases}\stackrel{\wedge}{a}=\overline{x}-\sqrt{3}s=0.970\\\stackrel{\wedge}{b}=\overline{x}+\sqrt{3}s=2.034\end{cases}. { a=x3 s=0.970b=x+3 s=2.034.
下列代码验算本例计算结果。

import numpy as np                              #导入numpy
x=np.array([1.248, 1.664 ,1.101 ,1.967 ,1.468,  #设置样本数据数组
            1.140, 1.434, 1.063, 1.878, 1.375,
            1.819, 1.704, 1.328, 1.619, 1.830,
            1.764, 1.034, 1.553, 1.878, 1.166])
mu=x.mean()                                     #计算样本均值
sigma=x.std(ddof=1)                             #计算样本标准差
a=mu-np.sqrt(3)*sigma                           #计算参数a的估计值
b=mu+np.sqrt(3)*sigma                           #计算参数b的估计值
print('用样本均值、方差估计a=%.4f, b=%.4f'%(a, b))

运行程序,输出

用样本均值、方差估计a=0.9697, b=2.0336

写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

你可能感兴趣的:(概率论)