Main Content

betafit

ベータ パラメーター推定

構文

phat = betafit(data)
[phat,pci] = betafit(data,alpha)

説明

phat = betafit(data) は、ベクトル data のデータからのベータ分布パラメーター a および b の最尤推定を計算し、a 推定および b 推定を含んでいる列ベクトルを返します。ここでベータ累積分布関数は次の式で指定されます。

F(x|a,b)=1B(a,b)0xta1(1t)b1dt

また、B( · ) はベータ関数です。data の要素は、ベータ分布が定義されている開区間 (0, 1) 内に存在していなければなりません。ただし、正確な 0 または 1 を含んでいるデータにベータ分布を当てはめることが必要な場合もあります。このようなデータの場合、ベータ尤度関数は境界がないため、標準的な最尤推定法は利用できません。この場合、betafit は、0 を sqrt(realmin) で左側打ち切りした値、1 を 1-eps/2 で右側打ち切りした値として扱うことにより 0 または 1 を組み込んで、修正した尤度を最大化します。

[phat,pci] = betafit(data,alpha) は、2 列 2 行の行列 pci 内の a パラメーターと b パラメーター上の信頼区間を返します。この行列の最初の列にはパラメーター a の信頼限界の上限と下限が含まれ、2 列目にはパラメーター b の信頼限界が含まれます。オプションの入力引数 alpha は、信頼区間の幅を指定する範囲 [0, 1] 内の値になります。既定の設定では、alpha0.05 で、95% の信頼区間を意味します。信頼区間は、パラメーター推定のログの分布の正規近似に基づいています。

この例では、100 個のベータ分布観測値を作成します。真の a パラメーターと b パラメーターはそれぞれ 4 と 3 です。これらの値とベータ近似によって p に返された値を比較します。ci の列は両方とも真のパラメーターを含むことに注意してください。

data = betarnd(4,3,100,1);
[p,ci] = betafit(data,0.01)
p =
    5.5328    3.8097
ci =
    3.6538    2.6197
    8.3781    5.5402

参考文献

[1] Hahn, Gerald J., and S. S. Shapiro. Statistical Models in Engineering. Hoboken, NJ: John Wiley & Sons, Inc., 1994, p. 95.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入