Matlab 拉丁超立方采样lhsdesign函数、lhsnorm函数介绍
本文主要介绍了Matlab自带的两个拉丁超立方抽样的两个函数——lhsdesign函数、lhsnorm函数,拉丁超立方抽样的原理后面有时间写一篇文章介绍一下
lhsdesign函数
X = lhsdesign(n, p);
lhsdesign
函数是基本的拉丁超立方抽样的函数,总体的抽样结果服从均匀分布,返回一个 n×pn \times pn×p 的矩阵,每一列的元素是随机排列的。
- nnn — 样本空间的分层数,将0-1空间nnn等分,得到(0,1/n),(1/n,2/n),...,(1−1/n,1)(0,1/n), (1/n,2/n), ..., (1 - 1/n,1)(0,1/n),(1/n,2/n),...,(1−1/n,1);同时nnn也是抽取的样本个数
- ppp — 样本维度数
实际上可以看出,lhsdesign(n,1)
已经完成了一轮一维分层抽样,这一过程实际上就是最基本的拉丁超立方抽样的过程了。如果仅仅想进行拉丁超立方抽样,现在已经实现了。
注意到顺序是乱序的。
lhsnorm函数
lhsnorm
函数是使总体抽样结果服从正态分布的拉丁超立方抽样函数。可以通过修改参数让不同的维度服从不同的分布。假设向量mu的长度为ppp,则返回n×pn \times pn×p维矩阵。
X = lhsnorm(mu, sigma, n);
- mu(μμμ)、sigma(σσσ) — 显然,这俩参数是正态分布的参数。mu是一个p×1p \times 1p×1向量,sigma是一个与mu对应的p×pp \times pp×p对角阵。共定义了ppp个正态分布,ppp个维度各自对应一个分布。
- nnn — 同lhsdesign函数中n的含义
有同学可能会问:我靠不对啊,我从其它地方看到的资料都是说拉丁超立方抽样函数都是服从均匀分布的啊,这里怎么又说服从正态分布了??这个问题的解释涉及到一些采样空间、样本空间等别的概念,先按下不表。后面有时间写一下我对拉丁超立方采样的理解。
程序演示
这里只演示一下lhsnorm
函数的效果,进行一次二维的服从正态分布的拉丁超立方采样。lhsdesign
函数比较简单,大家可以自己玩玩。
这个例子是在这篇文章的基础上修改的。第一维度服从X∼N(4,1)X \sim N(4,1)X∼N(4,1),第二维度服从X∼N(0,4)X \sim N(0,4)X∼N(0,4)
% 拉丁超立方采样的试验程序
% 每个维度都服从一个参数不同正态分布,每个维度都是独立的。
clear; clc; close all;Mu = [4 0];
Sigma = [1 4];
% SIGMA must be a square matrix with size equal to the number of columns in MU, or a row vector with length equal to the number of columns in MU.
% 虽然系统这么提示,但是CovarianceMatrix直接用p*1维向量不行CovarianceMatrix = Sigma;
CovarianceMatrix = diag(CovarianceMatrix); % 转换为对角矩阵N = 80; % 样本点数目X = lhsnorm(Mu, CovarianceMatrix, N); % 调用函数figure
plot(X(:,1),X(:,2),'*')
绘图结果
可以很明显的看出
- 在各个维度上,抽样值都服从各自的分布
- 即使服从的分布是正态分布,样本点仍较为均匀地分布在样本空间,没有很严重的聚集现象,这是拉丁超立方抽样相对于完全随机抽样的优点
- 概率密度低处取得的点(图中的离群点),因为强制分层抽样的原因,依然会被抽样到,这是该方法的另一个优点
参考资料
Latin hypercube sample - MATLAB lhsdesign
Latin hypercube sample from normal distribution - MATLAB lhsnorm
Latin Hypercube Sampling
LHS拉丁超立方采样matlab程序,对于均匀分布与正态(高斯)分布的变量进行拉丁超立方采样_Kevin的小屋-CSDN博客
Matlab 拉丁超立方采样lhsdesign函数、lhsnorm函数介绍相关推荐
- LHS拉丁超立方采样matlab程序,对于均匀分布与正态(高斯)分布的变量进行拉丁超立方采样
1.对正态(高斯)分布的变量进行拉丁超立方采样 clc clear all close all cst_Mu_Sigma = load( 'cst_Mu_Sigma.dat'); Mu = cst_M ...
- Matlab 采用正态分布和韦布尔分布描述风电,光伏和负荷概率分布,采用拉丁超立方采样抽样生成大量场景
[1]关键词:场景生成:场景削减:概率分布:随机优化 [2]参考文献:<一种在微网动态经济调度中考虑风电随机性的方法> [3]主要内容:Matlab 采用正态分布和韦布尔分布描述风电,光伏 ...
- 采用拉丁超立方采样的电力系统概率潮流计算 拉丁超立方采样属于分层采样,是一种有效的用采样值反映随机变量的整体分布的方法
采用拉丁超立方采样的电力系统概率潮流计算 (自适应核密度估计,自适应带宽核密度估计) 拉丁超立方采样属于分层采样,是一种有效的用采样值反映随机变量的整体分布的方法. 其目的是要保证所有的采样区域都能够 ...
- 基于最大最小思想优化拉丁超立方采样
由于普通的拉丁超立方采样,样本点序列是一个随机的排列,就会出现如下分布状况,虽然采样点满足了空间投影均匀的特性,但它的空间填充效果并不好. 根据参考文献的那篇论文提出的最大最小方法优化普通拉丁超立方采 ...
- 拉丁超立方采样的思想和代码
思想 思想很简单,就是假设你要从一个超维空间(维度=Dim)采样N个样本,那么拉丁超立方采样就是这样做的.分别在每个维度采样N个值(你可以理解成把单维度(一条线)分成N份,在每个范围都随机取一个值出来 ...
- 【采样算法】拉丁超立方采样
[采样算法]拉丁超立方采样 简介 过程 一维拉丁超立方采样 多维拉丁超立方采样 python编程 结论 参考 简介 LHS(Latin Hypercube Sampling)是一种分层采样方法,相较于 ...
- Python 拉丁超立方采样
#coding=utf-8 from __future__ import division __author__ = 'wanghai' import numpy as np from matplot ...
- 论文复现:模拟风电不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)
风电出力的不确定性主要源于预测误差,而研究表明预测误差(e)服从正态分布且大概为预测出力的10%.本代码采用拉丁超立方抽样实现场景生成[1,2].基于概率距离的快速前代消除法实现场景缩减[3],以此模 ...
- 8-基于拉丁超立方法的风光场景生成与削减
8-基于拉丁超立方法的风光场景生成与削减 摘要:与蒙特卡洛法不同,拉丁超立方采样改进了采样策略能够做到较小采样规模中获得较高的采样精度,属于分层抽样技术,设定风光出力遵从正态分布normrnd,从而实 ...
最新文章
- Github 一夜爆火:这份金九银十 Java 面试手册我给跪了
- python资料下载-python电子书学习资料打包分享百度云资源下载
- java 更新jlabel_java – 如何动态更改JLabel
- c c 语言写的四六级词汇系统,2020英语四六级词汇积累:以c开头的单词(二)
- 基于.NET CORE微服务框架 -谈谈surging API网关
- 我❤️—Python自动化测试,30岁熬到月薪20K+,分享我的多年面试经…
- 第五版fmea表格_FMEA第五版: 新版 DFMEA六步法解析
- 面试必备 | 带你彻底搞懂 Python 生成器。
- Vue 组件之间传值
- Java课程寒假之开发记账本软件(网页版)之一
- 简单梳理下git的使用感受,思考git中最重要的是什么
- 宽带连接时用电脑开热点的方法
- 颠覆IoT行业的开发神器!涂鸦智能重磅推出TuyaOS操作系统【程序员必备】
- ROS(ERROR):Rosdep cannot find all required resources to answer your query
- oracle常用知识,oracle的基本知识
- JAVA分布式医疗云平台系统开发实战第一节 open-his系统介绍
- ICMP flood(ICMP洪水攻击)
- ITE之GUI设计----过场动画
- Codeforces Round #666 (Div. 2)E	 Monster Invaders
- 海伦公式的证明——杨子曰数学
热门文章
- jmeter性能测试方案
- 一个汉字真的由两个字节存放吗?
- Paper之RegNet:《Designing Network Design Spaces》的翻译与解读—2020年3月30日来自Facebook AI研究院何恺明团队最新算法RegNet
- 如何将一个HTML页面嵌套在另一个页面中
- (5.1)Typora——Typora 图像保存和上传( 本地 + PicGo + SMMS/Gitee)
- Python爬虫【如何爬取内容(html)和解析内容】
- 考试行测常识判断法律知识备考误区提示
- 企业微信加密消息体_企业微信机器人怎么发消息?企业微信机器人可以定时发消息吗?...
- python 3.x语句print_Python 3.x语句print(1,2,3,sep=’.’)
- 黑莓BlackBerry手机辐射大小实测