FAQ > 金融建模 > 建模问题 > 其他

Q:如何一次抽取多个随机样本?    

  • A:随机抽取多个样本或多个样本组,可以调用随机函数RandomChoice实现,FAQ:

    应用说明:
    抽取多个样本值时,可以通过该模型对一维数组的操作实现。
    抽取多个样本组时,可以通过对二维数组进行操作实现,其实逻辑跟一维是一样的,即只对第一维进行随机抽取指定行数结果。

    模型使用提示:
    RandomChoice函数的第三个参数是一个布尔值,表示是否可放回,默认为真可放回
    为1时,表示抽取完第一个样本后,会将该样本再次放入样本池中,再进行第二次抽取,即有概率抽取出相同的样本值。
    为0时,则表示抽取完第一个样本后,该样本则不再下次抽取的样本池中,即不会重复抽到同一个样本。

    下面举两个例子,函数用法一样,但是操作对象分别为一维与二维,主要用于对比抽查的效果展示,用户可根据需求创建好样本池。
    范例1:抽取多个样本值
    return RandomChoice(array("a","b","c","d","e"),3,0);

    返回结果:array("e","d","b")

    范例2:抽取多个样本组
    t:=array(("A","a"),("B","b"),("C","c"),("D","d"),("E","e"),("F","f"),
      ("G","g"),("H","h"),("I","i"),("J","j"),("K","k"),("L","l"),("M","m"),
      ("N","n"),("O","o"),("P","p"),("Q","q"),("R","r"),("S","s"),("T","t"),
      ("U","u"),("V","v"),("W","w"),("X","x"),("Y","y"),("Z","z"));
      return RandomChoice(t,3,0);

    返回结果: