当前位置: 首页 > news >正文

Python快速检验数据分布

假设检验的前提是确定数据的分布,本文介绍Python检验数据样本是否服从一定分布。使用方法是柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test),K-S检验方法适用于探索连续型随机变量的分布,对于离散分布(二项分布和泊松分布)需要使用其他方法进行检验。

KS检验语法

K-S检验方法能够利用样本数据推断样本来自的总体是否服从某一理论分布,是一种拟合优度的检验方法,这里使用scipy.stats.kstest() 实现单样本检测, scipy.stats.ks_2samp() 实现双样本检测。下面通过两个示例进行说明。

单样本检测

首先生成测试样本数据:

from numpy.random import seed
from numpy.random import poisson#set seed (e.g. make this example reproducible)
seed(0)# generate dataset of 100 values that follow a Poisson distribution with mean=5
data = poisson(5, 100)

下面代码显示如何执行KS检验,检验data数据集是否符合正太分布。

from scipy.stats import kstest# perform Kolmogorov-Smirnov test
kstest(data, 'norm')# 输出结果
# KstestResult(statistic=0.9072498680518208, pvalue=1.0908062873170218e-103)

从输出可以看到,检验统计量为0.9072,对应的p值为1.0908e-103,既然P值小于0.05,我们拒绝原假设,有足够证据说明样本不服从正太分布。因为我们使用poisson() 函数生成数据,样本数据应该服从泊松分布。

除了正太分布,还可以检测分布,如指数分布、伽马分布、韦伯分布、T分布、F分布等。

双样本KS检验

首先我们生成两个不同分布的样本数据:

from numpy.random import seed
from numpy.random import randn
from numpy.random import lognormal#set seed (e.g. make this example reproducible)
seed(0)#generate two datasets
data1 = randn(100)
data2 = lognormal(3, 1, 100)

下面代码执行KS检验,判断两个样本是否来自同一分布:

from scipy.stats import ks_2samp#perform Kolmogorov-Smirnov test
ks_2samp(data1, data2)# 输出结果
# KstestResult(statistic=0.99, pvalue=4.417521386399011e-57)

由输出可知,检验统计量为0.99,对应的p值为4.4175e-57。由于p值小于0.05,我们拒绝原假设。我们有足够的证据表明,这两个样本数据集不是来自同一个分布。

这个结果也不应该令人惊讶,因为我们使用标准正态分布为第一个样本生成值,使用对数正态分布为第二个样本生成值。

总结

本文介绍了如何利用python进行数据分布检验。参考内容:How to Perform a Kolmogorov-Smirnov Test in Python - Statology,官网文档:scipy.stats.kstest — SciPy v1.11.2 Manual,通过官方文档可以进一步学习其他参数的,实现更多数据检验能力。

相关文章:

Python快速检验数据分布

假设检验的前提是确定数据的分布,本文介绍Python检验数据样本是否服从一定分布。使用方法是柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test),K-S检验方法适用于探索连续型随机变量的分布,对…...

uniapp微信小程序点击右上角菜单分享功能权限配置

个人项目地址: SubTopH前端开发个人站 (自己开发的前端功能和UI组件,一些有趣的小功能,感兴趣的伙伴可以访问,欢迎提出更好的想法,私信沟通,网站属于静态页面) SubTopH前端开发个人站…...

【OpenVINOSharp】在英特尔® 开发者套件爱克斯开发板使用OpenVinoSharp部署Yolov8模型

在英特尔 开发者套件爱克斯开发板使用OpenVinoSharp部署Yolov8模型 一、英特尔开发套件 AIxBoard 介绍1. 产品定位2. 产品参数3. AI推理单元 二、配置 .NET 环境1. 添加 Microsoft 包存储库2. 安装 SDK3. 测试安装4. 测试控制台项目 三、安装 OpenVINO Runtime1. 下载 OpenVINO…...

Django的模型层

Django的模型层1.Model的开发流程2.定义Model模型3.Model模型的实例4.Model模型的实战操作笔记开发流程1.在models.py中定义模型类,要求继承自models.Model2.生成迁移文件3.执行迁移5.定义属性1.字段类型2.字段选项3.关系模型实例1.类的属性2.创建对象3.实例的属性模…...

idea 新建servlet 访问提示404 WebServlet注解找不到包 报错

检查访问路径是否设置正确 如果设置为name “/testServlet”,则会404 WebServlet注解报错找不到包 检查是否引入了tomcat依赖包...

【EA-ISET协会】Elsevier|2区智慧农业类SCIEI, 进展顺,3个月左右录用~

一、期刊简介 2区智慧农业类SCI&EI 【期刊简介】IF: 3.0-4.0, JCR2区, 中科院4区; 【检索情况】SCI&EI双检,正刊; 【终审周期】走期刊部系统,3个月左右录用; 二、征稿范围 大数据和遥感技术在智慧农业中…...

Class类getName获取类名方法详细说明

1.说明 在java.lang.Class类中有一个获取类名的方法: public String getName() 其返回的是该对象表示的类或接口的名称。 返回由这个Class对象表示的实体的字符串名称, 这个实体可以是: class, interface, array class, primitive type, vo…...

凉而不冷 柔而不弱 三菱重工海尔舒适风科技助您整夜安眠

古人云:安寝乃人生乐事。可随着夏天的到来,昼长夜短,家里的老人、儿童、父母都存在不同的入睡苦恼。对于儿童来说,空调温度调的太低容易踢被子着凉,温度调的高又怕孩子满头大汗;父母自身也会因为半夜帮孩子…...

YOLOv5基础知识入门(7)— NMS(非极大值抑制)原理解析

前言:Hello大家好,我是小哥谈。NMS是指非极大值抑制(non maximum suppression),它是一种常用于物体检测任务的算法。在物体检测中,通常会有多个预测框(bounding box)被提议出来&…...

Gpt微信小程序搭建的前后端流程 - 后端基础框架的搭建(三)

Gpt微信小程序搭建的前后端流程 - 后端基础框架的搭建(三) Gpt微信小程序 只需要几个API,API上一小节也有讲到。直接用 gin 或者 beego 简单搭web服务器就够了。我们这里还用 go-micro微服务 去搭建,主要也是为了学以致用,把之前go-micro系列…...

jstat(JVM Statistics Monitoring Tool):虚拟机统计信息监视工具

jstat(JVM Statistics Monitoring Tool):虚拟机统计信息监视工具 用于监视虚拟机各种运行状态信息的命令行工具。 它可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据,在没有GUI图形界面、只提…...

【ARM】Day6 cotex-A7核UART总线实验

cotex-A7核UART总线实验 1. 键盘输入一个字符‘a’,串口工具显示‘b’ 2. 键盘输入一个字符串"nihao",串口工具显示“nihao” uart.h #ifndef __UART4_H__ #define __UART4_H__#include "stm32mp1xx_rcc.h" #include "stm3…...

HTTPS代理搭建技巧分享

今天我们来分享一下如何搭建一个能够实现中间人 检测和防护的HTTPS代理。保护我们的网络通信安全是至关重要的,让我们一起学习如何构建一个安全可靠的HTTPS代理吧! 什么是中间人 ? 首先,让我们来了解一下什么是中间人 。中间人 是…...

第四章:树形结构的关联式容器(map+set)

系列文章目录 文章目录 系列文章目录前言1、关联式容器与序列式容器1.1 键值对 2、set的介绍3、multiset的介绍3.1 接口count与容器multiset 4、map的介绍4.1 接口insert4.2 operator[]和at 5、multimap的介绍 前言 根据应用场景的不桶,STL总共实现了两种不同结构的…...

SpringBoot +Vue3 简单的前后端交互

前端&#xff1a;Vue3 创建项目&#xff1a; npm create vuelatest > cd <your-project-name> > npm install > npm run dev 项目结构图如下&#xff1a; 1、查看入口文件内容&#xff1a;main.js 代码如下&#xff1a; import ./assets/main.css impor…...

【Android】Mobile-Security-Framework-MobSF Manifest 静态扫描规则

前言 移动安全框架&#xff08;MobSF&#xff09;是一个自动化的一体化移动应用程序&#xff08;Android/iOS/Windows&#xff09;测试、恶意软件分析和安全评估框架&#xff0c;能够执行静态和动态分析。MobSF支持移动应用程序二进制文件&#xff08;APK、XAPK、IPA和APPX&am…...

【C++】初谈迭代器

文章目录 前言一、什么是迭代器二、迭代器的分类三、迭代器的用法总结 前言 迭代器是一种可以访问和遍历容器中元素的对象&#xff0c;它类似于指针&#xff0c;但是具有更多的功能和灵活性。本文将介绍C迭代器的基本概念、分类、用法和注意事项。 一、什么是迭代器 迭代器&a…...

PL端案例开发手册

目 录 前 言 1 工程编译、程序加载方法 1.1 工程编译 1.2 程序加载 2 led-flash 2.1 案例说明 2.2 操作说明 2.3 关键代码 更多帮助 前 言 本文主要介绍PL端案例的使用说明&#xff0c;适用开发环境&#xff1a;Windows 7/10 64bit、Xilinx Unified 20…...

华为OD-整数对最小和

题目描述 给定两个整数数组array1、array2&#xff0c;数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素&#xff0c;现在需要取出k对元素&#xff0c;并对取出的所有元素求和&#xff0c;计算和的最小值 代码实现 # coding:utf-8 class Solution:…...

Ubuntu 22LTS 配置静态IP

可行方法&#xff0c;需界面配置 转载自&#xff1a;哔哩哔哩链接地址 命令行配置&#xff1a;待补充...

2024年数学建模竞赛进阶指南:从新手到高手的赛事路径规划与实战策略

1. 数学建模竞赛入门&#xff1a;新手如何迈出第一步 第一次接触数学建模竞赛的同学往往会感到无从下手。我清楚地记得自己大二时组队参赛的情景——三个人盯着电脑屏幕发呆一整天&#xff0c;连题目都看不懂。其实数学建模竞赛的核心逻辑很简单&#xff1a;用数学工具解决实际…...

终极USB安全弹出解决方案:告别Windows设备占用烦恼

终极USB安全弹出解决方案&#xff1a;告别Windows设备占用烦恼 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternativ…...

KNN和K-Means选错距离度量?详解闵可夫斯基距离中参数p的实战调优

KNN与K-Means距离度量实战&#xff1a;如何用闵可夫斯基距离参数p提升模型性能 当你在scikit-learn中第一次使用KNN分类器时&#xff0c;可能会注意到一个不起眼的参数p——它默认为2&#xff0c;代表使用欧氏距离。但鲜有人告诉你&#xff0c;这个参数的选择可能让你的模型准确…...

B站m4s转MP4终极指南:一键解决缓存视频兼容性问题

B站m4s转MP4终极指南&#xff1a;一键解决缓存视频兼容性问题 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的困扰&#…...

Perplexity法律文献搜索实战指南:7步构建精准检索式,避开90%的无效结果

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity法律文献搜索实战指南&#xff1a;7步构建精准检索式&#xff0c;避开90%的无效结果 Perplexity 作为面向专业研究者的AI搜索工具&#xff0c;在法律文献检索中展现出远超通用搜索引擎的语义理解与…...

从‘秦皇岛今天晴空万里’到HMM:一文搞懂NLP分词中的序列标注到底在标什么

从天气报告到智能分词&#xff1a;解码序列标注在NLP中的魔法 秦皇岛的晴空万里不仅是气象术语&#xff0c;更是理解自然语言处理(NLP)中序列标注技术的绝佳入口。当我们看到"秦皇岛今天晴空万里"这行文字时&#xff0c;人脑能瞬间将其分解为有意义的词汇单元&#x…...

BiliDownloader实战演练:解锁B站视频离线观看的智能解决方案

BiliDownloader实战演练&#xff1a;解锁B站视频离线观看的智能解决方案 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简&#xff0c;操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 你是否曾为无法下载B站…...

Arcgis新手必看:用‘焦点统计’和‘设为空函数’搞定栅格数据清洗(附避坑要点)

ArcGIS栅格数据清洗实战&#xff1a;焦点统计与设为空函数的高效应用指南 当你第一次拿到一份满是噪点的DEM数据或存在异常值的土地利用分类图时&#xff0c;那种手足无措的感觉我深有体会。栅格数据清洗是GIS分析中看似简单却暗藏玄机的关键步骤&#xff0c;一个不当的参数设置…...

从电源拓扑到代码:STM32F103驱动移相全桥的软硬件协同设计实战

从电源拓扑到代码&#xff1a;STM32F103驱动移相全桥的软硬件协同设计实战 在中小功率开关电源和电机驱动领域&#xff0c;移相全桥拓扑因其优异的软开关特性和高效率表现&#xff0c;成为工程师们的首选方案之一。然而&#xff0c;将教科书上的拓扑原理转化为实际可用的电源产…...

在Node.js后端服务中集成Taotoken实现稳定高效的多模型调用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Node.js后端服务中集成Taotoken实现稳定高效的多模型调用 对于需要构建AI功能的后端开发者而言&#xff0c;直接对接多个模型厂商…...