人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

数学とプログラミングの質問です。
商品の価格が入った商品データベースがあるのですが、ここから価格を取り出して価格帯ごとのヒストグラムを自動で作りたいと考えています。

1.商品の最安値(例えば600円)と最高値(例えば1,200円)を取得する
2.最安値と最高値の差を計算する(1,200円-600円=600円)
3.5個のヒストグラムに分けたいので、600円/5=120円をヒストグラムの幅にする
4.5個のレンジに商品を振り分けていく

例えばこんな方法を考えたのですが、他にもっと良い方法があれば教えてください。
なお、商品の価格はある程度一定のレンジに収まっていて、100円(最小値)と10,000円(最大値)というような大きな差が出ることはありません。また、「エクセルでやれ」という回答は必要ありません。

●質問者: southgate_01
●カテゴリ:コンピュータ 学習・教育
✍キーワード:エクセル データベース ヒストグラム プログラミング レンジ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント ベストアンサー

その方法でいいと思います。

こちらの説明でもそのようにしてヒストグラムを作っています。

http://case.f7.ems.okayama-u.ac.jp/statedu/graph/hist.html


について考察しています。


面白いのは境界の値をどちらとするのかについては、

日本では、「以上・未満」。欧米では「より大きい・以下」ルールを使っているものが多いそうです。

◎質問者からの返答

コメントありがとうございます。

適当に考えたのですが、このやり方で良いのですね。

紹介いただいたページを見てからやります。


2 ● Hyperion64
●35ポイント

度数分布を作成する時、データの個数に応じて、

価格帯を分ける(上記の場合ですと5)のに

よく使うのがスタージェスの式です。

n = 1 + log2N (n:階級の個数,N:データの総数)

※2を底とする対数

これは半経験的な目安です。

この分割法をつかえば、データの個数がいくら増えても自動的に分割を増やしてくれるはずです。

http://www.geisya.or.jp/~mwm48961/statistics/dosuu1.htm

◎質問者からの返答

コメントありがとうございます。

これはデータのバラツキが大きいときに有効な方法でしょうか?


今回やろうとしているのは、「商品の価格帯が偏っていないか?」ということを知りたいのですが、Nがあまり大きくなると判断が難しくなりそうな気がするのですが。

とりあえずリンク先をよく読んでみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ