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

如何对多维样本进行KS检验

对于形状为 ( 10000 , 1 , 304 ) (10000, 1, 304) (10000,1,304)的三维数据,若需使用scipy.stats.ks_2samp进行KS检验,可按以下步骤处理:

  1. 数据降维
    KS检验要求输入为一维数组,需将三维数据展平或按特定维度聚合:
    • 方法1:沿最后一维展开

将每个样本的304个特征视为独立数据点(适用于特征独立场景):

import numpy as np
data_reshaped = original_data.reshape(-1)  # 形状变为(10000*1*304,)

• 方法2:按样本聚合

若需保留样本独立性,可对每个样本的304个特征计算统计量(如均值、最大值),生成一维数组:

data_aggregated = original_data.mean(axis=2).flatten()  # 形状(10000,)
  1. 分维度检验
    若需比较不同特征维度的分布差异,可逐维度进行KS检验:
from scipy import stats
results = []
for i in range(304):dim_data = original_data[:, 0, i]  # 提取第i个特征维度ks_result = stats.ks_2samp(dim_data, reference_data)  # 与参考数据比较results.append(ks_result)
  1. 注意事项
    • 数据连续性:KS检验适用于连续分布,离散数据需谨慎。

• 样本量:大样本易导致p值敏感,需结合效应量(如D值)判断实际差异。

• 缺失值:需提前处理NaN值,否则会报错。

  1. 替代方案
    若数据为多变量分布,可考虑:
    • 多变量KS检验(如基于距离的检验)。

• 单变量漂移检测方法(如Jensen-Shannon距离、海林格距离)。

如需进一步分析数据漂移或模型性能,建议结合可视化(如CDF曲线)辅助判断。

在这里插入图片描述

http://www.xdnf.cn/news/3069.html

相关文章:

  • UNIAPP项目记录
  • 【大厂实战】API网关进化史:从统一入口到智能AB分流,如何构建灰度无感知系统?
  • 【工具变量】上市公司30w+过度负债数据集(2004-2023年)
  • 【嘉立创EDA】如何无限制挖槽,快捷设计挖槽
  • Linux系统配置JDK
  • 哈工大《工程伦理》复习文档
  • 存储过程补充——定义条件、处理程序及游标使用
  • PID速度、电流、位置闭环
  • swagger2升级至openapi3的利器--swagger2openapi
  • Linux 用户管理
  • 数据处理方式 之 对数变换 和Box-Cox变换以及对应逆变换【深度学习】
  • JavaScript基础
  • 使用C# ASP.NET创建一个可以由服务端推送信息至客户端的WEB应用(1)
  • Qwen3术语解密
  • 【SAM2代码解析】数据集处理2
  • go打印金字塔
  • 探索行业的新可能 - 你有遇到这些挑战吗?
  • 创新应用 | 食堂餐牌显示的“秒变”革新
  • Python深度挖掘:openpyxl和pandas的使用详细
  • 优雅的酸碱中和反应动画演示工具
  • 仿腾讯会议——注册登录UI
  • docker 使用
  • 数据采集脱硫脱硝除尘实验装置
  • DTO,VO,PO,Entity
  • 第一个机器人程序
  • C语言教程(二十):C 语言 typedef 关键字详解
  • AVL树左旋右旋的实现
  • C语言加餐--浮点数比较
  • 文件基础-----C语言经典题目(10)
  • 前端Vue3 + 后端Spring Boot,前端取消请求后端处理逻辑分析