分布フィット

サマリー

データの分布モデルを知ることは正しい解析を行っているのか確認する際に役立ちます。分布フィットツールは、ユーザの手元にあるデータの分布を確認し、分布のパラメータを推定します。

学習する項目

このチュートリアルでは、以下の項目について説明します。

  • 実用的なデータから分布フィットを行う
  • 算出された結果の読み取り方

ユーザストーリー

建築業者の人が次年度に何軒の家を新築するべきか、近隣地域の家の売り上げデータを元に、設定しようとしています。ユーザが知りたいことは以下の通りです。

  • もし、80軒の家を新築する場合、全てが売れる確率はどれほどになるでしょうか。
  • 最低でも60%の確率であれば、利益を上げることができると建築業者は考えています。何軒の家を建てるべきでしょうか。


この問題を解くためには、不動産屋は次のことを調べる必要があります。

  • サンプルデータ(近隣地域での家の売り上げ情報)に分布フィットを実行
  • 最もよくフィットする分布を選択する
  • 選択した分布で累積分布関数による確率を計算する
  • 確率が60%よりも大きい場合、スケジュールを再度確認する

分布を選択する

  1. 新しいプロジェクトか、新しいワークブックを作成します。\Samples\Statistics\HouseSold.datファイルをインポートします。
  2. 列Bを選択し、作図:2D:ヒストグラム:ヒストグラムを選びます。
    Dist fit histogram.png
  3. 以下の点を踏まえて、分布を選択します。
    • データは自然数でのみ集計されています。つまり、連続分布も離散型分布も使用できます。(小数点を有している数値がある場合、連続分布のみが適用されます。)しかし、通常離散型分布よりも連続分布のほうがよりよいフィットになるため、今回の場合は連続分布を選択します。
    • 売ることが出来た新築物件数は正の数です。正規分布、マイナスの値をとることが出来る分布は考慮する必要はありません。
    • ヒストグラムを見ると、ある特定の値周辺にデータが集まっているようです。つまり、指数分布(データが極端に不均整な場合に使用する分布)を考慮する必要はありません。

分布フィットを実行する

  1. HouseSoldワークシートに戻ります。列Bを選択してOriginのメニューから、統計:記述統計量:分布フィットと操作します。
  2. 操作をして開くダイアログで分布関数ブランチを開き、正規のチェックを外して下図のように3つの分布を選択します。これらの3つの分布は分布を選択するの内容と結論を元に決められています。
    • 対数正規
    • ワイブル
    • ガンマ
    DOC-2411 Dist fit dlg settings a.png
  3. プロットブランチを開き、確率プロットを選択します。
    DOC-2411 Dist fit dlg settings b.png
  4. フィットの良さブランチを開き、3つの手法全てにチェックをつけます。OK をクリックして設定を適用し、ダイアログを閉じます。
    DOC-2411 Dist fit dlg settings c.png

フィットモデルを比較し選択する

フィットモデルは以下の分布フィットの結果を元に比較します。

  • 確率(P-P)プロット
    参照線に全ての散布図の点が近ければ、その分布がよりデータに適していることを示します。確率プロットでは対数正規分布とガンマ分布がどちらもデータにとってよい分布であるといえそうです。
    Dist fit prob plot.png
  • フィットの良さの検定
    結果の表の中にあるP値を確認します。P値が0.05よりも小さい場合、その分布を0.05のレベルで破棄することを意味します。対数正規分布とガンマは、どちらもP値の値が0.05よりも大きいことがフィットの良さ検定から分かります。よって、対数正規分布とガンマはどちらもこのデータには良いモデルであるといえます。
    Dist fit results goodness of fit.png

確率プロットフィットの良さ検定より、対数正規分布とガンマ分布はこのデータに対してはどちらもよい分布であるといえます。ここでは、対数正規(lognormal)分布を選択してこの後の例題を進めていきます。

推定を行う

最も良い分布モデルが決定したら、CDF と INV関数を使用して次の確率を計算できます。

  • もし、80軒の家を新築する場合、全てが売れる確率はどれほどになるでしょうか。
  • 60%の利益を得る為には、何軒の家を建てればよいでしょうか。
  1. 最初の質問の答えを探すために、ウィンドウメニューからコマンドウィンドウまたはスクリプトウィンドウを開き、以下のコマンドを入力します。
    logncdf(80, 3.94262, 0.35614) =
                    
    
    ここで3.94262はμで0.35614はσです。どちらもレポートシートのパラメータ推定表から生成された値です。
    Dist fit results parameter estimates.png
  2. 以下のような結果になります
    logncdf(80, 3.94262, 0.35614) =  0.89136185728793
                    
    
    建築業者が80軒の新築物件を建てた場合、約89%の確率ですべての家が売れないだろう、という事がいえます。
  1. 2番目の質問に答えるために、コマンドウィンドウあるいはスクリプトウィンドウで以下のコマンドを実行してください。
    logninv(1-0.6, 3.94262, 0.35614) =
                    
    
  2. 以下のような結果になります
    logninv(1-0.6, 3.94262, 0.35614) =  47.105650533425
                    
    
    この結果により、不動産屋は47軒の新築物件を建てれば利益を得ることが出来そうである、といえます。

上記の分布フィットを選択するセクションで対数正規分布を選択したので logncdf と logninv を使用して推定を実行しました。ガンマを選択している場合、 gamcdfgaminv を使用します。ガンマでも、似たような結果を得ることができます。

Notes:他にも、分布フィットの記述統計量や他のグラフで簡単にデータの情報を読み取ることができる箇所があります
  • 記述統計表
  • 分位数
  • ヒストグラム
  • ボックスチャート
  • CDF(累積分布関数プロット)