「二値データのシミュレーション方法」の編集履歴(バックアップ)一覧はこちら

二値データのシミュレーション方法」(2006/08/11 (金) 22:23:45) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

/* 方法 (1) 簡易版 PR = ...; DV = 0; IF PR >= 0.5 THEN DV = 1; 方法 (2) PR = ...; DV = 0; R = RANUNI(); IF R <= PR THEN DV = 1; */ %LET NSIM = 1000; *** 1 群 (1 用量) あたりのシミュレーション回数 ***; %LET SEED = 2601; *** 乱数の種 ***; DATA p; *** Group = 1 ~ 9, それぞれ母確率 10%, ..., 90% に対応させる ***; DO Group = 1 TO 9; DO i = 1 TO &NSIM; *** +/- 50% のばらつきを持たせる ***; pr = Group / 10 + RANUNI(&SEED) - 0.5; *** pr: 確率 probability ***; *** 0 <= pr <= 1 にする ***; IF pr < 0 THEN pr = 0; IF pr > 1 THEN pr = 1; *** 方法 (1) 簡易版 ***; DV_simple = 0; *** pr >= 0.5 だったら「有効」とする ***; IF pr >= 0.5 THEN DV_simple = 1; DV = 0; *** 確率 pr に応じて有効/無効を生成する ***; IF RANUNI(&SEED) <= pr THEN DV = 1; OUTPUT; END; END; RUN; PROC FREQ DATA=p; TITLE1 '方法 (1) 簡易版'; TABLES DV_simple * Group / NOPERCENT NOROW NOFREQ; RUN; PROC FREQ DATA=p; TITLE1 '方法 (2)'; TABLES DV * Group / NOPERCENT NOROW NOFREQ; RUN; TITLE1;
/* 方法 (1) 簡易版 PR = ...; DV = 0; IF PR >= 0.5 THEN DV = 1; 方法 (2) PR = ...; DV = 0; R = RANUNI(); IF R <= PR THEN DV = 1; */ %LET NSIM = 1000; *** 1 群 (1 用量) あたりのシミュレーション回数 ***; %LET SEED = 2601; *** 乱数の種 ***; DATA p; *** Group = 1 ~ 9, それぞれ母確率 10%, ..., 90% に対応させる ***; DO Group = 1 TO 9; DO i = 1 TO &NSIM; *** +/- 50% のばらつきを持たせる ***; pr = Group / 10 + RANUNI(&SEED) - 0.5; *** pr: 確率 probability ***; *** 0 <= pr <= 1 にする ***; IF pr < 0 THEN pr = 0; IF pr > 1 THEN pr = 1; *** 方法 (1) 簡易版 ***; DV_simple = 0; *** pr >= 0.5 だったら「有効」とする ***; IF pr >= 0.5 THEN DV_simple = 1; DV = 0; *** 確率 pr に応じて有効/無効を生成する ***; IF RANUNI(&SEED) <= pr THEN DV = 1; OUTPUT; END; END; RUN; PROC FREQ DATA=p; TITLE1 '方法 (1) 簡易版'; TABLES DV_simple * Group / NOPERCENT NOROW NOFREQ; RUN; PROC FREQ DATA=p; TITLE1 '方法 (2)'; TABLES DV * Group / NOPERCENT NOROW NOFREQ; RUN; TITLE1;

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー