datasample

从数据中随机抽样,有无替换

说明

例子

y=数据样本(数据,k)返回k从数据中随机均匀采样的观测值,进行置换数据

例子

y=数据样本(数据,k,昏暗的)返回沿尺寸采集的样本昏暗的属于数据

例子

y=数据样本(___,名称,值)返回前面语法中任何输入参数的示例,以及由一个或多个名称-值对参数指定的附加选项。例如,“替换”,假的指定不替换的采样。

例子

y=数据样本(年代,___)使用随机数流年代生成随机数。选择权年代可以在前面语法中的任何输入参数之前。

例子

(y,国际直拨电话)= datasample (___)还返回指示值的索引向量datasample采样自数据使用前面语法中的任何输入参数。

实例

全部折叠

为重现性创建随机数流。

s=随机流('mlfg6331_64');

从整数中画出五个唯一的值110个

1:10,y = datasample(年代,5,'替换',错误)
是的=1×5个9 8 3 6 2年

为重现性创建随机数流。

s=随机流('mlfg6331_64');

生成48个序列中的随机字符ACGT每个指定的概率。

seq=数据样本,“ACGT”,48岁,“重量”,[0.15 0.35 0.35 0.15])
seq = ' GGCGGCGCAAGGCGCCGGACCTGGCTGCACGCCGTTCCCTGCTACTCG '

设置随机种子以保证结果的重现性。

rng(10,“旋风”)

生成一个包含10行1000列的矩阵。

X = randn (1000);

创建随机数流内的重现性datasample

s=随机流('mlfg6331_64');

随机选择五个唯一的列X

X, Y = datasample(年代,5,2,'替换',错误)
是的=10×50.4317 - 0.327 0.9112 -2.3244 0.9559 0.6977 - 7422 0.4578 -1.3745 -0.8634 - 8543 -0.3105 0.6609 -0.0553 - 0.3699 -1.7649 -1.1607 -1.5533 0.597 -0.3821 0.5696 -1.6264 - 0.4104 -1.5486 -1.6844 0.7148 - 6876 -1.4615 -0.4170 1.3696 - 1874 - 9901 0.5875 - 2410 1.4703 -2.5003 -1.1321 -1.8451 0.8697 0.8093

从数据集数组中重新采样观测值以创建引导复制数据集。见引导重采样有关引导的详细信息。

加载示例数据集。

负载医院

创建与医院数据集,包含从医院数据集。

y = datasample(医院、尺寸(医院,1));

根据从另一个向量中选择的样本的索引从数据中选择样本。

生成两个随机向量。

x1=随机数(100,1);x2=随机数(100,1);

选择的样本10个向量的元素x1个,并以向量形式返回样本的索引国际直拨电话

[y1,idx]=数据样本(x1,10);

选择的样本10个向量的元素x2个使用向量中的指标国际直拨电话

y2 = x2 (idx);

输入参数

全部折叠

输入要从中采样的数据,指定为向量、矩阵、多维数组、表或数据集数组。默认情况下,datasample从的第一个非单维样本数据。例如,如果数据是矩阵吗datasample行中的样本。使用更改此行为昏暗的输入参数。

数据类型:单一的|双重的|逻辑|字符|一串|表格

样本数,指定为正整数。

例子:数据样本(数据,100)返回从数据中均匀随机取样的100个观察值数据

数据类型:单一的|双重的

样本的维数,指定为正整数。例如,如果数据是一个矩阵昏暗的2,y中包含列的选择项数据. 如果数据表或数据集数组和昏暗的2,y中包含变量的选择数据。使用昏暗的无论是否数据是向量,矩阵,还是N维数组。

数据类型:单一的|双重的

随机数流,指定为全局流或兰德斯特朗。例如,s = RandStream (“mlfg6331_64”)创建一个使用乘法滞后斐波那契生成器算法的随机数流。有关详细信息,请参见创建和控制随机数流(MATLAB)。

rng公司函数提供了一种控制全局流的简单方法。例如,rng(种子)使用非负整数种子为随机数生成器种子。有关详细信息,请参见管理全球流(MATLAB)。

名称-值对的观点

的可选逗号分隔对名称,值参数。姓名参数名和价值是相应的值。姓名必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“替换”,假的,“权重”,那些(datasize, 1)无替换且概率与元素成正比的样本权重,其中datasize是被采样的维度的大小。

用于替换抽样的指示器,指定为逗号分隔对所组成的'替换',要么真的

如果有替换的样品'替换'真的,或无替换如果'替换'. 如果'替换',然后k不得大于所采样维度的大小。例如,如果数据=[1 Inf;2]y = datasample(数据、k“取代”,假),然后k不能大于2

数据类型:逻辑

采样权重,指定为逗号分隔对,由“重量”以及一个非负数值向量。向量大小datasize,其中datasize是要采样的维度的大小。向量必须至少有一个正值,并且不能包含值。的datasample概率与元素成正比的函数样本“重量”

例子:'重量',[0.1 0.5 0.35 0.46]

数据类型:单一的|双重的

输出参数

全部折叠

样本,以向量、矩阵、多维数组、表或数据集数组的形式返回。

  • 如果数据是一个向量y是一个包含k从中选择的元素数据

  • 如果数据是一个矩阵昏暗的=1,然后y是一个包含k从中选择的行数据. 或者,如果昏暗的=2,然后y是一个包含k列选自数据

  • 如果数据是一个N维数组和昏暗的=1,然后y是一个N的第一个非单次维的样本数组数据. 或者,如果为昏暗的名称-值对的论点,datasample沿尺寸取样昏暗的

  • 如果数据是一张桌子昏暗的=1,然后y是一个包含k从中选择的行数据. 或者,如果昏暗的=2,然后y是一个包含k从中选择的变量数据

  • 如果数据是一个数据集数组,并且昏暗的=1,然后y数据集数组是否包含k从中选择的行数据. 或者,如果昏暗的=2,然后y数据集数组是否包含k从中选择的变量数据

如果输入数据包含表示为的缺失的观察值价值观,datasample从整个输入中抽取样本,包括值。例如,y=数据样本([NaN 6 14],2)可以返回y = NaN 14

当样本被替换(默认)时,y可以包含来自数据。设置更换的名称-值对参数不更换样品。

索引,作为指示哪些元素的向量返回datasample从中选择数据创建y。例如:

  • 如果数据是一个向量y =数据(idx)

  • 如果数据是一个矩阵昏暗的=1,然后y=数据(idx,:)

  • 如果数据是一个矩阵昏暗的=2,然后y=数据(:,idx)

提示

  • 若要从一个范围中抽取随机整数并进行替换,请使用兰迪

  • 要在不替换的情况下采样随机整数,请使用随机排列datasample

  • 使用从数据中随机取样,不论是否替换datasample

算法

datasample使用随机排列,兰德,或兰迪生成随机值。因此,datasample更改MATLAB的状态®全局随机数生成器。使用控制随机数生成器rng公司

对于不进行替换选取加权样本,datasample使用Wong和Easton的算法[1]

替代功能

您可以使用兰迪随机排列分别为有或没有替换的随机抽样生成索引。然而,datasample使用起来更方便,因为它直接从数据中取样。datasample也允许加权抽样。

参考文献

王家强,m.c.伊斯顿。一种无置换加权抽样的有效方法。计算机学报9(1),页111-113,1980。

扩展功能

介绍了R2011b