前のページ|次のページ

CALL RANPOIルーチン

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

カテゴリ: 乱数

構文

CALL RANPOI(seed, m, x);

必須引数

シード

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

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

m

数値の平均パラメータです。

範囲 m ≥ 0

x

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

詳細

CALL RANPOIルーチンはseedを更新し、Poisson分布から生成される平均値mの変量xを返します。
シードを調整することで、同一または後続のDATAステップの一部またはすべてのオブザベーションで変量のストリームへの一致または不一致を強制できます。
m < 85の場合、RANUNI一様変量に適用される逆変換法が使用されます(Fishman, 1976; 次を参照:リファレンス)。m≥85の場合、Poisson確率変数の正規近似が使用されます。迅速に実行するために、内部変数は初期呼び出し(新しい各m)でのみ計算されます。
乱数CALLルーチンの効果的な使用方法と例については、ストリームを開始、停止および再開するを参照してください。

比較

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

この例では、CALL RANPOIルーチンを使用します。
data u1(keep=x);
   seed=104;
   do i=1 to 5;
      call ranpoi(seed, 2000, x); 
      output;
   end;
   call symputx('seed', seed);
run;
data u2(keep=x);
   seed=&seed;
   do i=1 to 5;
      call ranpoi(seed, 2000, x); 
      output;
   end;
run;
data all;
   set u1 u2;
   z=ranpoi(104, 2000);
run;
proc print label;
   label x='Separate Streams' z = 'Single Stream';
run;
CALL RANPOIルーチンからの出力
CALL RANPOIルーチンからの出力

関連項目:

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