商品の価格が入った商品データベースがあるのですが、ここから価格を取り出して価格帯ごとのヒストグラムを自動で作りたいと考えています。
1.商品の最安値(例えば600円)と最高値(例えば1,200円)を取得する
2.最安値と最高値の差を計算する(1,200円-600円=600円)
3.5個のヒストグラムに分けたいので、600円/5=120円をヒストグラムの幅にする
4.5個のレンジに商品を振り分けていく
例えばこんな方法を考えたのですが、他にもっと良い方法があれば教えてください。
なお、商品の価格はある程度一定のレンジに収まっていて、100円(最小値)と10,000円(最大値)というような大きな差が出ることはありません。また、「エクセルでやれ」という回答は必要ありません。
その方法でいいと思います。
こちらの説明でもそのようにしてヒストグラムを作っています。
http://case.f7.ems.okayama-u.ac.jp/statedu/graph/hist.html
について考察しています。
面白いのは境界の値をどちらとするのかについては、
日本では、「以上・未満」。欧米では「より大きい・以下」ルールを使っているものが多いそうです。
その方法でいいと思います。
こちらの説明でもそのようにしてヒストグラムを作っています。
http://case.f7.ems.okayama-u.ac.jp/statedu/graph/hist.html
について考察しています。
面白いのは境界の値をどちらとするのかについては、
日本では、「以上・未満」。欧米では「より大きい・以下」ルールを使っているものが多いそうです。
コメントありがとうございます。
適当に考えたのですが、このやり方で良いのですね。
紹介いただいたページを見てからやります。
度数分布を作成する時、データの個数に応じて、
価格帯を分ける(上記の場合ですと5)のに
よく使うのがスタージェスの式です。
n = 1 + log2N (n:階級の個数,N:データの総数)
※2を底とする対数
これは半経験的な目安です。
この分割法をつかえば、データの個数がいくら増えても自動的に分割を増やしてくれるはずです。
コメントありがとうございます。
これはデータのバラツキが大きいときに有効な方法でしょうか?
今回やろうとしているのは、「商品の価格帯が偏っていないか?」ということを知りたいのですが、Nがあまり大きくなると判断が難しくなりそうな気がするのですが。
とりあえずリンク先をよく読んでみます。
コメントありがとうございます。
適当に考えたのですが、このやり方で良いのですね。
紹介いただいたページを見てからやります。