【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期"以及相应指令,即可获取对应下载方式。