Main Content

lognfit

対数正規パラメーター推定

説明

pHat = lognfit(x) は、与えられた x 内の標本データに対して、対数正規分布パラメーターの不偏推定量を返します。pHat(1)pHat(2) はそれぞれ対数値の平均および標準偏差です。

[pHat,pCI] = lognfit(x) は、パラメーター推定値の 95% 信頼区間も返します。

[pHat,pCI] = lognfit(x,alpha) は、信頼区間の信頼水準が 100(1–alpha)% であることを指定します。

[___] = lognfit(x,alpha,censoring) は、x 内の各値を右側打ち切りするかどうかを指定します。右側打ち切りの観測値を 1、完全に観測される観測値を 0 で示す logical ベクトル censoring を使用します。打ち切りを行う場合、phat の値は最尤推定量 (MLE) です。

[___] = lognfit(x,alpha,censoring,freq) は、観測値の頻度または重みを指定します。

[___] = lognfit(x,alpha,censoring,freq,options) は、打ち切りを伴う MLE の計算に使用する反復アルゴリズム lognfit の最適化オプションを指定します。options を作成するには、関数 statset を使用します。

alphacensoring および freq について [] を渡すと、既定値を使用できます。

すべて折りたたむ

パラメーター 5 および 2 をもつ対数正規分布から、1000 個の乱数を生成します。

rng('default') % For reproducibility
n = 1000; % Number of samples
x = lognrnd(5,2,n,1);

パラメーター推定と 99% 信頼区間を求めます。

[pHat,pCI] = lognfit(x,0.01)
pHat = 1×2

    4.9347    1.9979

pCI = 2×2

    4.7717    1.8887
    5.0978    2.1196

pHat(1)pHat(2) はそれぞれ対数値の平均および標準偏差です。pCI には、平均および標準偏差パラメーターの 99% 信頼区間が格納されます。1 行目の値は下限、2 行目の値は上限です。

lognfit を使用して、打ち切りがあるデータ セットの MLE を求めます。statsetを使用して、打ち切られたデータの MLE を計算するために lognfit で使用する反復アルゴリズムのオプションを指定してから、再度 MLE を求めます。

パラメーター 5 および 2 をもつ対数正規分布に従う真の時間 x を生成します。

rng('default') % For reproducibility
n = 1000; % Number of samples
x = lognrnd(5,2,n,1);

打ち切り時間を生成します。打ち切り時間は真の時間 x から独立していなければならないことに注意してください。

censtime = normrnd(150,20,size(x));

打ち切り時間のインジケーターと観測された時間を指定します。

censoring = x>censtime;
y = min(x,censtime);

対数正規分布のパラメーターの MLE を求めます。lognfit の 2 番目の入力引数では、信頼水準を指定します。[] を渡して、既定値 0.05 を使用します。3 番目の入力引数では、打ち切り情報を指定します。

pHat = lognfit(y,[],censoring)
pHat = 1×2

    4.9535    1.9996

対数正規分布のパラメーターを推定するために関数 lognfit が使用する既定のアルゴリズム パラメーターを表示します。

statset('lognfit')
ans = struct with fields:
          Display: 'off'
      MaxFunEvals: 200
          MaxIter: 100
           TolBnd: 1.0000e-06
           TolFun: 1.0000e-08
       TolTypeFun: []
             TolX: 1.0000e-08
         TolTypeX: []
          GradObj: []
         Jacobian: []
        DerivStep: []
      FunValCheck: []
           Robust: []
     RobustWgtFun: []
           WgtFun: []
             Tune: []
      UseParallel: []
    UseSubstreams: []
          Streams: {}
        OutputFcn: []

異なる名前を使用してオプションを保存します。結果の表示方法 (Display) と目的関数の終了許容誤差 (TolFun) を変更します。

options = statset('lognfit');
options.Display = 'final';
options.TolFun = 1e-10;

または、関数 statset の名前と値のペアの引数を使用してアルゴリズム パラメーターを指定できます。

options = statset('Display','final','TolFun',1e-10);

新しいアルゴリズム パラメーターで MLE を求めます。

pHat = lognfit(y,[],censoring,[],options)
Successful convergence: Norm of gradient less than OPTIONS.TolFun
pHat = 1×2

    4.9535    1.9996

lognfit は、最後の反復に関するレポートを表示します。

入力引数

すべて折りたたむ

ベクトルとして指定される標本データ。

データ型: single | double

信頼区間の有意水準。範囲 (0,1) のスカラーを指定します。信頼水準は 100(1—alpha)% です。alpha は、真の値が信頼区間に含まれない確率です。

例: 0.01

データ型: single | double

x 内の各値の打ち切りのインジケーター。x と同じサイズの logical ベクトルを指定します。右側打ち切りの観測値については 1、完全に観測される観測値については 0 を使用します。

既定は、すべての観測値が完全に観測されることを示す 0 の配列です。

データ型: logical

観測値の頻度または重み。x と同じサイズの非負のベクトルを指定します。通常、入力引数 freq には x 内の対応する要素に対する非負の整数カウントを含めますが、任意の非負値を含めることができます。

打ち切りがあるデータ セットに対する重み付き MLE を取得するには、x 内の観測値の個数に対して正規化した観測値の重みを指定します。

既定は、x の各要素に対して観測値が 1 つずつあることを示す、1 の配列です。

データ型: single | double

最適化オプション。構造体を指定します。options は、打ち切られたデータの MLE を計算するために lognfit が使用する反復アルゴリズムの制御パラメーターを決定します。

options を作成するには、関数 statset を使用するか、次の表に記載されているフィールドと値が含まれている構造体配列を作成します。

フィールド名既定値
Display

アルゴリズムで表示される情報量。

  • 'off' — 何の情報も表示しません。

  • 'final' — 最終出力を表示します。

'off'
MaxFunEvals

許容される目的関数評価の最大回数。正の整数を指定します。

200
MaxIter

許容される最大反復回数。正の整数を指定します。

100
TolBnd

標準偏差パラメーターの推定値の下限。正のスカラーを指定します。

平均および標準偏差パラメーターの推定値の範囲はそれぞれ [–Inf,Inf] および [TolBnd,Inf] です。

1e-6
TolFun

目的関数の値の終了許容誤差。正のスカラーを指定します。

1e-8
TolX

パラメーターの終了許容誤差。正のスカラーを指定します。

1e-8

コマンド ウィンドウで「statset('lognfit')」と入力して、lognfit が構造体 options で受け入れるフィールドの名前と既定値を表示することもできます。

例: statset('Display','final','MaxIter',1000) は、反復アルゴリズムの結果の最終情報を表示し、許容される最大反復回数を 1000 に変更するよう指定します。

データ型: struct

出力引数

すべて折りたたむ

対数正規分布パラメーターの推定値。1 行 2 列のベクトルとして返されます。pHat(1)pHat(2) はそれぞれ対数値の平均および標準偏差です。

  • 打ち切りを行わない場合、pHat の値は不偏推定量です。打ち切りがない場合の MLE を計算するには、関数 mle を使用します。

  • 打ち切りを行う場合、pHat の値は MLE です。重み付き MLE を計算するには、freq を使用して観測値の重みを指定します。

対数正規分布のパラメーター推定値の信頼区間。100(1–alpha)% 信頼区間の下限と上限が含まれている 2 行 2 列の行列として返されます。

1 行目と 2 行目はそれぞれ、信頼区間の下限と上限に対応します。

アルゴリズム

lognfit は、信頼区間を計算するため、打ち切られていないデータについては厳密法を、打ち切られたデータについては Wald 法を使用します。厳密法では、t 分布とカイ二乗分布に基づいて、打ち切られていない標本を正確にカバーします。

代替機能

lognfit は対数正規分布専用の関数です。Statistics and Machine Learning Toolbox™ には、さまざまな確率分布をサポートする汎用関数 mlefitdist および paramci分布フィッター アプリもあります。

  • mle は、さまざまな確率分布のパラメーターについて MLE と信頼区間を返します。確率分布名またはカスタム確率密度関数を指定できます。

  • 関数 fitdist または分布フィッター アプリを使用して分布をデータに当てはめることにより、LognormalDistribution 確率分布オブジェクトを作成します。オブジェクト プロパティ mu および sigma にはパラメーター推定が格納されます。パラメーター推定の信頼区間を取得するには、オブジェクトを paramci に渡します。

参照

[1] Evans, M., N. Hastings, and B. Peacock. Statistical Distributions. 2nd ed. Hoboken, NJ: John Wiley & Sons, Inc., 1993.

[2] Lawless, J. F. Statistical Models and Methods for Lifetime Data. Hoboken, NJ: Wiley-Interscience, 1982.

[3] Meeker, W. Q., and L. A. Escobar. Statistical Methods for Reliability Data. Hoboken, NJ: John Wiley & Sons, Inc., 1998.

拡張機能

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

バージョン履歴

R2006a より前に導入