【MATLAB第121期】基于MATLAB的sobol、lhs等17种方法数据抽样插件(含UI界面)

【MATLAB第121期】基于MATLAB的sobol、lhs等17种方法数据抽样插件(含UI界面)

一、功能介绍

1、含17种数据抽样方法(具体方法附后)

2、可以自定义变量数量,抽样数量,上下限范围,以及是否取整数 。

3、支持MAT和excel格式导出

4、支持抽样方法对比分析

(1)最近邻距离: min=0.1145, mean=0.2185, CV=0.1887 (越大越均匀/分散)

(2)边缘分布 χ²(10箱): mean=4.25, max=16.3 (越小越接近均匀)

(3)相关性 |corr|: mean=0.01005, max=0.02858 (越小越好)

5、支持分析绘图

6、支持去除重复样本

7、支持选择代表性样本

==================== 1) sobol ====================

类型:低差异序列(Quasi-Monte Carlo)。

特点:相比纯随机,覆盖更均匀;N 增大时空间填充更稳定。

适用:连续变量、全局搜索、敏感性分析、代理模型训练前的均匀采样。

注意:序列的最初一段可能有规律结构,某些问题可用 skip/leap 或 scrambled 改善。

==================== 2) sobol_scrambled ====================

sobol + scramble(MatousekAffineOwen / Owen 类扰动)。

特点:保留低差异覆盖优势,同时降低某些维度的结构性相关与条纹。

适用:你看到 2D 热力图出现明显条纹或相关矩阵偏大时优先用它。

==================== 3) sobol_skip_leap ====================

sobol 序列设置 Skip/Leap,跳过序列前段点并隔点取样。

目的:避免序列初段潜在结构偏差;对某些高维问题更稳。

注意:这是经验技巧,不保证一定更好,但常能改善早期点太规整。

==================== 4) halton ====================

类型:低差异序列(基于互素基数)。

特点:生成快、实现简单;低维时效果常不错。

问题:高维时相关性可能变大(尤其未scramble)。

适用:d 不大或你想要简单快速的准均匀采样。

==================== 5) halton_rr2 ====================

halton + RR2 scramble。

特点:降低高维相关性,改善覆盖条纹化。

适用:halton 的相关矩阵 |corr| 偏大时建议换此方法。

==================== 6) halton_skip ====================

halton 设置 Skip/Leap,跳过前段并隔点取样。

适用:同 sobol_skip_leap,属于工程修正。

==================== 7) lhc ====================

类型:Latin Hypercube Sampling(拉丁超立方)。

核心:每个维度被分成 N 个等概率分层,每层恰好取一个点(保证边缘分布严格均匀)。

优点:单维边缘均匀性非常好,适合代理模型/回归训练。

缺点:点间全局最分散并不保证,仍可能出现局部拥挤。

==================== 8) lhc_maximin ====================

lhc + maximin 优化准则:尽量最大化点间最小距离。

效果:通常比普通 lhc 更分散;NN mean 往往更大。

适用:希望兼顾边缘分层与空间填充覆盖的常用默认选择。

==================== 9) lhc_corr ====================

lhc + correlation 准则:降低样本维度间线性相关。

效果:相关矩阵通常更好看(|corr|更小),但点间最小距离不一定最优。

适用:你很在意变量间相关性时(例如回归拟合敏感)。

==================== 10) lhc_iter200 ====================

lhc_maximin 的迭代增强版(iterations=200)。

特点:更慢,但往往能得到更好的 maximin 结果。

适用:中等规模 N、你愿意多花一点时间换更均匀覆盖。

==================== 11) lhc_centered ====================

中心拉丁超立方:每层取中心点(更规整)。

优点:边缘非常稳定,重复性好(相同seed下很一致)。

缺点:更规则,2D覆盖热力图可能出现棋盘感。

==================== 12) jittered_lhc ====================

分层 + 层内扰动:比 lhc_centered 更随机,仍保持分层。

适用:你希望避免过规则,但仍要边缘分层均匀。

==================== 13) random ====================

完全随机均匀采样。

优点:简单、速度快;理论分析最经典。

缺点:覆盖不稳定,常出现空洞和团簇;NN CV 往往较大。

适用:快速粗略试验或作为基线对比。

==================== 14) stratified ====================

简易分层采样(每维分 N 层并打乱)。

特点:边缘较均匀,速度快;可视作 LHC 的简化实现。

适用:没有 lhsdesign 时的稳健替代。

==================== 15) grid ====================

规则网格采样:每维 levels 个点,理论点数 levels^d。

优点:极规整,便于可视化与响应面/插值等实验。

缺点:维度稍大就爆炸;整数变量时重复/相关结构明显。

建议:d<=6 且 levels 不要过大;生成后建议用去重或FPS抽取代表点。

==================== 16) maximin_fps ====================

候选池 + 最远点采样(Farthest Point Sampling)。

流程:先生成较大候选池(CandidatePool),然后迭代选取与已选集合距离最远的点。

效果:点间距更均匀,通常 NN mean 更大、NN CV 更小;覆盖空洞更少。

代价:需要计算距离(候选池越大越慢);但覆盖通常很强。

适用:你追求空间填充覆盖时的强力选择(推荐)。

==================== 17) poisson_disk ====================

泊松盘式拒绝采样:要求点与点之间有最小间距 r。

直观效果:点更像均匀散布的圆盘,局部不会太拥挤。

难点:高维/大N会变慢甚至无法满足;本实现会自适应放宽 r,必要时回退到 maximin_fps。

适用:中低维、希望减少团簇、使点更等间距的场景。

二、APP打包文件获取

1.阅读首页置顶文章

2.关注CSDN

3.根据自动回复消息,回复"121期"以及相应指令,即可获取对应下载方式。

相关推荐
Dargon28821 小时前
Simulink的SIL软件在环测试
开发语言·matlab·simulink·mbd软件开发
机器学习之心1 天前
MATLAB基于BP神经网络-多模态多目标优化的喷墨打印纳米银导线工艺参数优化
神经网络·matlab·工艺参数优化
Dillon Dong1 天前
从C到Simulink:什么是MATLAB_MEX_FILE 宏,如何阻挡STM32 HAL 头文件
c语言·stm32·matlab
我爱C编程1 天前
基于SARSA强化学习的迷宫路线规划matlab仿真
matlab·强化学习·sarsa·迷宫路线规划
机器学习之心1 天前
BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆神经网络多输入多输出预测,MATLAB代码
神经网络·matlab·cnn·bo-cnn-bilstm
Dev7z2 天前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
π同学2 天前
基于Matlab的改进的广义预测控制
matlab·改进的广义预测控制
IT猿手2 天前
三维动态避障路径规划:基于部落竞争与成员合作算法(CTCM)融合动态窗口法DWA的无人机三维动态避障方法研究,MATLAB代码
算法·matlab·动态规划·无人机·路径规划·动态路径规划
freexyn2 天前
Matlab速成笔记七十:使用多项式函数进行曲线拟合
开发语言·笔记·matlab