前のページ|次のページ

CALL RANBINルーチン

二項分布からランダム変量を返します。

カテゴリ: 乱数

構文

CALL RANBIN(seed, n, p, x);

必須引数

シード

シード値です。CALL RANBINが実行されるたびに、seedの新しい値が返されます。

範囲 seed < 231 - 1
seed ≤ 0の場合、シードストリームの初期化に時刻が使用されます。
参照項目 シード値の詳細については、シード値および 乱数関数と乱数CALLルーチンのシード値の比較 を参照

n

整数の独立したBernoulli試行数です。

範囲 n > 0

p

数値の成功率パラメータです。

範囲 0<p<1

x

数値のSAS変数です。CALL RANBINが実行されるたびに、ランダム変量xの新しい値が返されます。

詳細

CALL RANBINルーチンはseedを更新し、平均がnpで分散がnp(1–p)の二項分布から生成された変量xを返します。n less than or equal to. 別の形式を利用するにはイメージをクリックします。 50、np less than or equal to. 別の形式を利用するにはイメージをクリックします。 5、n(1–p) less than or equal to. 別の形式を利用するにはイメージをクリックします。 5の場合、SASはRANUNI一様変量に適用される逆変換手法を使用します。n>50、np>5、n(1–p)>5の場合、SASは二項分布の正規近似を使用します。この場合、RANUNI一様変量のBox-Muller変換が使用されます。
シードを調整することで、同一または後続のDATAステップの一部またはすべてのオブザベーションで変量のストリームへの一致または不一致を強制できます。
乱数CALLルーチンの効果的な使用方法に関する説明と例については、ストリームの開始、停止および再開を参照してください。

比較

CALL RANBINルーチンは、シードおよび乱数ストリームをRANBIN関数よりも高度に制御できます。

次の例では、CALL RANBINルーチンを使用します。
data u1 (keep=x);
   seed=104;
   do i=1 to 5;
      call ranbin(seed, 2000, 0.2 ,x);
      output;
   end;
   call symputx('seed', seed);
run;

data u2 (keep=x);
   seed=&seed;
   do i=1 to 5;
      call ranbin(seed, 2000, 0.2 ,x);
      output;
   end;
run;

data all;
   set u1 u2;
   z=ranbin(104, 2000, 0.2);
run;

proc print label;
   label x='Separate Streams' z='Single Stream';
run;
CALL RANBINルーチンからの出力
CALL RANBINルーチンからの出力

関連項目:

前のページ|次のページ|ページの先頭へ