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

データの真ん中を求めるアルゴリズムについて質問です。

例えば、いま5から9までの座標において、全ての値が100の場合

100 100 100 100 100
5 6 7 8 9

(100*5+100*6+100*7+100*8+100*9)/(100+100+100+100+100)
=7

となり真ん中の値を取ります。たとえば
120 900 110 100 150
5 6 7 8 9

(120*5+900*6+110*7+100*8+150*9)/(120+900+110+100+150)
=6.4638

となります。つまり一番強い値に近い番号を取得できるわけです。
ですが、なぜこのアルゴリズムで取得できるのか、ピンとこないわけです。
わかりやすい説明ができる人いらっしゃいますか?


●質問者: central_dogma
●カテゴリ:学習・教育 科学・統計資料
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● うぃんど
●100ポイント

まずは、下記のようなデータがあったとします

年収人数
10002
7008
50030
30060

単純に計算すると平均年収625万になりますが、
どうみても実情に合ってないですよね?
式1:(300+500+700+1000)/4=625

では、人数分のデータで計算してみるとどうでしょう?
式2:(300+300+300+300+300+ 途中省略+1000+1000) / (60人+30人+8人+2人) = 406
これなら、そこそこ納得出来そうな数値が返ってきますよね?

式を簡単にすると質問文のような式になります
式3:(300*60+500*30+700*8+1000*2) / (60+30+8+2) = 406

なお、
式3で求められる平均は「加重平均」と呼ばれていて、
式1の「算術平均」よりもデータの性質をよく表します

平均の取り方は他にもいくつかありますので、
統計処理を行うのであれば、さらなる学習が必要になってくるかもしれません
http://ja.wikipedia.org/wiki/%E5%B9%B3%E5%9D%87


central_dogmaさんのコメント
しっくりきました。 統計はあまり勉強してきませんでした。 加重平均が具体的にプログラム中にでてきたことがなかったものですから。 この箇所は速度ゼロの場所を探索する場所で出てきました。

2 ● bnn
●100ポイント

既に良い回答がでていますが、ものすごく単純にしてみると面白いかもしれない。

1 100 1 1
1 2 3 4

(1*1+100*2+1*3+1*4)/(1+100+1+1) =

1*1 100*2 1*3 1*4
1+100+1+1 1+100+1+1 1+100+1+1 1+100+1+1

= 0.0097 + 1.94 + 0.029 + 0.039 ≒ 2

もちろん実用的なデータとは程遠いですが。

http://www.hatena.ne.jp


3 ● ita
●100ポイント

補足になりますが、
この計算で求まる値は「重心」とか「加重平均」とか呼ばれます。なぜでしょうか。

たとえば
120 900 110 100 150
5 6 7 8 9
という例で、10cmのモノサシの5cmの所に120gの重り、6cmの所に900gの重り、7cmの所に110gの重り・・・と5個重りをつけます。
このモノサシを輪ゴムに通し、どこかで持ち上げてつり合う場所を考えます。テコの原理から輪ゴムから離れるほど傾ける力が大きくなります。

 x
 |
0---1---2---3---4---5---6+--7---8---9---10
 | | | | |
   120 900 110 100 150

輪ゴムをx cmの場所にすると、たとえば5cmの所の重りは 120*(x-5) の傾ける力があります。左が下がる方をプラスにしてあります。
これを全部足して0になる条件は
(x-5)*120+(x-6)*900+(x-7)*110+(x-8)*100+(x-9)*150=0
これをxについて解くと件の式が出てきます。
http://ja.wikipedia.org/wiki/%E9%87%8D%E5%BF%83


central_dogmaさんのコメント
I understand. thank you for replying my question.
関連質問

●質問をもっと探す●



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