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

相关推荐
英英_6 小时前
MATLAB数值计算基础教程
数据结构·算法·matlab
jllllyuz7 小时前
基于子集模拟的系统与静态可靠性分析及Matlab优化算法实现
算法·matlab·概率论
yugi9878388 小时前
基于遗传算法优化主动悬架模糊控制的Matlab实现
开发语言·matlab
yugi9878389 小时前
MATLAB的多层感知器(MLP)与极限学习机(ELM)实现
开发语言·matlab
崇山峻岭之间11 小时前
Matlab学习记录37
android·学习·matlab
抬头望远方15 小时前
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
开发语言·支持向量机·matlab·无人机
matlab科研助手15 小时前
【路径规划】基于遗传算法的农药无人机在多边形区域的路径规划研究附Matlab代码
开发语言·matlab·无人机
做科研的周师兄16 小时前
【MATLAB 实战】|多波段栅格数据提取部分波段均值——批量处理(NoData 修正 + 地理信息保真)_后附完整代码
前端·算法·机器学习·matlab·均值算法·分类·数据挖掘
行秋19 小时前
MATLAB 中的两大电力仿真库:Simscape Electrical(蓝色库) vs SimPowerSystems(黑色库)
开发语言·matlab
机器学习之心20 小时前
CEEMD-KPCA-PINN多变量时序光伏功率预测!互补集合经验模态分解+核主成份降维+物理信息神经网络,MATLAB代码
神经网络·机器学习·matlab·多变量时序光伏功率预测·物理信息神经网络