ヒストグラムの階級幅の決め方

  • 階級幅は基本的に等間隔.非等間隔だとどうしてもそこに恣意性が入る
  • 階級幅の決め方は,まず,幅に関する自明な知見,例えば学年などがあるならそれを採用する.
  • 次に,データから幅を決める場合,基本的には幅を決めるというよりはビン数を決める.データ全体の幅をR=Max-Minが求まるから,幅を一定だとすると,あとはビンの数が決まれば自動的に決まるのだ.
  • じゃあ,そのビン数はどう決めるか?実はしっかりとした理論的根拠のあるものはないようだ.殆どが経験則で,有名なものは下記がある.
  • データ数nに対してsqrt(n)
  • n<200だとsturgess法が有効と言われている.これは,幅hをh=1+ln(n)とする方法.
  • Freedmann and Diaconis法はh=2IQR(x)/n1/3, IQRは4分位範囲.
  • Scott法は3.5sigma/n1/3
  • pythonのmatplotlibのhistは内部ではnumpyのhistogramを使っていて,それは指定しないとビン数10として,幅を当分割する.