欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【统计学】推断统计分析——根据样本统计量推断总体参数

程序员文章站 2022-07-11 08:15:25
...

  本文总结了数据分析中用到的推断统计分析知识点,是自己学习参数估计和假设检验的学习笔记。


  推断统计研究的是如何根据样本数据去推测总体特征的方法。进行推断的原因是在实际生产中,获取总体数据通常比较困难,甚至不可能完成,因此需要对总体进行抽样,通过样本统计量去估计总体参数。

一、参数估计

1. 点估计

  就是用样本的统计量去代替总体参数。
  优点: 可以给出具体的估计值;
  缺点: 估计结果容易受到随机抽样的影响,无法保证结论的准确性。

2. 区间估计

  根据样本统计量计算出一个可能的区间与概率。
  优点: 可给出合理的范围(置信区间)及信心指数(置信度);
  缺点: 不能给出具体的估计值。

2.1 中心极限定理

  如果总体(分布不重要)均值为 μ方差为σ2σ^2,进行足够多次随机抽样,样本容量为n,当n增大时,样本均值近似服从正太分布X~N(μ,σ2σ^2/n)。
  结论:
  1、多次抽样,每次抽样会得到一个均值,均值会围绕在总体均值左右,呈正太分布。
  2、当样本容量n足够大(一般n>=30),样本均值服从正太分布。
  1)样本均值构成的正态分布,其均值等于总体均值μ;
  2)样本均值构成的正态分布,其标准差等于σ/n\sqrt n
  注意:
  1、样本均值的标准差,称为标准误差,简称标准误
  2、区分总体标准差σ,样本标准差(一次抽样获得的标准差),标准误差(样本均值构成的正太分布的标准差)。

2.2 程序模拟中心极限定理

import numpy as np
import pandas as pd
import seaborn as sns

#定义总体数据
#loc:均值;scale:标准差;size:数组大小,即数组中含有的元素个数
all_ = np.random.normal(loc=30,scale=80,size=10000)
#创建均值数组,用来存放每次抽样(每个样本)的均值
mean_arr = np.zeros(1000)
for i in range(len(mean_arr)):
    #随机抽样,size:样本容量;replace:是否为放回抽样,默认为True
    mean_arr[i] = np.random.choice(all_,size=64,replace=False).mean()
#样本均值构成正态分布,该正态分布的均值等于总体均值
#标准差等于总体标准差/根号n
print('样本均值构成的正太分布的均值:',mean_arr.mean())
print('样本均值构成的正太分布的标准差(标准误):',mean_arr.std())
print('偏度:',pd.Series(mean_arr).skew())
sns.distplot(mean_arr)

样本均值构成的正太分布的均值: 30.653383960104826
样本均值构成的正太分布的标准差(标准误): 9.918944517394578
偏度: 0.05852723907161612
【统计学】推断统计分析——根据样本统计量推断总体参数

2.3 正态分布的特性

  1、以均值为中心,在1倍标准差内( μ-σ,μ+σ),包含约68%的样本数据。
  2、以均值为中心,在2倍标准差内(μ-2σ,μ+2σ),包含约95%的样本数据。
  3、以均值为中心,在3倍标准差内(μ-3σ,μ+3σ),包含约99.7%的样本数据。
  其中,σ为样本均值的标准差,即标准误差。

2.4 程序检验正态分布的特性

#标准差
scale = 50
x = np.random.normal(0,scale,size=100000)
#定义标准差的倍数,倍数从1到3
for times in range(1,4):
    y = x[(x > -times * scale) & (x < times * scale)]
    print(times,'倍标准差:',f'{len(y) * 100 / len(x)}%')

1 倍标准差: 68.392%
2 倍标准差: 95.499%
3 倍标准差: 99.734%

2.5 行业应用

  参数估计在行业的应用,具体操作要根据实际场景来:
  1、工业生产量的判断。
  2、服务业投诉量是否改进判断。
  3、电商业用户访问量、用户流失等评估。
  4、金融、保险业风险评估。

二、 假设检验

  区间估计是通过正面方式,来计算总体参数的可能取值(区间);而假设检验是从反正角度来判断,是接受原假设还是拒绝原假设。

1. 相关概念

  1、小概率事件
  小概率事件在一次试验中不会发生,一旦发生则拒绝原假设。
  接受原假设,并不代表原假设一定是正确的,只是没有充分的证据去证明原假设是错误的,因此只能接受原假设。
  2、P-Value与显著性水平
  P-Value是支持原假设的概率,设定的阈值(α表示)为显著性水平,α通常选定为0.1、0.05、0.01,具体根据样本量选择,常选0.05。
  3、原假设与备择假设
  1)若是等值估计,等值选为原假设,不等选为备择假设;
  2)在单边检验中,原假设为维持现状,改变现状为备择假设。

2.假设检验的步骤

  1、设置原假设和备择假设;
  2、设置显著性水平α(通常选择0.05);
  3、根据问题选择检验方式;
  4、计算统计量,并通过统计量获取P值;
  5、根据P值与α值,决定接受原假设还是备择假设。

3. Z检验

  Z检验用来判断样本均值与总体均值是否有显著性差异。Z检验是通过正太分布理论来推断差异发生的概率,从而比较两个均值的差异是否显著。

3.1 适用场景

  1、总体呈正态分布;
  2、总体方差已知;
  3、样本容量较大(一般>=30)
1和3满足其一即可,因为在样本容量很大时,样本均值近似呈正态分布。

3.2 Z统计量计算方式

【统计学】推断统计分析——根据样本统计量推断总体参数
x一把:样本均值;
μ0:待检测的总体均值;
σ:总体的标准差
n:样本容量
  Z统计量含义: 样本均值与总体均值的距离是几倍标准误差,如果大于1.96倍或小于-1.96倍,表示样本均值落在了拒绝域。

3.3 Z检验Python实现

from scipy import stats
已知:样本 a = np.array([]),总体均值mean,总体标准差std
样本均值:sample_mean = a.mean()
标准误差:se = std / np.sqrt(len(a))
Z统计量:Z = (sample_mean = mean) / se
P值:P = 2 * stats.morm.sf(abs(Z))

4. t 检验

  t检验用来判断样本均值是否与总体均值具有显著性差异,t检验是基于t分布的。

4.1 适用场景

  1、总体呈正态分布;
  2、总体方差未知;
  3、样本数量较少(<30)
当样本容量>30,t分布接近正太分布

4.2 t 统计量计算方式

【统计学】推断统计分析——根据样本统计量推断总体参数
x一把:样本均值;
μ0:待检测的总体均值;
S:样本的标准差
n:样本容量

4.3 t 检验Python实现

已知:样本 a = np.array([]),总体均值mean
样本均值:sample_mean = a.mean()
样本标准差:sample_std = a.std()
t统计量:(sample_mean - mean) / (sample_std / np.sqrt(len(a)))
P值:2 * stats.t.sf(abs(t),df=len(a)-1),df为*度,

简单理解,*度就是变量能够*取值的个数,t分布的*度为n-1

相关标签: 统计