標本の最頻値
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/07 00:21 UTC 版)
標本データの最頻値は、その中で最も頻繁に出現する値を意味する。例えば [1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17] という標本群の最頻値は6である。[1, 1, 2, 4, 4] というデータでは最頻値は一意に定まらない。そのようなデータ群を「二峰性 (英: bimodal)」と呼び、最頻値が2つよりも多ければ「多峰性 (英: multimodal)」と呼ぶ。 連続確率分布の標本は [0.935..., 1.211..., 2.430..., 3.668..., 3.874...] のようになり、正確に同じ値が出現することはないため、そのままの定義では最頻値を求められない。この場合一般に、値の範囲を等間隔の区間に分割し、ヒストグラムを作成することで区間ごとの頻度を求め、区間の中央の値でその区間を代表させる。したがって最頻値はヒストグラムのピークの値ということになる。標本数が少ない場合、区間の幅をどう選択するかで値が大きく変わってくる。一般に各区間の標本数をある程度以上確保するために区間数を少なくする。もう1つの手法としてカーネル密度推定があるが、これは本質的に標本値をぼやけさせて確率密度関数を連続的に推定するもので、それによって最頻値を提供できる。 次のMATLABのコード例は、標本群から最頻値を計算するものである。 X = sort(x);indices = find(diff([X; realmax]) > 0); % indices where repeated values change[modeL,i] = max (diff([0; indices])); % longest persistence length of repeated valuesmode = X(indices(i)); このアルゴリズムでは、まず標本群を昇順にソートする必要がある。次いでソートされたリストの離散微分係数を計算し、その微分係数が正となるインデックス群 (indices) を求める(つまり、値が上がっている位置を求める)。次にそのインデックス列の離散微分係数を計算し、それが最大となっている位置を求める(つまり、同じ値が長く続いているほどインデックスの差が大きくなり、微分係数が大きくなる)。
※この「標本の最頻値」の解説は、「最頻値」の解説の一部です。
「標本の最頻値」を含む「最頻値」の記事については、「最頻値」の概要を参照ください。
- 標本の最頻値のページへのリンク