ドキュメントは整備されてない。ソースコード読めってこと?

インストール

Homebrewだと

$ brew install php53-stats

でインストールできた。バージョンはお好みで。

関数

stats_dens_pmf_binomial

二項分布。pmfは probability mass function、確率質量関数の略っぽい。

float stats_dens_pmf_binomial ( float $x , float $n , float $pi )

$xは成功数、$nは試行回数、$piは成功確率。

Rにおけるdbinom()と同じ。

stats_cdf_binomial

二項分布のパラメータのいずれかを、その他のパラメータの値から計算する。

とあるが二項分布の累積分布関数(cumulative distribution function)。

float stats_cdf_binomial ( float $par1 , float $par2 , float $par3 , int $which )

ソースコードはこちら。

ソースコードのコメントを見ると$whichには1-4の数字が入り、それによって戻り値と、$par[1-3]に設定するパラメータが変わるようである。

コメントの抜粋

               Cumulative Distribution Function
                         BINomial distribution
                              Function
     Calculates any one parameter of the binomial
     distribution given values for the others.
                              Arguments
     WHICH --> Integer indicating which of the next four argument
               values is to be calculated from the others.
               Legal range: 1..4
               iwhich = 1 : Calculate P and Q from S,XN,PR and OMPR
               iwhich = 2 : Calculate S from P,Q,XN,PR and OMPR
               iwhich = 3 : Calculate XN from P,Q,S,PR and OMPR
               iwhich = 4 : Calculate PR and OMPR from P,Q,S and XN
     P <--> The cumulation from 0 to S of the binomial distribution.
            (Probablility of S or fewer successes in XN trials each
            with probability of success PR.)
            Input range: [0,1].
     Q <--> 1-P.
            Input range: [0, 1].
            P + Q = 1.0.
     S <--> The number of successes observed.
            Input range: [0, XN]
            Search range: [0, XN]
     XN  <--> The number of binomial trials.
              Input range: (0, +infinity).
              Search range: [1E-100, 1E100]
     PR  <--> The probability of success in each binomial trial.
              Input range: [0,1].
              Search range: [0,1]
     OMPR  <--> 1-PR
              Input range: [0,1].
              Search range: [0,1]
              PR + OMPR = 1.0
     STATUS <-- 0 if calculation completed correctly
               -I if input parameter number I is out of range
                1 if answer appears to be lower than lowest
                  search bound
                2 if answer appears to be higher than greatest
                  search bound
                3 if P + Q .ne. 1
                4 if PR + OMPR .ne. 1
     BOUND <-- Undefined if STATUS is 0
               Bound exceeded by parameter number I if STATUS
               is negative.
               Lower search bound if STATUS is 1.
               Upper search bound if STATUS is 2.
                             Method

このコメントはCの関数の説明のようなので、これからPHPのstats_cdf_binomial()の使い方を推測する。

which

1-4の数値によって、どの値を他のパラメータから計算したいか示す

which = 1 : par1=成功回数S、par2=試行回数XN、par3=成功確率PRから累積分布Pを求める。Rにおける`pbinom()`と同じ

which = 2 : par1=累積分布P、par2=試行回数XN、par3=成功確率PRから成功回数Sを求める

which = 3 : par1=累積分布P、par2=成功回数S、 par3=成功確率PRから試行回数XNを求める

which = 4 : par1=累積分布P、par2=成功回数S、 par3=試行回数XNから成功確率PRを求める

P

累積分布。0から成功回数までの二項分布の累積。入力範囲 [0,1]

S

観測される成功回数。入力範囲 [0, XM]

XN

試行回数。入力範囲 (0, 正の無限大)。検索範囲 [1E-100, 1E100]
PR
成功確率。入力範囲、検索範囲ともに [0, 1]