コンプガチャの話で、心理学がどーのこーのという話があったが、主観確率と客観確率の違いみたいなものもあるなあと思った。
%let _onecardrate = 0.001 ; %let OVERnumber = 5 ; %let _subjectnumber = 100000 ; data _DATA_STEP _DATA_F ; attrib SUBJID length=8 format=Z5.0 ; attrib STEP length=8 ; attrib CARD1-CARD&OVERnumber. length=8 ; attrib CARD_ length=8 ; array CARD{*} CARD: ; attrib _i_ _ii_ _flg _rnd length=8 ; drop _i_ _ii_ _flg _rnd ; do _i_ = 1 to &_subjectnumber. ; SUBJID = _i_ ; STEP = 0 ; do _ii_ = lbound(CARD) to hbound(CARD) ; CARD{_ii_} = 0 ; end ; _flg = 0 ; do while(not _flg) ; STEP + 1 ; _rnd = ranuni(2012) ; do _ii_ = lbound(CARD) to hbound(CARD) ; if (_ii_ - 1) * &_onecardrate. < _rnd <= _ii_ * &_onecardrate. then do ; CARD{_ii_} + 1 ; end ; end ; _flg = 1 ; OVER = 0 ; do _ii_ = lbound(CARD) to hbound(CARD) ; if _flg and not CARD{_ii_} then _flg = 0 ; if CARD{_ii_} then OVER = OVER + CARD{_ii_} -1 ; end ; output _DATA_STEP ; end ; output _DATA_F ; end ; run ; ods graphics on ; ods pdf style=rtf; proc univariate data=_DATA_F plots ; var STEP OVER ; quit ; ods pdf close ;