精华内容
下载资源
问答
  • 从正态分布中抽取样本
    2021-04-18 05:45:59

    R =

    mvnrnd(MU,SIGMA)——从均值为MU,协方差为SIGMA的正态分布中抽取n*d的矩阵R(n代表抽取的个数,d代表分布的维数)。

    MU为n*d的矩阵,R中的每一行为以MU中对应的行为均值的正态分布中抽取的一个样本。

    SIGMA为d*d的对称半正定矩阵,或者为d*d*n的array。若SIGMA为array,R中的每一行对应的分布的协方差矩阵为该array对应的一个page。也就是说:R(i,:)由MU(i,:)和SIGMA(:,:,i)产生。

    如果协方差矩阵为对角阵,sigma也可用1*d向量或1*d*n的array表示,如果MU是一个1*d的向量,则SIGMA中的n个协方差矩阵共用这个MU。R的行数n由MU的行数n或者SIGMA的page数n决定。

    r =

    mvnrnd(MU,SIGMA,cases)——从均值为MU(1*d),协方差矩阵为SIGMA(d*d)的正态分布中随机抽取cases个样本,返回cases*d的矩阵r。

    不使用现成的函数,可以通过一个线性变换来实现:

    我们知道,matlab产生的n维正态样本中的每个分量都是相互独立的,或者说,它的协方差矩阵是一个数量矩阵mI,如:X

    =

    randn(10000,4);产生10000个4维分布的正态分布样本,协方差矩阵就是单位矩阵I。

    定理

    n维随机变量X服从正态分布N(u,B),若m维随机变量Y是X的线性变换,即Y=XC,其中C是n×m阶矩阵,则Y服从m维正态分布N(uC,C'BC)。

    根据这条定理,我们可以通过一个线性变换C把协方差矩阵为I的n维正态样本变为协方差矩阵为C'C的n维正态样本。如果我们要产生协方差矩阵为R的n维正态样本,由于R为对称正定矩阵,所以有Cholesky分解:

    R=C'C

    附:matlab程序

    function Y =

    multivrandn(u,R,M)

    % this function draws M samples from N(u,R)

    % where u is the mean vector(row) and R is the covariance matrix

    which must be positive definite

    n =

    length(u); % get the dimension

    C =

    chol(R); % perform cholesky decomp R = C'C

    X =

    randn(M,n); % draw M samples from N(0,I)

    Y = X*C +

    ones(M,1)*u;

    更多相关内容
  • 在PCL的VoxelGridCovariance类的getDisplayCloud方法采用了Cholesky分解采样的方法。 1 template<typename PointT> void 2 pcl::VoxelGridCovariance<PointT>::getDisplayCloud...

    在PCL的VoxelGridCovariance类的getDisplayCloud方法中采用了Cholesky分解采样的方法。

     1 template<typename PointT> void
     2 pcl::VoxelGridCovariance<PointT>::getDisplayCloud (pcl::PointCloud<PointXYZ>& cell_cloud)
     3 {
     4   cell_cloud.clear ();
     5 
     6   int pnt_per_cell = 1000;
     7   boost::mt19937 rng;
     8   boost::normal_distribution<> nd (0.0, leaf_size_.head (3).norm ());
     9   boost::variate_generator<boost::mt19937&, boost::normal_distribution<> > var_nor (rng, nd);
    10 
    11   Eigen::LLT<Eigen::Matrix3d> llt_of_cov;
    12   Eigen::Matrix3d cholesky_decomp;
    13   Eigen::Vector3d cell_mean;
    14   Eigen::Vector3d rand_point;
    15   Eigen::Vector3d dist_point;
    16 
    17   // Generate points for each occupied voxel with sufficient points.
    18   for (typename std::map<size_t, Leaf>::iterator it = leaves_.begin (); it != leaves_.end (); ++it)
    19   {
    20     Leaf& leaf = it->second;
    21 
    22     if (leaf.nr_points >= min_points_per_voxel_)
    23     {
    24       cell_mean = leaf.mean_;
    25       llt_of_cov.compute (leaf.cov_);
    26       cholesky_decomp = llt_of_cov.matrixL ();
    27 
    28       // Random points generated by sampling the normal distribution given by voxel mean and covariance matrix
    29       for (int i = 0; i < pnt_per_cell; i++)
    30       {
    31         rand_point = Eigen::Vector3d (var_nor (), var_nor (), var_nor ());
    32         dist_point = cell_mean + cholesky_decomp * rand_point;
    33         cell_cloud.push_back (PointXYZ (static_cast<float> (dist_point (0)), static_cast<float> (dist_point (1)), static_cast<float> (dist_point (2))));
    34       }
    35     }
    36   }
    37 }

     


    原文链接: http://blog.sina.com.cn/s/blog_955cedd8010130m8.html

     

    R = mvnrnd(MU,SIGMA)——从均值为MU,协方差为SIGMA的正态分布中抽取n*d的矩阵R(n代表抽取的个数,d代表分布的维数)。


    MU为n*d的矩阵,R中的每一行为以MU中对应的行为均值的正态分布中抽取的一个样本。

    SIGMA为d*d的对称半正定矩阵,或者为d*d*n的array。若SIGMA为array,R中的每一行对应的分布的协方差矩阵为该array对应的一个page。也就是说:R(i,:)由MU(i,:)和SIGMA(:,:,i)产生。
    如果协方差矩阵为对角阵,sigma也可用1*d向量或1*d*n的array表示,如果MU是一个1*d的向量,则SIGMA中的n个协方差矩阵共用这个MU。R的行数n由MU的行数n或者SIGMA的page数n决定。

    r = mvnrnd(MU,SIGMA,cases)——从均值为MU(1*d),协方差矩阵为SIGMA(d*d)的正态分布中随机抽取cases个样本,返回cases*d的矩阵r。

     

    不使用现成的函数,可以通过一个线性变换来实现:

    我们知道,matlab产生的n维正态样本中的每个分量都是相互独立的,或者说,它的协方差矩阵是一个数量矩阵mI,如:X = randn(10000,4);产生10000个4维分布的正态分布样本,协方差矩阵就是单位矩阵I

    定理 n维随机变量X服从正态分布N(u,B),若m维随机变量YX的线性变换,即Y=XC,其中C是n×m阶矩阵,则Y服从m维正态分布N(uC,C'BC)。

    根据这条定理,我们可以通过一个线性变换C把协方差矩阵为I的n维正态样本变为协方差矩阵为C'C的n维正态样本。如果我们要产生协方差矩阵为R的n维正态样本,由于R为对称正定矩阵,所以有Cholesky分解: R=C'C

    附:matlab程序

    function Y = multivrandn(u,R,M)
    % this function draws M samples from N(u,R)
    % where u is the mean vector(row) and R is the covariance matrix which must be positive definite

    n = length(u);              % get the dimension
    C = chol(R);                % perform cholesky decomp R = C'C
    X = randn(M,n);             % draw M samples from N(0,I)

    Y = X*C + ones(M,1)*u;  

    展开全文
  • X = rmvnrnd(MU,SIG,N,A,B) 在 N×P 矩阵 X a 返回 P 维多元正态中抽取的随机样本均值 MU 和协方差 SIG 截断为 a 的分布由不等式 Ax<=B 定义的超平面界定的区域。 [X,RHO,NAR,NGIBBS] = rmvnrnd(MU,SIG,N,A,B...
  • 对于大样本的抽样分布,由中心极限定理,无论总体分布是否为正态分布,其均值x_bar的抽样分布为近似正态分布,同时对于较大的n(n>=30),s将会是σ的优良估计。 x_bar的抽样分布的置信区间可以使用z统计量来...

    目录

    大样本抽样分布

    正态分布小样本抽样分布—t分布

    运用t分布构建小样本抽样均值的置信区间

    运用t分布进行小样本抽样均值检验


    大样本抽样分布

    对于大样本的抽样分布,由中心极限定理,无论总体分布是否为正态分布,其均值x_bar的抽样分布为近似正态分布,同时对于较大的n(n>=30),s将会是σ的优良估计。

    x_bar的抽样分布的置信区间可以使用z统计量来构建,z统计量为:

    x_bar的抽样分布的置信区间为:

    其中Zα/2是z的右边使得右尾面积等于α/2的z值(如Figure 6.5),σx_bar是x_bar抽样分布的标准差,σ是总体的标准差,s是样本的标准差

    正态分布小样本抽样分布—t分布

    对于小样本来说,如果总体分布为(近似)正态分布,则样本均值也符合(近似)正态分布,但是小样本的的方差不是总体方差σ的优良估计,这时需要用到t分布来刻画总体的方差。

    定义统计量t:

    如果我们从正态分布中抽取样本,则t统计量就与z统计量极其相似的抽样分布:钟型、对称、均值为0。两个分布的主要区别是t统计量比z统计量具有更大的变动性,因为t统计量包含随机变量x_bar和s,而z统计量仅包含x_bar。

    t统计量的抽样分布的总变异性取决于样本量n,假设样本数为n,则称df=n-1为t分布的自由度。一般来说t分布比正态分布更宽、更扁平,当n趋紧于总体时,t分布就时总体正态分布,s-->σ

    t分布表如下:

    运用t分布构建小样本抽样均值的置信区间

    运用t分布构建小样本抽样均值的置信区间时,一般来说,σ未知,X_bar置信区间为:

    其中tα/2是基于n-1个自由度t分布中右尾面积a/2对应的t值

    运用t分布进行小样本抽样均值检验

    小样本均值检验与小样本均值置信区间估计类似

     

    展开全文
  • Matlab多维正态分布中随机抽取样本函数

    原帖地址:http://blog.sina.com.cn/s/blog_955cedd8010130m8.html


    R = mvnrnd(MU,SIGMA)——从均值为MU,协方差为SIGMA的正态分布中抽取n*d的矩阵R(n代表抽取的个数,d代表分布的维数)。


    MU为n*d的矩阵,R中的每一行为以MU中对应的行为均值的正态分布中抽取的一个样本。

    SIGMA为d*d的对称半正定矩阵,或者为d*d*n的array。若SIGMA为array,R中的每一行对应的分布的协方差矩阵为该array对应的一个page。也就是说:R(i,:)由MU(i,:)和SIGMA(:,:,i)产生。
    如果协方差矩阵为对角阵,sigma也可用1*d向量或1*d*n的array表示,如果MU是一个1*d的向量,则SIGMA中的n个协方差矩阵共用这个MU。R的行数n由MU的行数n或者SIGMA的page数n决定。

    r = mvnrnd(MU,SIGMA,cases)——从均值为MU(1*d),协方差矩阵为SIGMA(d*d)的正态分布中随机抽取cases个样本,返回cases*d的矩阵r。

     

    不使用现成的函数,可以通过一个线性变换来实现:

    我们知道,matlab产生的n维正态样本中的每个分量都是相互独立的,或者说,它的协方差矩阵是一个数量矩阵mI,如:X = randn(10000,4);产生10000个4维分布的正态分布样本,协方差矩阵就是单位矩阵I

    定理 n维随机变量X服从正态分布N(u,B),若m维随机变量YX的线性变换,即Y=XC,其中C是n×m阶矩阵,则Y服从m维正态分布N(uC,C'BC)。

    根据这条定理,我们可以通过一个线性变换C把协方差矩阵为I的n维正态样本变为协方差矩阵为C'C的n维正态样本。如果我们要产生协方差矩阵为R的n维正态样本,由于R为对称正定矩阵,所以有Cholesky分解: R=C'C


    附:matlab程序

    function Y = multivrandn(u,R,M)
    % this function draws M samples from N(u,R)
    % where u is the mean vector(row) and R is the covariance matrix which must be positive definite

    n = length(u);              % get the dimension
    C = chol(R);                % perform cholesky decomp R = C'C
    X = randn(M,n);             % draw M samples from N(0,I)

    Y = X*C + ones(M,1)*u;

    展开全文
  • 用C++实现多元正态分布抽样
  • 样本大,服从正态分布起源于中心极限定律,中心极限定律的发现是根据一代人一代人的实验与理论证明,从中看出数据服从正态分布是一个多么好的性质!
  • [mu,sigma]=normfit(x); r=normrnd(mu,sigma,1000,1); 根据样本x计算mu和sigma, 使用normrnd生成1000个服从样本概率密度函数的随机数。
  • 正态分布正态分布采样及Python实现

    万次阅读 多人点赞 2018-12-27 22:22:10
    正态分布正态分布采样及Python实现多元正态分布(多元...直接多元正态分布讲起。多元正态分布公式如下: Pr=1(2π)D/2∣∑∣1/2exp(−0.5(x−μ)T∑−1(x−μ)))P_r = \frac{1}{(2\pi )^{D/2}\left | \sum \rig...
  • 随着t分布自由度的增大,t分布的概率密度函数曲线越来越接近标准正态分布
  • 【练习一】对example1_1.Rdata数据,利用R软件,完成分别有放回和无放回抽取10名学生的姓名组成一个随机样本,输出学生姓名分别有放回和无放回抽取10名学生的姓名和分数组成一个随机样本,同时输出学生姓名和分数。...
  • 正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution),最早由A.棣莫弗在求二项分布的渐近公式得到。C.F.高斯在研究测量误差时另一个角度导出了它。P.S.拉普拉斯和高斯研究了...
  • 样本服从正态分布,证明样本容量n乘样本方差与总体方差之比服从卡方分布x^2(n) 正态分布的n阶中心矩参见: http://www.doc88.com/p-334742692198.html 转载于:...
  • 正态分布的样子 import numpy as np import matplotlib.pyplot as plt def normal_distribution(x, mu=0, sigma=1): """根据公式,由自变量x计算因变量的值 Argument: x: array 输入数据(自变量) mu: float ...
  • 正态分布及标准误PPT课件.pptx
  • 正态分布应用例题

    千次阅读 2021-04-20 17:46:11
    问:设某种电子元件的寿命(单位:h)服从正态分布 ,随机地取10个元件,试求:恰有两个元件的寿命大于140h而小于180h的概率; 答:程序(C语言版) #include <stdio.h> #include<math.h> #include<...
  • 相信,你我可以想象得到,我们现在眼前所看到的正态分布曲线虽然看上去很美,但数学史上任何一个定理的发明几乎都不可能一蹴而就,很多往往经历了几代人的持续努力。因为在科研上诸多观念的革新和突破是...
  • #R: snorm<-function(x){ sigma=2 y=(1/sqrt(2pisigmasigma))exp((-1/(2sigmasigma))*(x-4)^2) #y=dnorm(x,4,2) } T=50 Theta<-c(NA,n=T) Theta[1]=rnorm(1,0,1) t=1 while(t<...-rno...
  • 正态分布&概率密度函数

    千次阅读 2021-03-18 12:15:24
    http://www.360doc.com/content/17/0306/13/32342759_634411464.shtml什么是正态分布正态概率分布是连续型随机变量概率分布...学习成绩,特别是,在统计推断时,当样本的数量足够大时,许多统计数据都服从正态分布...
  • 数据分析中正态分布的作用 正态分布的作用 正态分布准确地说什么是标准离差?它用最标准方式表达的期望值(标准差)的离差。 第一步是收集一系列教据和决定你的期望值是多少。 例如找们讨论的抛两个般子的情况.你...
  • 正态分布意味着什么2.1 中心极限定理2.2 重要性3. 正态分布的变量有哪些4.python来检验数据的分布5.特别注意 1. 概率分布是什么 我们可以投10000次骰子,每次都有6种可能的取值,我们可以将类别数设为6,然后我们就...
  • 正态分布之中心极限定理

    千次阅读 2019-03-05 10:11:26
    中心极限定理:在任意分布的总体(定义良好,有均值,有标准差)抽取N次样本(样本容量越大),求出每次抽取样本的均值(或者求和等),N次样本均值频率分布近似正态分布。 分布(密度函数) 总体分布 均值 方差...
  • 假设我有N = 5个国家,每个国家有n = 1000人口,我想为每个人口的每个人产生随机收入(正态分布),收入的约束在0到1之间,并且在相同的平均值和不同的标准所有国家的偏差 . 我使用函数rnorm(n,meanx,sd)来完成它...
  • 统计基础之差异性&归一化&正态分布

    千次阅读 2019-11-04 17:18:14
    在高斯分布中抽取部分的样本,用样本的方差表示满足高斯分布的大样本数据集的方差,由于样本主要是落于x=u中心值附近,所以部分样本的方差相对于大样本方差会偏小,为了弥补这个缺陷,把公式的n改成n-1。...
  • 正态分布随机数生成算法

    万次阅读 多人点赞 2018-06-23 20:32:33
    最近在学习基于蒙特卡罗的强化学习方法时遇到 生成服从正态分布的随机数的算法,因此做一个回顾和总结。要编程得到服从均匀分布的伪随机数是容易的,C、Python、Java语言等都提供了相应的函数。但是要想生成服从正态...
  • 指的是总体是正态分布总体抽出样本,构造统计量,研究统计量的分布 一个正态总体 s是样本方差 1、抽出样本构造的统计量是均值,统计量的分布是正态分布。可以看出取均值之后,方差变小了,波动性变小,变...
  • 正态分布与幂律分布

    千次阅读 2020-03-09 15:22:33
    该定理的内容是,假设我们任意一个总体中抽取样本量为n的样本,当n充分大时,样本均值的抽样分布近似服从均值为μ、方差为σ^2/n 的一个钟型的正态分布正态分布的特点是大部分数据集中在中间,少部分分散在...
  • 内容导入: ...上期主要给大家介绍了正态分布,其实除了正态分布,还有很多的分布类型,今天就给大家科普一下。标准的二分布、均匀分布这样的古典概型产生的分布,在这里就不一一给大家介绍了。本次介绍的分

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,589
精华内容 3,835
关键字:

从正态分布中抽取样本

友情链接: MYaUTpGis.zip