如何衡量两个分布的相似性(更新中)

2024-04-02 01:32

本文主要是介绍如何衡量两个分布的相似性(更新中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


文章目录

  • 0. 简介
  • 1. 数学定义

https://blog.csdn.net/fengdu78/article/details/114325589
https://www.cnblogs.com/arkenstone/p/5496761.html
https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test#:~:text=In%20statistics%2C%20the%20Kolmogorov%E2%80%93Smirnov,test)%2C%20or%20to%20compare%20two

0. 简介

KS检验(Kolmogorov–Smirnov test)是由苏联数学家Andrey Kolmogorov和Nikolai Smirnov提出的一种无参数检验方法。它可以用来解决两类问题:

  1. 一个集合中的样本,属于某个具体的分布的概率是多少;
  2. 两个集合的样本,属于同一个分布的概率是多少。

具体来讲,KS检验会计算一个集合的样本的经验分布函数与给定分布函数(或者另一个集合的样本的经验分布函数)的距离。
注意,KS检验只能处理1维特征。

1. 数学定义

对于一个具有n个独立同分布的样本集合 X = { X 1 , X 2 , ⋯ , X n } X=\{X_1,X_2,\cdots,X_n\} X={X1,X2,,Xn},它的经验分布函数(empirical distribution function)为:
F n ( x ) = n u m o f ( s a m p l e s ≤ x ) n = 1 n ∑ i = 1 n 1 [ − ∞ , x ] ( X i ) (1-1) F_n(x)=\frac{num of(samples\leq x)}{n}=\frac{1}{n}\sum_{i=1}^{n}1_{[-\infty,x]}(X_i)\tag{1-1} Fn(x)=nnumof(samplesx)=n1i=1n1[,x](Xi)(1-1)
其中 1 [ − ∞ , y ] ( x ) 1_{[-\infty,y]}(x) 1[,y](x)是指示性函数,当 x ≤ y x\leq y xy时值为1,否则值为0.
对于一个给定的分布函数 F ( x ) F(x) F(x),KS检验就是要计算如下检验量:
D n = sup ⁡ x ∣ F n ( x ) − F ( x ) ∣ D_n=\sup \limits_{x}|F_n(x)-F(x)| Dn=xsupFn(x)F(x)

这篇关于如何衡量两个分布的相似性(更新中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/868627

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注