【数据分析】推断统计学及Python实现
个人主页:在线OJ的阿川
大佬的支持和鼓励,将是我成长路上最大的动力
阿川水平有限,如有错误,欢迎大佬指正
Python 初阶
Python–语言基础与由来介绍
Python–注意事项
Python–语句与众所周知
数据清洗前 基本技能
数据分析—技术栈和开发环境搭建
数据分析—Numpy和Pandas库基本用法及实例
推断统计学前 必看
数据分析—三前奏:获取/ 读取/ 评估数据
数据分析—数据清洗操作及众所周知
数据分析—数据整理操作及众所周知
数据分析—统计学基础及Python具体实现
数据分析—数据可视化Python实现超详解
目录
- 推断统计学简介
- T检验/Z检验概述
- 检验具体实现
统计学
- 描述统计学
- 推断统计学
推断统计学简介
推断统计学
- 涉及假设检验
- 通过样本做出关于总体的推断或预测
- 样本:也称之为对象
- 统计量:描述样本特征的数值
- 总体:所有对象的集合
- 参数:特征的数值
- 样本:也称之为对象
- 通过样本做出关于总体的推断或预测
T检验/Z检验概述
推断统计学中会涉及T检验和Z检验(重点)
独立双样本T检验或Z检验
- 独立:不同的总体,彼此之间无关联
- 双样本:比较两个不同样本
- T检验/Z检验:用于确定样本的平均值之间 是否存在统计显著性(排除随机可能性)
- Z检验相对于T检验而言,可以提供更高准确性和敏感性
前提条件
- 随机抽样
- 总体大致呈正态分布
- 中间值多
- 两边极端值少
- ( Z检验)总体方差要已知或样本量大于30
检验具体实现
步骤一 建立假设
原假设H0(一般为不支持的可能)
参数A不高于参数B
备择假设H1(一般为支持的可能)
参数A高于参数B
步骤二 选择单尾或双尾检验
双尾:推断总体是否有差异,正差异和负差异都可以,不在乎 谁大谁小。
- 原假设:两个参数存在差异
- 备择假设:两个参数不存在差异
单尾:检验差异为正差异和负差异,在乎谁大谁小。
- 原假设:参数A没有大于参数B
- 备择假设:参数A大于参数B
或者 - 原假设:参数A没有小于参数B
- 备择假设:参数A小于参数B
步骤三 确定显著水平
允许检验犯错误的概率
- 允许检验犯错误的概率高,表示检验宽松
- 允许检验犯错误的概率低,表示检验严格
显著水平数值
-
双尾应小于0.05
- 表示如果检验结果是 拒绝原假设,原假设实际为 真概率为5%
- 即如果检验结果是 拒绝原假设,结论95%概率是对的。
- 表示如果检验结果是 拒绝原假设,原假设实际为 真概率为5%
-
单尾应小于0.025
- 表示如果检验结果是 拒绝原假设,原假设实际为真概率为2.5%
- 即如果检验结果是 拒绝原假设,结论97.5%概率是对的
- 表示如果检验结果是 拒绝原假设,原假设实际为真概率为2.5%
不同的项目,显著水平设定会有所不同(例如医药临床方面,显著水平设为一般为0.01)
显著性水平一般用alpha字母表示,用if跟p值进行比较来进行筛选
步骤四 计算T值/Z值
表示两个样本之间均值的大小
T
=
x
1
−
x
2
s
1
2
n
1
+
s
2
2
n
2
T={ {x~1~ - x~2~ } \over \sqrt{ {s~1~ ^2\over n ~1~ }+{s~2~ ^2\over n ~2~ } }}
T=n 1 s 1 2+n 2 s 2 2x 1 −x 2
x1和x2 是两个样本的均值
s12和 s22 是两个样本的方差
n1和n2 是两个样本的大小
先安装Scipy库(该库基于Numpy)
- pip install scipy
导入
from scipy.stats import ttest_ind
-
专门用来做独立双样本T检验函数
- ttest_ind(样本对象1,样本对象2)
ttest_ind会返回t值和p值(默认p值为双尾,若是单尾检验,要在其返回值上除以二才是双尾的值)
样本对象P表示:
- 在总体之间 不存在显著差异,那样本之间存在当前这种显著或更极端的差异有多大概率
- P值小 假设总体没有差异的话,样本有当前的差异是小概率,即为拒绝原假设
- P值大 假设总体有没有差异的话,样本有当前的差异是大概率,即为接受原假设
Z
=
x
1
−
x
2
σ
1
2
n
1
+
σ
2
2
n
2
Z={ {x~1~ - x~2~ } \over \sqrt{ {\sigma~1~ ^2\over n ~1~ }+{\sigma~2~ ^2\over n ~2~ } }}
Z=n 1 σ 1 2+n 2 σ 2 2x 1 −x 2
x1和x2 是两个样本的均值
σ
\sigma
σ1 2 和
σ
\sigma
σ2 2 是两个总体的 已知方差
n1和n2 是两个样本的大小
先安装 pip install statsmodels
导入
statsmodels.stats.weightstats import ztest
- ztest(样本对象T,样本对象P,alternative=" ")
- alternative 该参数为可选择的
- =two-sided 表示两尾的
- =larger 表示单尾的
- =smaller 表示想推断第一个总体均值是否显著小于第二个总体均值
- alternative 该参数为可选择的
实际上:只需看P值和显著水平就可以查看接受或拒绝原假设了
步骤五 计算自由度( Z检验不需要)
- 自由度=样本1+样本2 - 2
步骤六 查看T值/Z值临界值表
T值临界值表
Z值临界值表
步骤七 比较临界值和T值
- T值≥临界值 表示拒绝原假设
- T值<临界值 表示接受原假设
好的,到此为止啦,祝您变得更强
想说的话
实不相瞒,写的每篇博客都要写六个小时以上(加上自己学习和纸质笔记,共八九小时吧),很累,希望大佬支持
道阻且长 行则将至 |
---|
个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力