/* DATE 4\24\91 */ /* CUMMULATIVE POISSON PROBABILITY Joseph Hilbe - STB */ program define cpoisson version 2.1 if "%_3"=="" { di in re "Type 3 arguments:" di in re " pop ratio observations cases" exit 198 } drop _all quietly { set obs %_3 gen double expect=%_1*%_2 gen double prob0=exp(-expect) gen double cum=0 gen double prob=prob0 gen num=[_n-1]+1 if (%_3>0) { while num<_N { replace prob=prob*expect/num replace num=num+1 replace cum=cum+prob } replace cum=cum+prob0 replace prob=1-cum } if (%_3<1) { set obs 1 gen unit=1.0 replace prob=unit } di in gr "Cumulative Poisson Probability => " in ye prob drop _all end