python 概率分布类型检验_统计学:假设检验Python案例实现+概率论基础知识回顾...

先通过一个案例说明单样本检验的过程:

案例分析:

公司制造出10台引擎供测试使用,每一台的排放水平如下:

15.6 16.2 22.5 20.5 16.4 19.4 16.6 17.9 12.7 13.9

请判断公司生产的引擎是否符合政府规定呢?

根据政府发布的新排放要求,引擎排放平均值要低于20ppm,(ppm是英文百万分之一的缩写,这里我们只要理解为是按照环保要求汽车尾气中碳氢化合物要低于20ppm)。

#描述统计分析

import seaborn as sns

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

df=pd.Series([15.6,16.2,22.5,20.5,16.4,19.4,16.6,17.9,12.7,13.9])

sample_mean=df.mean()

sample_std=df.std()

print('样本平均值=','%.2f'%sample_mean,'单位:ppm')

print('样本标准差:','%.2f'%sample_std,'单位:ppm')

'''1、确定问题是什么?要研究的问题是:这些样本数据是否满足新标准?零假设H0:公司引擎排放不满足标准,也就是平均值u>=20备择假设Ha:公司引擎排放满足标准,平均值u<20因为只有一个样本,选择单样本检验'''

#推论统计分析(包括假设检验,置信区间,效应量)

sns.distplot(df)

plt.title('数据集分布')

plt.show()

'''检验方向的确定:因为备选假设是公司引擎排放满足标准即u<20,所以使用单尾检验中的左尾检验.计算p值:1)计算标准误差2)计算t值((t=样本平均值-总体平均值)/标准误差)3)根据t值,查找t表格,得到概率p值'''

#手动计算

n=10

SE=sample_std/(np.sqrt(n))#计算标准误差

pop_mean=20

t=(sample_mean-pop_mean)/SE#计算t值

print('标准误差SE=',SE)

print('t=',t)

#描述统计分析

import seaborn as sns

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

df=pd.Series([15.6,16.2,22.5,20.5,16.4,19.4,16.6,17.9,12.7,13.9])

sample_mean=df.mean()

sample_std=df.std()

print('样本平均值=','%.2f'%sample_mean,'单位:ppm')

print('样本标准差:','%.2f'%sample_std,'单位:ppm')

'''1、确定问题是什么?要研究的问题是:这些样本数据是否满足新标准?零假设H0:公司引擎排放不满足标准,也就是平均值u>=20备择假设Ha:公司引擎排放满足标准,平均值u<20因为只有一个样本,选择单样本检验'''

#推论统计分析(包括假设检验,置信区间,效应量)

sns.distplot(df)

plt.title('数据集分布')

plt.show()

'''检验方向的确定:因为备选假设是公司引擎排放满足标准即u<20,所以使用单尾检验中的左尾检验.计算p值:1)计算标准误差2)计算t值((t=样本平均值-总体平均值)/标准误差)3)根据t值,查找t表格,得到概率p值'''

#手动计算

n=10

SE=sample_std/(np.sqrt(n))#计算标准误差

pop_mean=20

t=(sample_mean-pop_mean)/SE#计算t值

print('标准误差SE=',SE)

print('t=',t)

结果:

样本平均值= 17.17 单位:ppm

样本标准差: 2.98 单位:ppm

标准误差SE= 0.94281493412

t= -3.00164952589

'''用Python统计包scipy计算用scipy计算出的是:双尾检验单(1samp)样本t检验(ttest1samp):https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest1samp.html相关(related)样本t检验(ttestrel):https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttestrel.html双独立(independent)样本t检验(ttestind):https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttestind.html'''

from scipy import stats

pop_mean=20

t,p_twotail=stats.ttest_1samp(df,pop_mean)

print('t值=',t,'双尾检验的p值=',p_twotail)

#单尾检验的p值

p_onetail=p_twotail/2

print('单尾检验的p值',p_onetail)

#判断标准(显著性水平)使用alpha=5%

alpha=0.05

if(t<0 and p_onetail

print('拒绝零假设,有统计显著,也就是汽车引擎排放满足标准')

else:

print('接受零假设,没有统计显著,也就是汽车引擎排放不满足标准')

#拒绝零假设,有统计显著,也就是汽车引擎排放满足标准

#置信区间

'''1)置信水平对应的t值(t_ci)2)计算上下限置信区间上限a=样本平均值-t_ci*标准误差置信区间下限b=样本平均值-t_ci*标准误差'''

t_ci=2.262

SE=stats.sem(df)

a=sample_mean-t_ci*SE

b=sample_mean+t_ci*SE

print('单个平均值的置信区间,95置信水平CI=(%f,%f)'%(a,b))

'''效应量效应量:是指处理效应的大小。例如药物A比药物B效果显著。度量效应量有很多种,但大多数都属于两大主要类别。1)第一种叫差异度量例如在对比平均值时,衡量效应大小的常见标准之一是Cohen's dCohen's d=(样本平均值1—样本平均值2)/标准差Cohen's d 除以的是标准差,也就是以标准差为单位,样本平均值和总体平均值之间相差多少。2)第二种叫相关度度量例如R平方,表示某个变量的变化比例与另一变量的关系。可以用t检验的信息退出R平方的公式,这里的t值从t检验中获得的值,df是自由度。r2=t2 / (t2+df),其中r2是指r的平方,t2是t的平如果r平方等于20%,表示我们可以说通过知道另一个变量能够接受相关变量20%的变化情况'''

#效应量:差异指标Cohen's d

d=(sample_mean-pop_mean)/sample_std

#效应量:相关度指标R2

n=10

df=n-1

R2=(t*t)/(t*t+df)

print('d=',d)

print('R2=',R2)

结果:

t值= -3.00164952589 双尾检验的p值= 0.0149164142489

单尾检验的p值 0.00745820712445

拒绝零假设,有统计显著,也就是汽车引擎排放满足标准

单个平均值的置信区间,95置信水平CI=(15.037353,19.302647)

d= -0.9492049239364257

R2= 0.500274845399

数据分析简报:

结论:公司引擎排放满足标准

1、描述统计分析

样本平均值17.17ppm,样本标准差2.98ppm

2、推论统计分析

1)假设检验

独立样本t(9)=-3.00,

p=.0074(α=5%),单尾检验(左尾)

公司引擎排放满足标准

2)置信区间

平均值的置信区间,95% CI=(17.11,17.23)

3)效应量

d=-0.94

第一章、常见概率分布

随机变量:离散随机变量、连续随机变量

离散随机变量:概率质量函数PMF、离散概率分布

连续随机变量:概率密度函数PDF、连续概率分布

离散概率分布的四大典型:伯努利分布、二项分布、几何分布、泊松分布

1、伯努利分布即是随机变量X仅有两种可能的情况(1,成功;0,失败),分别对应成功概率p,失败概率1-p。

2、二项分布即做n次相互独立事件,每次事件存在两种情况(成功或失败),每次成功概率都相等用p表示,求成功k次的概率是多少。p(k)=Cnkpk(1-p)n-k。期望E=np,方差np(1-p)。

3、几何分布即做n次相互独立事件,每次事件存在两种情况(成功或失败),每次成功概率都相等用p表示,求第k次做某事才第一次成功的概率。p(k)=(1-p)k-1p。期望E=1/p。方差等于1-p/p2。

4、泊松分布即某一独立事件,在任意相同的时间范围内,事件发生的概率相同,求某个时间范围内发生某件次数k次的概率是多大。p(k)=uke-u/k!。期望E=u。方差等于u。

连续概率分布的两大典型:正态分布、幂律分布

1、 正态分布

求某一取值范围的概率。

第一步:确定概率范围p(k<1.05)

第二步:求标准分z=k-平均值/标准差

第三步:查找z表格,得出p(Z

第二章、抽样分布和中心极限定理

总体、样本、样本大小、样本数量

中心极限定理:

1)样本平均值约等于总体平均值。

2)不管总体是什么分布,任意一个总体的样本平均值都会围绕在总体的平均值周围,并且呈正态分布。

应用:

1、用样本来估计总体(民意调查)

2、根据总体信息,判断某个样本是否属于总体(3个标准差,概率97%)

解释:对于属于正态分布的指标数据,我们可以很快捷地对它进行下一步假设检验,并推算出对应的置信区间;而对于那些不属于正态分布的数据,根据中心极限定理,在样本容量很大时,总体参数的抽样分布是趋向于正态分布的,最终都可以依据正态分布的检验公式对它进行下一步分析。

总体标准差:某个数据集的标准差。

样本标准差:用样本估计总体标准差s。

样本标准误差(标准误):所有样本平均值产生的标准差。

抽样分布:将样本平均值的分布可视化叫做抽样分布。

标准误SE。根据总体信息,判断某个样本是否属于总体(抽样分布中3个标准误,概率97%)。

第三章、置信水平和置信区间

置信区间(误差范围):[a,b]

置信水平Y%:区间包含总体平均值的概率p(a

大样本如何计算置信区间(n>=30,抽样分布呈正态分布):

1、确定要求解的问题。

2、求样本的平均值和标准误差。

3、确定置信水平

4、求出置信区间上下限的值。

a=总体平均值-几个标准误差=总体平均值-z*标准误差

b=总体平均值+几个标准误差=总体平均值+z*标准误差

【p(Z

已知样本平均值的求解过程:1、p(Z

小样本如何计算置信区间(n<30,抽样分布呈t分布):

t分布的自由度df=n-1。

已知样本平均值的求解过程:1、确定要求的问题是什么2、求样本的平均值和标准误差3、查找t表格,求t值。4、a=样本平均值-t*标准误差,b=样本平均值+t*标准误差。

第四章、假设性检验

假设检验套路:问题是什么?证据是什么?判断标准是什么?作出结论

假设检验常规过程:1、零假设,备选假设2、零假设成立时,得到样本平均值的概率:p值3、显著水平a(0.1%、1%、5%)4、p<=a时,拒绝零假设也就是备选假设成立,p>a时,接受零假设。

(一)单样本检验

问题是什么:

1、零假设:公司引擎排放不满足标准,也就是平均值>=20

备选假设:满足标准,也就是平均值<20

2、判断假设检验类型:单样本检验

3、判断抽样分布类型:样本大小>=30(正态分布)、样本大小<30(t分布,总体近似正态分布)、其它分布。

4、判断检验方向:单尾检验,还是双尾检验。

证据是什么:

p值:在零假设成立条件下,得到样本平均值的概率。

P值计算步骤:计算标准误差、样本平均值、总体均值、t=样本平均值-总体均值/标准误差、根据t值查找表格得到p值。

判断标准是什么:

显著水平a=0.05。p<=0.05时,拒绝零假设,备选假设成立,p>0.05时,接受零假设。

假设检验APA格式:单样本t(9)=-3.00,p=.0074(a=5%,单尾检验(左尾)。

置信区间:

a=样本平均值-t_ci*标准误差

b=样本平均值+t_ci*标准误差

置信区间APA格式:单个平均值的置信区间,95% CI=(17.11,17.23)。

效应量:

差异指标:Cohen’s d=第一组平均值-第二组平均值/标准差

相关度指标:R2=t2/t2+df

效应量APA报告格式:d=-0.95。

(二)相关配对检验

与单样本检验的不同点:

问题是什么:

1、零假设:特鲁普效应不存在,第一组平均值等于第二组平均值或者说第一组平均值-第二组平均值=0。备选假设:特鲁普效应存在,第一组平均值

2、判断抽样分布:判断出差值数据集(即第一组平均值-第二组平均值)的分布情况。

3、t检验:对差值数据集进行t检验。

置信区间:

对差值数据集进行平均值置信区间求取。

置信区间APA 格式:两个平均值差值的置信区间,95%置信水平CI=[-8.80,-8.67]

效应量:

相关配对检验效应量Cohen's d=(样本平均值-总体平均值)/样本标准差

(三)、双独立样本检验

问题:

1、零假设:A版本和B版本没有差别,A版本平均值等于B版本。备选假设:A版本和B版本有差别,二者平均值不相等。

2、判断抽样分布类型:两个数据集都要进行分布作图判断。案例中同为t分布。

3、案例中检验方向是双尾检验。判断标准:p<=a/2=0.025时,拒接零假设。

置信区间:

a=样本平均值-t_ci*标准误差

b=样本平均值+t_ci*标准误差

这里的样本平均值=样本平均值1-样本平均值2

标准误差:SE=两个样本综合标准误差。

置信区间APA格式:两个平均值差异的置信区间,95置信水平CI=[-2.762316,-2.677684]

效应量:

Cohen's d=(第一组平均值-第二组平均值)/标准差。标准差为合并标准差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口应用:内部比较器Comparable

接口应用&#xff1a;内部比较器Comparable public interface Comparable {public int compareTo(Object obj); }public class Book implements Comparable{private String bookName;private String author;private String publisher;private double price;Overridepublic int…

axios进行图片上传组件封装

文章目录 前言图片上传接口&#xff08;axios通信)图片上传使用upload上传头像效果展示总结 前言 node项目使用 axios 库进行简单文件上传的模块封装。 图片上传接口&#xff08;axios通信) 新建upload.js文件&#xff0c;定义一个函数&#xff0c;该函数接受一个上传路径和一…

python3多线程编程_Python 3多线程编程学习笔记-基础篇

本文是学习《Python核心编程》的学习笔记&#xff0c;介绍了Python中的全局解释器锁和常用的两个线程模块&#xff1a;thread, threading&#xff0c;并对比他们的优缺点和给出简单的列子。全局解释器锁(GIL)Python代码的执行都是有Python虚拟机进行控制的。当初设计Python的时…

JDK1.8的接口新特性

JDK1.8的接口新特性 JDK7及其之前1、接口的变量都是public final static 全局静态常量&#xff0c;无变化。2、接口中都是抽象abstract方法&#xff0c;不能有static方法&#xff08;因为abstract和static、final、private不能共存&#xff09;JDK1.8及其之后1、接口中可以添加…

多相机坐标转换_使用KITTI数据集实现坐标转换

本文的主要内容&#xff0c;是讨论如何将KITTI激光雷达的点云数据&#xff0c;映射到图像中去。KITTI数据集是怎么采集的下面这幅图是车的俯视图&#xff0c;可以看到&#xff0c;用到了2个彩色相机&#xff0c;2个灰度相机&#xff0c;1个激光雷达。1个GPS/IMU。图1 KITTI车俯…

内部类-----Java

内部类-----Java 内部类是一类特殊的类&#xff0c;指的是定义在一个类的内部的类&#xff0c;在Java中内部类主要分为非静态内部类、静态内部类、局部 内部类、匿名内部类。 非静态内部类&#xff0c;作为类的成员存在&#xff0c;和成员变量、构造方法、代码块并列。因为是…

静态内部类----Java

静态内部类----Java public class OutClass {//成员变量private static String name;private static int num 10;//构造方法public OutClass(){}public OutClass(String name, int num){this.name name;this.num num;}//成员方法public static void methodOut(){System.out…

api数据加密的定义_API 设计基础规范

首先&#xff0c;请务必记住 API 设计和使用的一个重要法则 Postels Law(又称作稳健性原则):Be liberal in what you accept, be conservative in what you send下面是关于 API 设计的一些基本问题API First将 API 视作产品&#xff0c;并向产品开发一样设计和维护 API在代码实…

匿名内部类----java

匿名内部类----java 匿名内部类就是内部类的简化写法&#xff0c;是一种特殊的局部内部类。 前提&#xff1a;存在一个类或者接口&#xff0c;这里的类可以是具体的类也可以是抽象类。 本质是&#xff1a;一个继承了该类或者实现该接口的子类匿名对象。 适合那种只需要创建…

python视频延迟严重_利用多进程降低opencv视频延迟处理rtsp视频流

Python多进程opencv前几天遇到了一个问题&#xff0c;利用opencv程序调取rtsp视频流&#xff0c;因为处理程序要消耗的CPU时间过于长&#xff0c;VideoCapture的read是按帧读取&#xff0c;所以经常导致内存溢出&#xff0c;延时还高得出奇。所以想到是不是可以利用多进程把读取…

MySQL表级约束和列级约束

MySQL中只要支持六种完整性约束&#xff0c;如表所示&#xff1a;其中check约束是MySQL8中提供的支持。 约束条件 约束描述 primary key 主键约束&#xff0c;约束的值可唯一的标识对应的记录 not null 非空字段的值不能为空 unique 唯一约束&#xff0c;约束1字段的值是…

MySQL外键约束

MySQL外键约束 外键约束&#xff08;FOREIGN KRY&#xff0c;缩写FK&#xff09;是用来实现数据库表的参照完整性约束的。 外键约束可以是两张表紧密的结合起来&#xff0c;特别是针对修改或者删除的级联操作时&#xff0c; 会保证数据的完整性。 &#xff08;注&#xff1…

zookeeper 密码_Dubbo、ZooKeeper介绍

dubbo是一个分布式架构的服务框架&#xff0c;一般结合maven的模块式开发使用。传统的单架构项目&#xff0c;不方便维护和升级&#xff1b;通过maven的模块式开发&#xff0c;就可以把一个单架构的工程&#xff0c;拆封成一个一个的小模块&#xff0c;包括(jar和war)&#xff…

异常--java

java默认的异常处理机制 优点&#xff1a;发生异常后、会给出异常类型、异常提示信息、异常出现的位置 缺点&#xff1a;出现异常后&#xff0c;后续语句不执行了&#xff1b;提示信息太专业&#xff0c;可读性差 解决&#xff1a;try-catch-finally 处理异常&#xff1b;th…

192.168.8.1手机登陆_高端机型都在鼓吹的ufs3.1是什么?对于手机使感受明显吗?...

最近很多朋友留言问&#xff0c;ufs3.1是什么&#xff0c;很重要吗&#xff1f;下面就由小编来给大家介绍一下手机上的ufs3.1是什么&#xff01;ufs是高端安卓手机&#xff0c;常用的储存协议&#xff0c;就好像我们电脑里的固态硬盘一样&#xff0c;速度越快&#xff0c;打开软…

使用try-catch-finally处理异常---java

package demo02;import java.util.Scanner;public class TestException {public static void main(String[] args) {Scanner input new Scanner(System.in);//输入总分try{System.out.println("请输入总分");int sum input.nextInt();System.out.println("请输…

代码合并工具_11个代码质量审核和管理工具,程序员必备!

「 读者福利&#xff01;2 TB 各类技术资源免费赠送 」如今&#xff0c;代码质量分析和审核已成为每个企业的基本流程。随着开源代码库使用的增加&#xff0c;安全性和代码质量对于构建高质量软件至关重要。不良的代码不仅会影响代码的可维护性&#xff0c;而且还会在某些情况下…

异常体系----java

一、异常体系 1、error error类层次描述了java运行时系统内部错误和资源耗尽错误&#xff0c;一般指与jvm或动态加载等相关的问题&#xff0c; 如&#xff1a;虚拟机错误&#xff0c;动态链接失败&#xff0c;系统崩溃等。 2、exception 所有异常类的父类&#xff0c;其子…

xy坐标正负方向_【笛卡尔坐标系】

【壹】笛卡尔坐标系(Cartesian coordinates)就是直角坐标系和斜坐标系的统称。相交于原点的两条数轴&#xff0c;构成了平面放射坐标系。如两条数轴上的度量单位相等&#xff0c;则称此放射坐标系为笛卡尔坐标系。两条数轴互相垂直的笛卡尔坐标系&#xff0c;称为笛卡尔直角坐标…

throw和throws的使用

throw和throws的使用 public class Person {private String name;private int age;public Person(){}Person(String name,int age){this.name name;this.age age;}public int getAge() {return age;}public String getName() {return name;}public void setName(String name…