2011年05月28日

[Episode5]正規分布とは?

猫「そう言えば、正規分布について教えてもらう約束だったな。」

犬「えー、まあ、でも、どうしてまた?」

猫「この間の偏差値についてリーダー達に説明しようと思うのだが、その時にツッコミを受けてもね。」
「なので、一応それなりには理解をしておきたいんだ。」
「あっ、でも、数学は苦手なんで、数式とかは勘弁してくれよ。」


犬「はい、分かりました。」
「では、なるべく、直感的に分かるように図解で解説しますね。」

犬「まず正規分布のイメージですけど、こんな風に考えてもらえますか」

BinDistModel.jpg

猫「縁日のスマートボールみたいだな。これはどういう意味だい?」


犬「原因1、原因2・・・と書かれた格段で分岐が有りますが、この分岐を左右どちらに転ぶかは五分五分だと考えてください。」
「これで玉をいくつも入れていくようにします。」
「そうすると、普通に考えれば、(b)のように真ん中が多く、端へ行くほど玉の数が少なくなりそうですよね。」
「一番左の列は左左左左と転んだ場合だけで確率は1/16ですが」
「真ん中だと左左右右とか左右左右とか、様々なパターンで行き着くので確率的には高くなります。」
「これで、この原因の分岐がもっとたくさんになったら、結果として玉の分布は、どんな形になると思います?」


猫「正規分布になると言いたいのだろ。」


犬「そうです。」
「少し難しい表現をすると、上図は二項分布を模式化したもので、二項分布の極限が正規分布になると言うことです。」
「平たく言うと、ある値が様々な原因によって大きな方に動いたり、小さな方に動いたりすることを想定すると、その値は正規分布します。」
「なので、正規分布は誤差分布とも呼ばれています。」
「あくまでも、これは理論上の話なので、現実に得られる分布(ヒストグラム)がキレイに正規分布することは滅多に有りません。」


猫「なるほど、誤差の分布か、そう言う話は聞いたことが有るな。」
「で、この正規分布って言うのが、何の役に立つというのだ?」

犬「では、正規分布の式を示します。」
NormDistFormula.jpg

猫「うわっ、数学は苦手だって言っただろ・・・」


犬「別にこの式を覚えて下さいというつもりは有りません。」
「複雑そうに見えますが、この関数の形を決めるパラメータは、実はμとσだけなんですよ。」
「πは円周率で、EXPというのは、自然対数の底であるeのことで、共に定数ですからね。」
「μはこの分布の平均値で、σが標準偏差です。」
「つまり、あるデータ群が正規分布することが分かっているなら、平均値と標準偏差が分かればその分布形状が求められる訳です。」
「分布形状が分かると何がうれしいかと言うと」
「以下の図で示すように、どの範囲内にどの位のデータが存在するかが分かるようになります。」

NormDist.jpg

犬「グレーで示しているのは、平均値μから±1σ離れた範囲にこの分布の68.26%のデータが入るという意味です。」
「同様に、μ±2σならば、95.45%、μ±3σならば99.73%です。」


猫「うーん、まだピンと来ないな、これが具体的に何の役に立つんだい?」


犬「色々な活用方法が有るのですが、前回の話の続きで考えましょう。」
「前回のバグ密度のヒストグラムを再掲します。」
BugMitsudoHistogram.jpg

犬「例えば、あまりにもバグ密度の悪い(高い)プロジェクトは、何らかの対策を講じることをルール化することにしましょう。」
「では、Mさんならどうやって決めますか?」


猫「つまり、テストで言えば赤点をどうやって設定するか、という話だな。」
「うーん、平均の2.48よりも高かったらというのでは厳しすぎるしな、3以上もちょっと厳しいか、うんエイヤで4以上って感じかな。」


犬「折角、データを活用しているのにエイヤじゃ困りますね・・・」
「このように考えます。」
「ヒストグラム上は、多少ガタガタはしていますが、概ね正規分布に近い形をしています。」
「そこで、このバグ密度の値は、正規分布するものと見なします。」
「うちの組織のバグ密度の真の実力がμとすると、難易度や、メンバースキルなどが標準的なプロジェクトであれば、バグ密度がμになります。」
「ところが、難易度が難しかったり、メンバースキルが足りなかったり、など.諸々の要因が重なって、結果として実際のバグ密度はバラつくので正規分布する、と考えます。」

猫「そんな風に勝手に見なして良いものなのか?」

犬「まあ、厳密には正規分布と見なして良いかを確認する手法も有りますが、そこまでせずにヒストグラムでそれっぽければ良しとしても、さほど問題は無いです。」
「正規分布と見なしたので、平均値と標準偏差を算出すれば、分布形状が決まります。」
「正確な表現をすると、一意に決まるというよりは、あくまでも推定が出来るという意味なのですが、今はそこまで厳密に考えなくて良いです。」
「上の図に書いてある通り、平均値が2.48、標準偏差が1.283です。」
「先ほど、正規分布はある値の範囲に収まるデータの割合が求められるという話をしました。」
「逆に捉えれば、あるデータの範囲を外れるデータの割合が分かる。更には、全体の何%外れるデータの範囲の方も決めることが出来るということです。」
「例えば、目安として全プロジェクトの下位10%に相当するような成績を収めてしまったら赤点と設定します。」
「つまり10プロジェクトに1つぐらいの割合で何らかのアクションを取ることになります。」

NormDistPVal10.jpg

犬「この場合、上図のように範囲のパーセンテージを先に設定して、その範囲の閾値となるのはμ+何σか?というのを計算すれば良いのです。」
「これはExcelで簡単に計算が可能です。」
「Excel関数の使い方の詳細は省きますが、NORMSINV(0.9) で算出して1.28となります。」
「つまり、以下の図のようになり、バグ密度が4.12を超えたプロジェクトは何らかの改善施策を打つと決めることが出来る訳です。」

NormDistPVal10-2.jpg

                                

       NormDistNormalize.jpg

猫「なるほど、赤点は偏差値で37点ぐらいという感じか、まあ妥当なところかな。」

犬「おっ、流石はMさん、もう偏差値を使いこなしていますね。」

猫「もちろんさ、1.28σの1.28は標準化データに相当するのだよな、ということで、 50 - 1.28 × 10 ≒ 37点という訳だ。」

犬「今回のお話のように正規分布自体を直接活用するのも有用ですが、それ以上に統計手法のベースとなるものなので、正規分布はとても重要なんです。」


おしまい


こちらが、今回の活用例のファイルです。→ Episode5.xls(131KB)

この章の参考書籍の紹介
[BookReview3]正規分布

 


posted by koike0125 at 09:00| Comment(0) | TrackBack(0) | 1変数の分析 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。