Last modified: "2005/09/06 10:32:54 +0900"
データの分布の特徴を一つの値で代表させたとき、この値を代表値と呼びます。代表値は記述統計量のひとつです。代表値は分布の位置と広がりの二つの戦略により求めることができ、分布の位置を示すものを中心傾向、分布の広がりを示すものをばらつきと呼びます。中澤先生の本の4章を参考にしてください。
分布の位置から求める中心傾向からはじめます。4章の4.2参照。
最も頻繁に用いられているので、説明は不要かもしれない。Rでの平均の求め方を中心にすすめます。
値が{2,4,5,6,7,6}である母集団の平均はいくら?
以下の手順で求めることができる。
一瞬でしたね。ということで次は重み付き平均値の問題です。
数学のテストの平均点がそれぞれ{60,65,70}の3つのクラスがあり、人数はそれぞれ{25人,20人,25人}だった。この3つのクラスの平均点はいくらだろう?
手で計算する場合は、(60*25+65*20+70*25)/(25+20+25)ですね。Rでは以下のようにすると計算してくれます。
少し説明しましょう。一番上の式は点数をpという変数に代入してます。次の式はnに人数を代入しています。3番目の式ですが、sum()は合計を計算して返してくれる関数です。p*nは『x <- p*n』などとして試して見るとわかりますが、pとnの同じ順番にある値をかけて、pとnと同じ長さのオブジェクトを返してくれます。つまり手計算の60*25と65*20と70*25をしてくれるわけです。これで、3番目の式はpとnの同じ順番にある値同士をかけてできた値を足したものをnの合計で割ったものを表していることがわかります。手計算と同じ事をしているわけです。print()は読んだとおり、表示をする関数です。この場合は普通にgmとだけ打っても同じように表示されます。
度数分布の平均は重み付き平均と同じ考え方でできますので省略します。
平均値は少数の極端な値の影響を受けやすいという欠点を持ちますので、くれぐれもご注意を。一つだけそういう例を挙げておきます。いくつでも想像できるでしょうが…。
{1,1,999991,1,1,1,1,1,1}の平均を求めよ。
平均のところで最後に挙げたような、極端なはずれ値の影響を受けにくいものが中央値です。ゆがんだ分布に対する最も重要な中心傾向の指標だそうです。
次の分布の中央値は何か? {1,3,7,10,42,49,60,63,70}
最初から順番に並べてあるので簡単です。上からも下からも5番目の42が答えになります。このとき、42と10や49との距離は考えなくてもいいそうです。Rでは以下のようにやります。
次は値の数が偶数の場合や、同じ値がたくさんある場合を考える。
次の分布の中央値は何か? {2,4,6,8,11,19}, {1,1,2,2,2,2,3,3,3,3,4}
上の結果を見てもわかるように純粋に並べ替えて、中央、もしくはその両隣の平均でいいようだ。これにはいろんな議論がされているが、統計の専門家でない僕達が深く気にする部分ではないでしょう。次は最頻値です。
追記。欠損値を含むデータで中央値を求める時はmedian(x[!is.na(x)])とする。簡単な解説だけしておくと、xのうち欠損値でないものだけを調べている。詳しく知りたければ?is.naとすると良い。!は「〜じゃないもの」の意味。
その名の通り、もっとも度数の多い数字を探せばよい。Rでは直接求めるコマンドはないようだ。中澤先生の本にはhist()を使って度数分布表を作って調べると書いてある。
もっとも単純なばらつきの尺度で、最大値から最小値をひいた値のことだが、極端な外れ値の影響を大きく受けてしまう。例題も必要なさそうなので、割愛する。
値を小さい方から順に並び替えた時の、「75パーセンタイルと25パーセンタイルの間隔」のことで、代表性が高いと考えられる全体の中央付近の50%を含む範囲を示す。このとき、25パーセンタイル、50パーセンタイル(中央値)、75パーセンタイルの値をそれぞれQ1、Q2、Q3と表すことがある。また、最小値、最大値にQ1、Q2、Q3を加えたものを五数要約値と呼ぶ。
Rでは五数要約値を求めるのにfivenum関数を使う。
20人のクラスで垂直飛びの計測を行ったところ、{55,73,64,63,65,57,59,85,54,55,56,43,60,58,62,58,59,63,61,64}という結果が得られた。このデータから五数要約値を求め、四分位範囲を求めよ。
四分位範囲は63.5-56.5より、7である。
四分位範囲を2で割った値のことで、もし分布が左右対称型の正規分布であれば、中央値-四分位偏差から中央値+四分位偏差までの幅に全データの半分が含まれるという意味で、重要な指標。また、IQRもSIQRも極端な外れ値の影響を受けにくく、分布が歪んでいる時でも使える。
上の例題の四分位偏差は7÷2で3.5となる。
偏差の絶対値の平均値のこと。偏差をすべて合計したものは必ず0になってしまうので、絶対値で総和をだし、サンプル数で割ることで、「値一つあたりの偏差の絶対値を求める」という考え方をしている。
平均偏差(MD): MD=Σ|X-μ|/n
Xは分布の中のある値、μは平均値、nはサンプル数を表す。
平均値の等しい次の分布の平均偏差を比べよ。A: {11,12,13,14,15,16,17}、B: {5,8,11,14,17,20,23}
少し解説を加えるとmeanは前にも出てきたように平均を求めるもので、m.aにはaの平均が、m.bにはbの平均が代入(付値)されている。absは絶対値を求める関数で、abs(a-m.a)はaのそれぞれの値から、aの平均値をひいたものの絶対値が入っている。確認したい時はabs(a-m.a)とやってみると良い。一つの値ではなくリストになっているのがわかる。sumはリストの合計を返す関数で、これもsum(a)などとやって確認してみるといいだろう。NROW()はリストの総数を返すようだ。小文字でnrowと書くと違うものになるので注意して欲しい。とにかくわからないことがあったら、実際に自分で書いて試してみるのと、?meanなどとしてヘルプを使うのがいいだろう。詳しくはR on Windowsのヘルプの使い方を参照してもらいたい。
マイナス側とプラス側の偏差を同等に扱うために平均偏差では絶対値を求めたが、分散は2乗するというテクニックを使っている。
分散V: V=Σ(X-μ)2/n
上の式を手計算で求める時は、2乗の平均から平均の2乗をひくと楽になる。
標本数nで割る代わりに、自由度n-1で割って、不偏分散という値にすると、標本データから母集団の分散を推定するのに使える。
不偏分散Vμb: Vμb=Σ(X-μ)2/(n-1)
Rでは分散はsum((x-mean(x))^2)/NROW(x)で求められ(直接求める関数は組み込まれていない)、不偏分散はvar(x)で求められる。
分散の平方根をとったもので、平均値と次元を揃えるという意味を持ち、よくSDと表される。不偏分散の平方根をとったものは、不偏標準偏差となる。標本の分布が正規分布の場合、Mean±2SDで、データの95%を含むことができる。
上の例題の不偏分散と不偏標準偏差を求めよ。
var()が不偏分散を求める関数で、sd()が不偏標準偏差を求める関数である。不偏でない標準偏差を求めるにはsqrt(sum((x-mean(x))^2)/NROW(x))などとすればよい。
標準誤差とは、不偏標準偏差を√nで割ったもので、平均値の推定幅を示す値となっている。
また、変動係数とは、「標準偏差(不偏ではない)を平均値で割って100をかけたもの」で、平均値に対して、全測定値が何%ばらついているかを示している。詳しく知りたい人は統計の本などを読んでみるといいだろう。
Rで代表値を求めるときの関数を一覧にまとめておきます。例題などで出ていない関数もあるので、ちょっと試してみてください。
TOP/Study/Diary/Profile/Soft/Tennis/Gallery/Antenna/Research/xyzzy/R