• ベストアンサー

実際の最頻値と理想的な最頻値のズレ

質問内容 データ上の最頻値とグラフ上の最頻値のギャップを埋めるには? 本文 初めまして お世話になります。 私最近統計に少し興味を持ちだしたもので Excelにて1・2・3・4・5・6を示す乱数の 30回分の総和を取ったデータを2500件ほど用意して 興味本位でヒストグラムを書いてみたのですが、 この際に このヒストグラムから得られる度数分布表上での最頻値 (平滑化して得られる頂点とおぼしきポイント:理想的な最頻値)と データから得られる最頻値に著しいズレがあることに気付きました このヒストグラムのデータは2500件用意できましたが 実際に何らかの目的で運用する場合は これほどデータが揃えられないことが多々あるように思います そうなってくるとこの 「理想的な最頻値とデータ上の最頻値の間に発生するズレ」は 顕著な方向にシフトするのではないかと不安に感じてしまいます。 そこで質問なのですが このズレを解消するには どのような計算をすればいいのでしょうか? 出来れば解説付きで宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.5

ANo.2について追加です。  理論的に予想される分布において平均と最頻値が一致する、と分かっているときには、(当たり前ですが)fittingとは単に2500個のデータの平均を計算することに他なりません。(「理論上ほぼ正規分布になるだろうとは分かるが、その平均と分散は不明だ」という場合はこれに該当します。)  一方、「理論上どんな分布になるかよく分からないが、ピークをひとつ持つ滑らかな分布になることだけは間違いない」ということしか分かっていない場合には、数学的には厳密ではないけれども、実測で得たヒストグラム(値xの頻度がf(x))で見た目で「このあたりがピーク」と思われる箇所の前後(x=x1~x2)に放物線 f(x)=a x^2 + b x + c を当て嵌めて、その放物線の頂点を最頻値だと推定する、という手があります。正確に書くと f(x)=a x^2 + b x + c +ε(x) ここにε(x)は当て嵌めた放物線とヒストグラムf(x)とのずれですね。そして、 E=Σ((ε(x))^2) (Σは x=x1~x2の総和) が最小になるように係数a,b,cを決定する。このように「ずれの二乗の総和(残差二乗和)が最小になるように係数を決定する」という方法を最小二乗法と言います。(検索すれば資料がどっさり見つかるでしょう。)

Nouble
質問者

お礼

詳細な追記に感謝致します 俄然興味が増してきているのを隠しきれません 是非もっと「知りたい」と思うのですが 余り詳しくない者でも理解できるように解説された この分野の実用書で お進めのものがありましたら お教え頂けないでしょうか kumipapa様にもお願いしたことで 此処で加えてお願いするのは 不躾と存じてはいるのですが どうぞ宜しくお願い致します。

その他の回答 (5)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.6

ANo.5のコメントについてです。  最小二乗法に関しては、いつも「中川,小柳:最小二乗法による実験データ解析,東京大学出版会」をお薦めしています。応用数学としてのバランス感覚が良くて、数学的にはあんまり小うるさくなく、初学者にも分かり易く、かつ、発展的な話題にも触れている良書です。しかしこれに取りかかる前に、確率論・統計の基礎だけはやっておいた方が良いでしょう。  ところが、stomachmanが一番頼りにしている確率・統計の教科書は、古すぎて既に絶版だと思います。困ったな。  統計学の教科書は多い。でも、いわゆる実用書、すぐに使える実用統計学って感じのお手軽な本、あるいは特定の分野のための統計学入門、みたいな本は、とりあえず計算したい、という人のためのものだから、計算方法は書いてあっても原理・原則がきちんと書いてないものが多い。(下手をすると大嘘が書いてある。)なので、間違った使い方をしていながら気付かないなんてことがままあります。一方、高級な理論が書いてある専門書は、基本のところは抽象的議論で通過してしまうために、最も肝腎なポイントが身に付かない。このサイトでも、統計学のなかなか難しい概念を持ち出しながらイロハのイで混乱している、という質問が時々ありますからね。  なので、大学の教養課程で使っている教科書の中から選ぶのが良いと思う。特に、確率論を或る程度きちんとやってから統計学を導入するようなものが良いと思う。だけど、天下の一般人としては教科書なんか知らんのです。別途質問をお立てになれば情報が得られるかも。

Nouble
質問者

お礼

有り難う御座います 早速別スレッドを立てようと思います

  • kumipapa
  • ベストアンサー率55% (246/440)
回答No.4

#1 です。補足を拝見しました。 まず、サイコロを5回振った時に出た目の和のシミュレーション結果ですが、妥当なように思われます。 勘違いさせてしまったようで申し訳ないのですが、#1で私が示した数値は、1から6の目がそれぞれ 1/6 の確率で出るときの確率分布(理論的に計算したもの)を示したもので、実際にそれを実験したとしても、その分布通りにぴったり合うことはありえません。和が 17, 18になる確率を計算すると p ≒ 0.1 です。n 回試行したとすると、和が17, 18 になると期待される回数はそれぞれ np 回(2500回の試行なら 2500×0.1 = 250 回)です。それと同時に、その期待される値からどのぐらいばらつくか、も計算できます。サイコロの例では、目の和が N になる確率を p とすると、n回試行したときに 目の和が N である回数(期待値)は np 回ですが、その実験値のばらつき(標準偏差)は √(np(1-p)) となるであろうことが計算できます。試行回数が 2500 回ならば、目の和が17, 18 になる回数の期待値は 250回、そして、実験値のばらつき(標準偏差)が σ = 15 になるはずだというわけです。その上で質問者さんの結果を拝見すれば、少なくとも著しくずれているとはいえないのではないでしょうか(ここら辺は直感的ですが)。私も興味を持ったので同じことを試してみたのですが、当たり前ですが、同じような結果でした。乱数発生の評価については、ちょっと誤差が大きいかなーとは思いましたが、想定される 3σ には入っているでしょうか。 いずれにせよ、何かを実験したり、検査を行うような場合には、解析しようとする事象がどのような確率分布に従うかを想定し、試行回数によって実験値がどのようなばらつきを持つのかをあらかじめ予想し、実験なり検査なりを行う必要があります。確率分布も、本当に正規分布と仮定してよいのかも疑問はあるところで、製品の抜き取り検査のような場合には正規分布を想定することが多いし、また、正規分布として扱ってよいという理論もありますが、自然現象で、特に実験値の数が少ない場合には、まず正規分布にはなりませんので、さまざまな確率分布を想定して取り組む必要も生じます。サイコロも、試行回数を重ねれば正規分布に近づきますが、本質は正規分布ではありません。 なお、実験によって求めた平均値が、真の平均値とどのぐらいずれる可能性があるかとか、実験や検査によって求めた平均値から、真の平均値が存在するであろう範囲を推定するなどは統計学の基本的なところですので、確率統計の書籍に一度じっくりと取り組まれることをお勧めします。そのあたりの知識を仕込んでおくと、実験や検査のデータの見え方もまた違ってくるのではないでしょうか。

Nouble
質問者

お礼

真摯なご対応に感激しました 有り難う御座います。 この上このようなことをお願いするのは どうかとも思うのですが 余り詳しくない者でも理解できるように解説された この分野の実用書で お進めのものがありましたら お教え頂けないでしょうか どうぞ宜しくお願い致します

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.3

 ANo.2のコメントについてです。 > この式の意味がピンと来ないので  ANo.2の式は正規分布の確率密度関数、すなわち、正規分布に従う事象のサンプルを無限に集めたときに得られるであろうヒストグラムの形を表す式です。(「σ^2」とはσの2乗。「e^(-((x-m)^2)/(2(σ^2)))」はeの(-((x-m)^2)/(2(σ^2)))乗であって、eは自然対数の底(ネピア数)2.718281828459…) なお、ヒストグラムに当て嵌めるべき式は、正確には n φ(x,m,σ^2)であり、ただしnはサンプル数(ご質問の場合、2500)です。  Excelでは φ(x, m, σ^2)は、NORMDISTという関数として組み込まれています。   φ(x, m, σ^2) = NORMDIST(x,m,σ,0)  なので、Excelで平均m=0、分散σ^2=1の正規分布を計算するには、 (1) A列に、xとして-3ぐらいから+3ぐらいまで0.1ぐらいの刻みで数値を入れておいて、 (2) B列に、 =NORMDIST(A1,0,1,0) =NORMDIST(A2,0,1,0) …を入れる。そして、 (3) C列に ANo.2の式(ただしm=0, σ=1)を入れる。すなわち、Excel流に直して = 1/(SQRT(2*PI()))*EXP(-(A1^2)/2) …を入れます。 首尾よく(2)(3)が一致したら、mやσを変えたらどうなるかも試してみて下さい。  正規分布は、統計学の始まりであるガウスの誤差論に端を発する古いものですが、確率論および統計学において最も基本的かつ重要な概念と言えます。

Nouble
質問者

お礼

感謝です<(_ _)> 0.1刻みで… と言うところが 何故そうなるの?とか 細部に渡っては余り理解できていないのですが 早速折を見て試してみます 有り難う御座いました。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

 「著しいズレ」はどれだけあったんでしょうか。最頻値(mode)は試行をうんと増やせば105(=30×3.5)になる。「これが10も20もずれる」というのなら、計算式がおかしい恐れもあります。しかし、おかしくなくても多少のずれは生じる。(「ずれること自体がおかしい」なんてこたーありません>#1さん。)  で、ご質問は「そのずれを解消するには?」という話ですよね。 [1]「1~6が1/6ずつの確率で生じるものの30回の合計値を計算する」という作業を試行Aとし、得られた合計値をXとします。Xの値がどんな頻度になるかをヒストグラム(頻度表)にしたものの「理想的な形」をXの「分布」と言う。実験のやりかたから、明らかにこの(理想の)分布は真ん中にピークを持つ左右対称の格好になり、従って、(理想の)平均値と(理想の)最頻値は一致することが予想できます。  確率の理論ではこの分布は多項分布と呼ばれますが、平均m=30×3.5=105、分散σ^2=30(17.5/6)の正規分布で良く近似できることが分かっています。(3.5は1~6の平均。17.5というのは (-2.5)^2 + (-1.5)^2+…+(2.5)^2、つまり、1~6から平均である3.5を引き算して2乗したものの総和。)ただし、分布の裾野の方では、この近似はあんまり信用できません。たとえば合計値は30~180の範囲に必ず入るのに、正規分布は幾らでも広がっています。(近似がいやなら、多項分布を真面目に計算すればいいのですが、正規分布よりずっと大変。)  さて、試行Aを一度やってX=105という結果が得られる確率は、正規分布の確率密度関数を使って1/√(2π)/σ≒0.043、つまり4.3%と予想されます。105から離れるに従って確率は下がって行きますが、(正規分布の格好から分かるように)105の近辺の値(たとえば100~111)は105とだいたい似たような出現確率を持っています。 [2] 次に、「試行Aを2500回やって、合計値Xの出現回数N(X)を数える」という作業を試行Bとします。  試行Bを一度行ったらN(105)=0.043×2500 になるかというと、もちろんそうは行かない。試行Bを何度も繰り返したときのN(105)の平均が0.043×2500だというだけであって、ばらつきがあります。なお、このばらつきの程度も理論的に計算でき(ますが、煩瑣なので省略。しかしひとつのポイントは)、ばらつきの程度(標準偏差)は試行Aを繰り返す回数の平方根に反比例します。つまり2500回ではなく10000回やれば、ばらつきは半分になる。  ところで、105の近辺の値yの出現回数N(y)にも、同じようにばらつきがある。だから、試行Bを一度やったときに、105およびその近辺の値yのうちのどれが最頻値になるかは(105の出現回数がたまたま低目になり、109の出現回数がたまたま高目になる、というような)偶然で決まります。 [3] ようやくご質問の「このズレを解消するにはどのような計算をすればいいか?」という話です。  ご質問の例では、確率理論で分布が完全に予想できます。だからこの場合は統計ではなく、確率の問題である。すなわち、実験するまでもなく「理想的な最頻値は105だ」と言えてしまう。最頻値だけでなく、どんな合計値がどんな頻度で出るかが完全に予想できますし、「試行Bを行って頻度を実測したときに、それが予想値に対してどれだけばらつくか」すらも予想できます。  しかし、 > 実際に何らかの目的で運用する場合は 分布が完全には予想できない。たとえば、「理論上ほぼ正規分布になるだろうとは分かるが、その平均と分散は不明だ」という予想しか立たない。こういう場合には、実際に試行Bを(試行Aの反復は2500回とは言わず、もっと少ないかも知れないけれど)やって得たヒストグラムに、正規分布の確率密度関数  φ(x,m,σ^2) = (1/(σ√(2π))) e^(-((x-m)^2)/(2(σ^2))) を当て嵌めて、最もうまく当て嵌まるようなm、σ^2を計算するという統計の操作(この操作をfittingと言います)を行います。こうして平均m(=最頻値)を推定する。ただし、あくまで推定なんですから推定誤差がある。(そして、その誤差がどれほどあるかについても、確率の理論で予想できる訳ですが、その先は深入りし過ぎでしょう。)  なお、理論的に予想される分布が正規分布ではない場合には、もちろん、平均値と最頻値は一致しません。けれども、その場合でも、データに分布の式を当て嵌めることによって分布のパラメータ(mとかσ^2とか)を推定できれば、分布のピークがどこにあるかが計算できます。

Nouble
質問者

お礼

的を射たご回答感服します 有り難う御座います。 此方の意図を全てお汲み頂けたように思えます。 感激です。 ただ、 この式の意味がピンと来ないので 解説頂けると 尚有り難いのですが 如何でしょう… (~ ~;)ヾ 宜しくお願い致します。 P.S. 失礼しました 「著しい」は過言ですね

  • kumipapa
  • ベストアンサー率55% (246/440)
回答No.1

Excell で 1 から 6 の乱数を発生させて、擬似的なサイコロを作ったわけですね。 で、サイコロを 30 回振って出る目の和を求める。 その試行を 2500 回行って、データを収集したのだけど、得られた値の分布(ヒストグラム)を調べてみると、どうも様子がおかしい。 もっとも頻度の高い値(実測値)と、ヒストグラムの形から推定される「ここのあたりが最も頻度の高い(確率の高い)値ではないか」という値とがかなりずれる(どのぐらいずれるんでしょうか?)ということですよね。 ずれること自体がおかしいわけで、やはり、なぜずれてしまうのかを調べないと、解消しようがないですね。質問者さんがおっしゃる「理想的な最頻値」というのも、シミュレーションの結果から推定されているわけで、理論値ではありませんので、どちらが正しいとか正しくないという議論も難しいように感じます。ちなみに、サイコロを 30 回振った場合の目の和は 30 から 180 まで分布するわけですが、最も確率が高くなるのが 105 で、分布は左右対称のはずです。この点はいかがでしょう。 シミュレーションそのものがはたして正しく行われているのでしょうか。質問者さんの計算を疑っているわけではなく、たとえば、Excellの乱数はシミュレーションに耐えうるものなのでしょうか。 理論的に得られる確率分布と、Excellでのシミュレーション結果とがどのぐらい一致するのか確認されてみましたか。 もうちょっとシンプルな例で、サイコロを5回振って出る目の合計の値とその確率は、以下のようになります。左が出る目の合計、右がその確率×6^5倍です。最頻値は17と18(同じ確率です)。平均 17.5, 分散はおよそ 14.58 で、そこそこ正規分布に近い分布になるはずです。シミュレーションの結果がこの通りになるか、よろしかったらやってみて頂けませんか?もし、試行回数を増やしてもこの分布にならないようであれば、Excell の乱数発生も含めて、シミュレーションの方法(計算方法)そのものに問題があるはずであり、残念ながら何らかの計算で補正・解消できるような話にはなりません。 5  1 6  5 7  15 8  35 9  70 10  126 11  205 12  305 13  420 14  540 15  651 16  735 17  780 18  780 19  735 20  651 21  540 22  420 23  305 24  205 25  126 26  70 27  35 28  15 29  5 30  1

Nouble
質問者

補足

ご回答に感謝致します。 ご指摘を真摯に受け止め 御指南の通り Excelにて"疑似サイコロ"を5回振った総和のデータを =RANDBETWEEN(1,6)+RANDBETWEEN(1,6)+RANDBETWEEN(1,6)+RANDBETWEEN(1,6)+RANDBETWEEN(1,6) と、して求め これを2500件$B$2:$B$2501に用意し これに対し =INDEX(FREQUENCY($B$2:$B$2501,ROW($A$5:$A$29)),ROW(A1)) =INDEX(FREQUENCY($B$2:$B$2501,ROW($A$5:$A$29)),ROW(A2))               ・               ・               ・ =INDEX(FREQUENCY($B$2:$B$2501,ROW($A$5:$A$29)),ROW(A26)) と、言う式により値を求めてみました 一例ではありますが これによりヒストグラムが 多少端折ってはいますが 5 1 6 2 7 3 8 10 || 9 26 ||||| 10 40 |||||||| 11 56 ||||||||||| 12 100 |||||||||||||||||||| 13 137 ||||||||||||||||||||||||||| 14 157 ||||||||||||||||||||||||||||||| 15 230 |||||||||||||||||||||||||||||||||||||||||||||| 16 232 |||||||||||||||||||||||||||||||||||||||||||||| 17 244 |||||||||||||||||||||||||||||||||||||||||||||||| 18 255 ||||||||||||||||||||||||||||||||||||||||||||||||||| 19 276 ||||||||||||||||||||||||||||||||||||||||||||||||||||||| 20 190 |||||||||||||||||||||||||||||||||||||| 21 163 |||||||||||||||||||||||||||||||| 22 136 ||||||||||||||||||||||||||| 23 94 |||||||||||||||||| 24 65 ||||||||||||| 25 39 ||||||| 26 25 ||||| 27 12 || 28 6 | 29 1 30 0 と、言う形で得られました この際の 歪度は =SKEW(B2:B2501)より0.005906446 平均は =AVERAGE(B2:B2501)より17.5096 最頻値は =MODE(B2:B2501)より19 分散は =VARA(B2:B2501)より14.39806707 と、得られました これは極端な一例なのでしょうか? 再計算を何度となく繰り返してみたのですが 残念ですが お示し頂いたような "綺麗な正規分布"を示すデータは得られませんでした もう一点のご指摘として Excelの疑似乱数の精度について触れられていたので 此方についてもデータを作成してみました Excel2007の1列のセル数1048575個全てに =RANDBETWEEN(1,6) と、式を入れ これに対し =INDEX(FREQUENCY(B:B,{1,2,3,4,5}),{1}) =INDEX(FREQUENCY(B:B,{1,2,3,4,5}),{2}) =INDEX(FREQUENCY(B:B,{1,2,3,4,5}),{3}) =INDEX(FREQUENCY(B:B,{1,2,3,4,5}),{4}) =INDEX(FREQUENCY(B:B,{1,2,3,4,5}),{5}) =INDEX(FREQUENCY(B:B,{1,2,3,4,5}),{6}) と、言う式を用意し この各々をχとしたときの           1     -------------      /         \ 2      | χ  -  平均 |      \         / を、戯れに求めてみました これも一例に過ぎませんが 結果として 1 174150 0.00000266 2 175178 0.00000580 3 175225 0.00000468 4 174048 0.00000196 5 175434 0.00000222 6 174541 0.00002035 平均 174762.6667 と言うものが得られました。 どうなのでしょう この結果を評価する知識は 残念ながら私にはまだないのですが、 私の知る限りでの 疑似乱数のアルゴリズム的観点から言うと 確かに局所的な偏りは否めないかも知れませんが 何十回となく算出させた結果の平均や総和には 一様性が見られ 乱数の"疑似性"を吸収するのではないかな? と、感じるのですが… 付け加えて言うと 現実の現場では2500件はおろか 100件のデータすら揃わないこともしばしばかと思います。 このような際の6σの指標として データから求める最頻値を適応して良いものか この点に不安を感じるのです。 確かに運用上として 両翼の3σ近辺に 誤差を吸収するマージンを設け 管理基準を厳しくすれば 造作もないことですが その分ロスも見込まれますし 力業なもやもや感も否めません …よね また、この事自体に拘ることが そもそも”不必要”としてしまえば それまでですが 出来ればすっきりしたいじゃないですか ね~ … 更なるご意見をお待ちしております。

関連するQ&A