付属ライブラリ(確率・統計)

十進BASICのLibraryフォルダに,いくつかのライブラリを同梱しています。
BASICの「ファイルを開く」メニューで,「ファイルの種類」として「ライブラリ」を選び,Libraryフォルダを選択すると,拡張子.LIBのファイルが表示されます。
ライブラリを使うときは,ライブラリファイル名を指定するMERGE文をプログラムの末尾に追加します。
MERGE文を書くと,指定されたライブラリをプログラムに追加して翻訳します。


DiscDist.LIB

DiscDist.LIBは,離散確率分布(二項分布 超幾何分布 ポアソン分布 負の二項分布)を扱います。

2項分布
外部関数 Binom(n, p, x) は,二項分布B(n,p)に従う確率変数Xの値がxである確率Pr(X=x), すなわち, Binom(n,p,x)=nCrpx(1-p)n-x
対数を利用して計算することで,十進モードや2進モードでも細かい計算ができるようにしています。
BinomLCum(n, p, x) は,2項分布の下側累積確率,すなわち,2項分布B(n,p)に従う確率変数Xの値がx以下である確率 Pr(X≦x) 。
BinomUCum(n, p, x) は,2項分布の上側累積確率,すなわち,2項分布B(n,p)に従う確率変数Xの値がx以上である確率 Pr(x≦X) 。
BinomLBound(n, p, a) は,Xが2項分布B(n,p)に従うとき,Pr(X<k)≦a となる最大の整数k 。
BinomUBound(n, p, a) は,Xが2項分布B(n,p)に従うとき,Pr(X>k)≦aとなる最小の整数k 。

例 さいころを6000回投げて,1の目の出る回数が900回以下である確率。
10行に示すように,ライブラリ内の関数を用いるとき,EXTERNAL FUNCTION 宣言」を書く。
そして,ライブラリを指定するMERGE文をプログラムの末尾(プログラム単位,モジュールの外)に書く。

10 DECLARE EXTERNAL FUNCTION BinomLCum
20 LET n=6000
30 LET p=1/6
40 LET X=900
50 PRINT x, BinomLCum(n,p,x)
60 END
70 MERGE "DiscDist.LIB"

超幾何分布

HyperGeom(NN,M,n,x)  M個の不良品を含むNN個の製品からn個を非復元抽出したとき,不良品の個数がxである確率。
HyperGeomLCum(NN,M,n,x)  M個の不良品を含むN個の製品からk個を非復元抽出したとき,不良品の個数Xがx以下である確率 Pr(X≦x)。
HyperGeomUCum(NN,M,n,x)  M個の不良品を含むN個の製品からk個を非復元抽出したとき,不良品の個数Xがx以上である確率 Pr(x≦X)。
HyperGeomLBound(NN, M, n, a)   Xが超幾何分布HyperGeom(NN,M,n)に従うとき,Pr(X<k)≦a となる最大の整数k。
HyperGeomUBound(NN, M, n, a)   Xが超幾何分布HyperGeom(NN,M,n)に従うとき,Pr(k<X)≦a となる最小の整数k。

ポアソン分布
Poisson(Lambda, x) ポアソン分布の確率
PoissonLCum(lambda, x) ポアソン分布の下側累積確率
PoissonUCum(lambda, x) ポアソン分布の上側累積確率
PoissonLBound(lambda, a) Xがポアソン分布Po(lambda)に従うとき,Pr(X<k)≦a となる最大の整数k
PoissonUBound(lambda, a) Xがポアソン分布Po(lambda)に従うとき,Pr(k<X)≦a となる最小の整数k

負の二項分布
NegBinom(r,p,x) 負の二項分布(確率pの独立事象を反復するとき,r回成功するまでの失敗回数)
NegBinomLCum(r,p,x) 負の二項分布の値がx以下である確率 Pr(X≦x)
NegBinomUCum(r,p,x) 負の二項分布の値がx以上である確率 Pr(x≦X)
NegBinomLBound(r, p, a) Xが負の二項分布NegBinom(r,p)に従うとき,Pr(X<k)≦a となる最大の整数k
NegBinomUBound(r, p, a) Xが負の二項分布NegBinom(r,p)に従うとき,Pr(k<X)≦a となる最小の整数k


PROBDIST.LIB

PROBDIST.LIBは,各種累積確率分布のライブラリ

NormalLCum(z) 標準正規分布の下側累積確率
NormalUCum(z) 標準正規分布の上側累積確率
InvNormalUCum(p) 標準正規分布に従う確率変数の値がz以上である確率がpとなるz
tLCum(df, t) 自由度dfのt分布に従う確率変数の値がt以下である確率
tUCum(df, t) 自由度dfのt分布に従う確率変数の値がt以上である確率
InvtUCum(df, p) 自由度dfのt分布に従う確率変数の値がz以上である確率がpとなるz
Chi2LCum(df, chi2) 自由度dfのχ2乗分布に従う確率変数の値がchi2以下である確率
Chi2UCum(df, chi2) 自由度dfのχ2乗分布に従う確率変数の値がchi2以上である確率
InvChi2UCum(df, p) 自由度dfのχ2乗分布に従う確率変数の値がz以上である確率がpとなるz
FUCum(df1, df2, f) 自由度df1,df2のF分布の上側累積確率
FLCum(df1, df2, f) 自由度df1,df2のF分布の下側累積確率
InvFUCum(df1, df2, p) 自由度df1,df2のF分布に従う確率変数の値がz以上である確率がpとなるz

Gamma(x) ガンマ関数
Beta(x, y) ベータ関数


RANDOM.LIB

RANDOM.LIBは,各種乱数のライブラリ

RNDNormal(m,s) 正規分布N(m,s^2)に従う乱数
RNDPoisson(m) ポアソン分布に従う乱数(平均m)
RNDHyperGeom(N,d,m) 超幾何分布に従う乱数 (N個中d個が当たりであるとき,m個非復元抽出するときの当たりの個数)
RNDPascal(k,p) 負の2項分布(パスカル分布) (確率pの独立試行がk回成功するまでの失敗の回数)
RNDchi2(n) カイ2乗分布に従う乱数 (chi-square distribution)
RNDt(n) t分布t(n)に従う乱数
RNDGeom(p) 幾何分布に従う乱数


戻る