📈

統計学のメモ #1 記述統計

8 min read

統計学に入門したので備忘録をまとめていきます。
この記事では、記述統計学におけるデータの要約方法の基礎について書きます。

基本用語

  • 母集団 / population
    • 標本を抽出するための母体となる対象物の集合
  • 母数 / parameter
    • 母集団が持つ統計量。母平均や母分散など
  • 抽出 / sampling
    • 母集団から標本を選ぶこと
  • 標本 / sample
    • 母集団から抽出したデータの集合
  • サンプル数 / number of samples
    • 標本の数。母集団から抽出したデータの集合の数
  • サンプルサイズ / sample size
    • 標本の大きさ。標本のデータの個数
  • 観測値 / observation
    • データの値
  • 統計量 / statistic
    • データから計算できる値や関数。標本平均、標本分散、不偏分散など

抽出法

確率抽出法と非確率抽出法の二つに大きく分けられる。
以下は確率抽出法の例。

  • 無作為抽出法 / random sampling
    • 母集団からランダムに標本を抽出する方法
  • 単純無作為抽出法 / simple random sampling
    • 乱数表を用いて母集団から必要な数だけ標本を抽出する方法
  • 層化抽出法 / stratified sampling
    • 母集団をいくつかの層に分け、各層から無作為抽出する方法
  • クラスター抽出法(集落抽出法)/ cluster sampling
    • 母集団をいくつかの標本の集合(クラスター)に分け、いくつかのクラスターを無作為抽出し、その中に含まれる標本を全て抽出する方法

データの種類

  • 量的データ / numeric or quantitative data
    • 定量的なデータ。量的変数ともいう
    • e.g. 人口、身長、金額
    • 離散型変数 / discrete variable
      • 飛び飛びの値をとるデータ
    • 連続型変数 / continuous variable
      • 連続した値をとるデータ
  • 質的データ / factor or qualitative data
    • 定性的なデータ。カテゴリカルデータともいう
    • e.g. 血液型、住んでいる地区、アンケートの選択肢
    • ダミー変数 / dummy variable
      • カテゴリカルデータや2値型データのようなデータを 0 or 1 で数量化したデータ

度数分布

  • 階級 / class
    • 個体が持つある値の区間
  • 階級値 / class value
    • 各階級の中央の値
  • 度数 / frequency
    • 各階級に含まれるデータの個数

度数分布 / frequency distribution

階級と度数を対応させてデータのばらつきを要約する方法。

質的データの度数分布

> table(iris$Species)
    setosa versicolor  virginica 
        50         50         50 

※ これ以降のRのサンプルは標準データセットのirisを使用

量的データの度数分布

hist関数の戻り値がオブジェクトになっており以下のkeyで確認できる。

key
$breaks 階級の区切り
$counts 度数
> h <- hist(iris$Petal.Width)
> h$breaks
 [1] 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6
> h$counts
 [1] 34 14  2  0  7  8 21 16 14 11  9 11  3

相対度数 / relative frequency

各階級の度数が全体に占める割合。

\text {相対度数}=\frac{\text {各階級の度数}}{\text {度数の合計}}
> h <- hist(iris$Petal.Width)
> h$counts / length(iris$Petal.Width)
 [1] 0.22666667 0.09333333 0.01333333 0.00000000 0.04666667 0.05333333
 [7] 0.14000000 0.10666667 0.09333333 0.07333333 0.06000000 0.07333333
[13] 0.02000000

累積相対度数 / cumulative relative frequency

最初の階級からある階級までの相対度数の累積和。

> h <- hist(iris$Petal.Width)
> rf <- h$counts / length(iris$Petal.Width)
> cumsum(rf)
 [1] 0.2266667 0.3200000 0.3333333 0.3333333 0.3800000 0.4333333
 [7] 0.5733333 0.6800000 0.7733333 0.8466667 0.9066667 0.9800000
[13] 1.0000000
量的データの度数分布表をdata.frameで作るサンプル
# histの戻り値をdata.frameにする
> h <- hist(iris$Petal.Width)
> class_breaks <- h$breaks
> classes <- NULL
> for(i in 1:length(h$counts)){
+   classes[i] <- paste(class_breaks[i], "~", class_breaks[i + 1])
+ }
> data_frame <- data.frame(class=classes, freq=h$counts)
> data_frame
       class freq
1    0 ~ 0.2   34
2  0.2 ~ 0.4   14
3  0.4 ~ 0.6    2
4  0.6 ~ 0.8    0
5    0.8 ~ 1    7
6    1 ~ 1.2    8
7  1.2 ~ 1.4   21
8  1.4 ~ 1.6   16
9  1.6 ~ 1.8   14
10   1.8 ~ 2   11
11   2 ~ 2.2    9
12 2.2 ~ 2.4   11
13 2.4 ~ 2.6    3
 
# 相対度数、累積相対度数の列を追加
> rf <- h$counts / length(iris$Petal.Width)
> data_frame <- transform(data_frame, "relfreq"=rf, "cumsum"=cumsum(rf))
> data_frame
       class freq    relfreq    cumsum
1    0 ~ 0.2   34 0.22666667 0.2266667
2  0.2 ~ 0.4   14 0.09333333 0.3200000
3  0.4 ~ 0.6    2 0.01333333 0.3333333
4  0.6 ~ 0.8    0 0.00000000 0.3333333
5    0.8 ~ 1    7 0.04666667 0.3800000
6    1 ~ 1.2    8 0.05333333 0.4333333
7  1.2 ~ 1.4   21 0.14000000 0.5733333
8  1.4 ~ 1.6   16 0.10666667 0.6800000
9  1.6 ~ 1.8   14 0.09333333 0.7733333
10   1.8 ~ 2   11 0.07333333 0.8466667
11   2 ~ 2.2    9 0.06000000 0.9066667
12 2.2 ~ 2.4   11 0.07333333 0.9800000
13 2.4 ~ 2.6    3 0.02000000 1.0000000

参考:Rで度数分布表を作る - Rプログラミングの小ネタ

平均と中央値

平均 / mean

記号 意味
\bar{x} データの平均
\mu 母集団の平均

算術平均・加重平均などがあり、計算方法が異なる。

算術平均 / arithmetric mean

全てのデータを足してデータの総数で割った値。

\begin{aligned} \bar{x}&=\frac{1}{n}\sum_{i=1}^{n}x_{i}\\ &=\frac{x_{1}+x_{2}+\cdots+x_{n}}{n} \end{aligned}
> mean(iris$Petal.Width)
[1] 1.199333

加重平均 / weighted mean

各データの値に重要度などの重みづけをしたうえで計算する平均。

\begin{aligned} \bar{x}&=\frac{\sum_{i=1}^{n} w_{i} x_{i}}{\sum_{i=1}^{n} w_{i}}\\ &=\frac{w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{n} x_{n}}{w_{1}+w_{2}+\ldots+w_{n}} \end{aligned}
> freq <- rle(iris$Petal.Width)
> freq
Run Length Encoding
  lengths: int [1:118] 5 1 1 2 1 2 2 1 2 3 ...
  values : num [1:118] 0.2 0.4 0.3 0.2 0.1 0.2 0.1 0.2 0.4 0.3 ...
> weighted.mean(freq$values, freq$lengths)
[1] 1.199333

中央値 / median

大きさ順に並べたデータのちょうど真ん中に来る値。
データが偶数個の場合は、真ん中に来る2つの値の平均が中央値となる。

> median(iris$Petal.Width)
[1] 1.3
平均値と中央値の関係とヒストグラムの歪み

平均値と中央値が同じ:左右対称な分布になる
中央値 > 平均値:左側に歪んだ分布になる(skewed to the left)
中央値 < 平均値:右側に歪んだ分布になる(skewed to the right)

四分位数と外れ値

四分位数 / quartile

データを大きさ順に並べ、データの総数を4等分した時の区切り点を四分位数という。
はじめから数えて全体のn%に位置する値を nパーセンタイル(percentile) という。

  • 第一四分位数 / first quartile
    • 25パーセンタイル
  • 第二四分位数 / second quartile
    • 50パーセンタイル
    • 中央値に等しい
  • 第三四分位数 / third quartile
    • 75パーセンタイル

四分位範囲 / interquartile range (IQR)

第一四分位数から第三四分位数までの範囲。
データの50%が含まれる区間のこと。

IQR = Q_{3} - Q_{1}

外れ値 / outlier

他のデータから極端にかけ離れている値のこと。
データの中で一番小さい値と一番大きい値をそれぞれ 最小値, 最大値 と呼び、外れ値はこの範囲外にある正常ではない値。
外れ値のうちその原因が分かっているものを 異常値 という。

\begin{aligned} \text {上限の閾値} = Q_{3} + 1.5 * IQR\\ \text {下限の閾値} = Q_{1} - 1.5 * IQR \end{aligned}

> summary(iris$Sepal.Width)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  2.000   2.800   3.000   3.057   3.300   4.400 

データのばらつき具合

偏差 / deviation

データが平均値からどれくらい離れているかを表す。データと平均値との差。
母集団の平均値との差を表す場合もある。

\text { 偏差 }=x_{i}-\bar{x}
記号 意味
x_{i} 各データの値
\bar{x} データの平均
> x <- iris$Sepal.Width
> x - mean(x)
  [1]  0.44266667 -0.05733333  0.14266667  0.04266667  0.54266667  0.84266667
  [7]  0.34266667  0.34266667 -0.15733333  0.04266667  0.64266667  0.34266667
  ...

偏差平方和 / sum of squared deviations

それぞれの偏差を2乗して足し合わせた値。
データの個数が多くなるほど値も大きくなる(分散がこれを解消する)

\begin{aligned} s &=\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2} \\ &=\left(x_{1}-\bar{x}\right)^{2}+\left(x_{2}-\bar{x}\right)^{2}+\cdots+\left(x_{n}-\bar{x}\right)^{2} \end{aligned}
> x <- iris$Sepal.Width
> sum((x - mean(x))^2)
[1] 28.30693

分散 / variance

ばらつき具合を表す統計量。偏差平方和をデータの総数で割ったもの。
最小値は0で、数字が大きくなるほどばらつきが大きいことを表す。
標本分散は、母集団と比較して標本数が少ない場合にその分散が母分散より小さくなる。それを補正したものが不偏分散。

標本分散 / sample variance

標本から計算した分散。

s^{2}=\frac{1}{n} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}

不偏分散 / unbiased variance

母集団の分散 \sigma^{2} の推定値を表す。

U^{2}=\frac{1}{n-1} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}
> x <- iris$Sepal.Width
> sum((x - mean(x))^2) / (length(x) - 1)
[1] 0.1899794

# または、
> var(x)
[1] 0.1899794

var関数は不偏分散を使うため、母分散を求める時は * (n - 1) / n して補正する。

標準偏差 / standard deviation

分散と標準偏差は単位が異なるが、どちらもばらつき具合を表す統計量。
偏差平方和の2乗をもとに戻している。

s=\sqrt{\frac{1}{n-1} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}

母集団の標準偏差は \sigma で表す。

\sigma=\sqrt{\text { population variance }}
> x <- iris$Sepal.Width
> sqrt(sum((x - mean(x))^2) / (length(x) - 1))
[1] 0.4358663

# または、
> sd(x)
[1] 0.4358663

標準化 / standardization

データの項目や単位が異なる場合に規格を揃えるため、平均が0で分散が1となるようにデータを変換すること。変換したデータをZスコアという。
正規化、基準化ともいう。

Z=\frac{x-\mu}{\sigma}
> x <- scale(iris$Sepal.Width)
> mean(x)
[1] -1.684023e-15
> sd(x)
[1] 1

scale関数は不偏分散を使うことに注意

参考文献

Discussion

ログインするとコメントできます