数理统计之 置信区间2

目录

    1: 枢轴量

    2: 单个正态总体均值的区间估计 \sigma^2 已知

    3: 单个正态总体均值的区间估计 \sigma^2 未知

    4: 例子

 


一   枢轴量

     1.1  目的: 给定未知变量\theta,以及样本X_1,X_2,...X_n

      求出置信水平为1-\alpha的置信区间

    1.2  方法:

            1: 随机变量G,G的分布已知

            2: 找到a

            G是关于\theta和样本X_1,X_2,...X_n的函数

            3: 从a

                      (\hat{\theta}_L,\hat{\theta}_U)就是参数的双侧置信区间

                       G(X_1,X_2,...X_n;\theta) 称为枢轴量

    1.4 例: X_1,X_2,...X_n为样本,总体X \sim N(u,\sigma^2),u,\sigma为未知参数

要估计u

  解:

     G_1=\frac{\bar{X}-u}{\sigma/\sqrt{n}} \sim N(0,1)  ,因为有未知参数\sigma,所有不是枢轴量

   

       G_2=\frac{\bar{X}-u}{S/\sqrt{n}} \sim t(n-1), 分布已知,只含有估计量u和样本,所以是枢轴量

 1.5 由于a,b 可能有很多,如何取a,b

         1: Neyman 原则: 求a,b 使得区间长度最短

         2:如果最優解不存在,對於連續總體,長取 P(G\leq a)=P(G\geq b)=\frac{\alpha}{2}

         3:從 a<G<b,解出 \hat{\theta}_L<\theta<\hat{\theta}_U     

           如果是双侧置信区间,有如下性质

            \hat{\theta}_L1-\alpha/2置信区间的下限

             \hat{\theta}_U1-\alpha/2置信区间的上限   

    


二 单个正态总体的均值区间估计  \sigma^2已知

    假设X \sim N(u,\sigma^2),X_1,X_2,...X_n为样本,\bar{X},S^2为样本均值和方差,置信度为1-\alpha

   2.1 \sigma^2已知

          因为     G=\frac{\bar{X}-u}{\sigma/\sqrt{n}} \sim N(0,1)

           设常数a,b

                    P\begin{Bmatrix} a<G<b \end{Bmatrix}\geq 1-\alpha

           等价于

                  P\begin{Bmatrix} \bar{X}-\frac{\sigma}{\sqrt{n}}*b<u<\bar{X}-\frac{\sigma}{\sqrt{n}}*a\end{Bmatrix}\geq 1-\alpha

            因为对称

        数理统计之 置信区间2_第1张图片

            所以 置信区间长度

              L=\frac{(a-b)\sigma}{\sqrt{n}}=2Z_{\alpha/2}\frac{\sigma}{\sqrt{n}}

          其中Z_{\alpha/2} 为上分位数,查正态分布表的时候\Phi (n)=1-\alpha/2,得到分位数n

            

        当置信度1-\alpha增大的时候,区间长度L也增大,精度下降

         所以双侧置信区间为

         [\bar{X}-\frac{\sigma}{\sqrt{n}}Z_{\alpha/2},\bar{X}+\frac{\sigma}{\sqrt{n}}Z_{\alpha/2}]

        单侧置信区间下限为   

        \bar{X}-\frac{\sigma}{\sqrt{n}}Z_{\alpha}

        注:

              P\begin{Bmatrix} G>Z_{\alpha} \end{Bmatrix}=1-\alpha:

              G=\frac{\bar{X}-u}{\sigma/\sqrt{n}} \sim N(0,1)

        同理单侧置信上限为:

         \bar{X}+\frac{\sigma}{\sqrt{n}}Z_{\alpha}


三  单个正态总体的均值区间估计  \sigma^2未知

          G=\frac{\bar{X}-u}{S/\sqrt{n}} \sim t(n-1)

 数理统计之 置信区间2_第2张图片

   令a= t_{\alpha/2}(n-1)   -a

         \bar{X}-\frac{S}{n}a<u<\bar{X}+\frac{S}{n}a

         单侧置信区间下限为 \bar{X}-\frac{S}{\sqrt{n}}t_{\alpha}(n-1)

          单侧置信区间上限为 \bar{X}+\frac{S}{\sqrt{n}}t_{\alpha}(n-1)

 

四  例子

      4.1 设新生儿童体重服从正态分布N(u,\sigma^2),从某个医院随机抽取16个儿童,体重如下

      data = [3200,3050,2600,3530,\
            3840,4450,2900,4180,\
            2150,2650,2750,3450,\
            2830,3730,3620,2270]

      求置信区间为95%的双侧置信区间

     解:

      1:   如果\sigma^2未知,服从t(n-1)分布

        置信区间为: 

      [\bar{X}-\frac{S}{\sqrt{n}}t_{\alpha}(n-1) ,  \bar{X}+\frac{S}{\sqrt{n}}t_{\alpha}(n-1)]

     \bar{X}=3200,s=665.48,t_{0.025}(15)=2.1315

      带入 : 置信区间下限2845.38   置信区间上限3554.62

        

      2: 如果\sigma=500,方差已知,则服从正态分布

      置信区间为

       [\bar{X}-\frac{\sigma}{\sqrt{n}}Z_{\alpha/2},\bar{X}+\frac{\sigma}{\sqrt{n}}Z_{\alpha/2}]

        Z_{0.025}=1.96

       置信区间下限2955.00   置信区间上限3445.00

    

import numpy as np
import scipy.stats as ss
from scipy.stats import norm

'''
    获取分位数值a,t分布和正态分布都是对称函数
Args:
    n: 自由度,t分布才有
    alpha: 累积积分,p(x>a)=alpha
    Ftype: 0:符合正态分布  1: t分布
'''
def GetQuantile(tp=1,n=15,alpha=0.025):
    
    if 1==tp:
        print("\n t 分布")
        normt = ss.t(n)
        x = -normt.ppf(alpha)## 累积分布概率计算反函数
    else:
        print("\n 标准正太分布 ")
        x= -norm.ppf(0.025,loc=0,scale=1)
    
    print("\n x %6.3f"%x) 
    return x
    
# -*- coding: utf-8 -*-
"""
Created on Fri Apr 23 16:26:20 2021

@author: chengxf2
"""

import numpy as np

def ConfidenceInterval(sigma=-1):
 
    data = [3200,3050,2600,3530,\
            3840,4450,2900,4180,\
            2150,2650,2750,3450,\
            2830,3730,3620,2270]
    
    n = len(data)
    u =np.mean(data)
    s = 0.0
    for x in data:
        s+= np.power(x-u,2)
    
    sd = np.sqrt(s/(n-1))
    print("\n 样本均值 ",u, "\t 样本方差%6.2f"%sd )
    
    if sigma == -1: #t 分布      
        Quantile = 2.1315
        std = sd #样本差
    else:
        Quantile = 1.96 #分位数,查表可以得到
        std= sigma #方差
        
        
    
   
    
   

    print("\n u ",u,"\t n: ",n)
    low = u-Quantile*(std/np.sqrt(n))
    up = u +Quantile*(std/np.sqrt(n))
    print("\n 置信区间下限%6.2f"%low, "\t 置信区间上限%6.2f"%up)
    
ConfidenceInterval(-1)

  4.2 某种样本的寿命服从正态分布,现在随机抽取10个,样本方差S=0.92,样本均值\bar{X}=5.78,

求u得置信水平为95%的单侧置信区间下限

   解: 

             a=\bar{X}-\frac{S}{\sqrt{n}}t_{\alpha }(n-1)

            

'''
單測區間估計
'''
def GetM():
    quantile= GetQuantile(1,0.05,9) 
    print("\n 分位数",quantile)
    xmean = 5.78 #樣本均值
    s= 0.92 #方差  
    n = 10 #樣本總數
    
    low = xmean- (s/np.sqrt(n))*quantile
    print("\n low %5.2f"%low)

   输出 5.25

4.3   1500人,身高高于180的,有375人,求180cm比例P的置信水平为95%的置信区间

        解:

                \hat{p}=\bar{x}=375/1500=0.25

                \hat{s}=p(1-p)=0.1875

                近似区间

              [\bar{X}-\frac{S}{\sqrt{n}}Z_{0.025}, \bar{X}+\frac{S}{\sqrt{n}}Z_{0.025},]

            

'''
單測區間估計
'''
def GetM():
    quantile= GetQuantile(1,0.025,1500-1) 
    print("\n 分位数",quantile)
    xmean = 0.25#樣本均值
    s=  np.sqrt(0.1875) #方差  
    n = 1500 #樣本總數
    
    low = xmean- (s/np.sqrt(n))*quantile
    up = xmean+ (s/np.sqrt(n))*quantile
    print("\n 下限 %5.3f"%low)
    print("\n 上限 %5.3f"%up)
===========
 t 分布 1499

 x  1.962

 分位数 1.9615478106169353

 下限 0.228

 上限 0.272

 

你可能感兴趣的:(人工智能)