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

相关推荐
aini_lovee9 小时前
MATLAB基于小波技术的图像融合实现
开发语言·人工智能·matlab
3GPP仿真实验室10 小时前
【Matlab源码】6G候选波形:OFDM-IM 增强仿真平台 DM、CI
开发语言·matlab·ci/cd
rit843249914 小时前
MATLAB中Teager能量算子提取与解调信号的实现
开发语言·matlab
我找到地球的支点啦14 小时前
通信扩展——扩频技术(超级详细,附带Matlab代码)
开发语言·matlab
Dev7z1 天前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
fengfuyao9851 天前
基于MATLAB的表面织构油润滑轴承故障频率提取(改进VMD算法)
人工智能·算法·matlab
机器学习之心1 天前
基于随机森林模型的轴承剩余寿命预测MATLAB实现!
算法·随机森林·matlab
rit84324991 天前
基于MATLAB的环境障碍模型构建与蚁群算法路径规划实现
开发语言·算法·matlab
hoiii1871 天前
MATLAB SGM(半全局匹配)算法实现
前端·算法·matlab
yong99901 天前
MATLAB面波频散曲线反演程序
开发语言·算法·matlab