統計学

in  

統計学について

記述統計と推測統計

対象の全データを母集団といいます。母集団から一部を抽出したものを標本といいます。 記述統計は母集団を調べ, 正しく効率的に集団の特徴を捉えるためのものです。推測統計は母集団の一部である標本から母集団を推測するものです。

1変数の記述統計

変数が一つの場合の記述統計についてみていきます。データを分析する際に母集団の特徴をつかむために基本統計量を用います。

基本統計量

  • 母平均
  • 母分散
  • 母標準偏差
  • メディアン(中央値)
  • モード(最頻値)

n個からなるデータの値を \( x_1, x_2, x_3 … x_n\) としたときの基本統計量を考えていきます。

母平均

\[ \bar{x} = \frac{1}{n} \displaystyle \sum_{i=1}^n x_i \]

母分散

母集団のバラツキの指標となる値です。分散とはつまり平均からのデータの広がり具合のことになります。この値が小さいということは平均付近にデータが集まっており、逆に大きいということは散らばっているということになります。

\[ \sigma^{2} = \frac{1}{n} \displaystyle \sum_{i=1}^n (x_i - \bar{x})^2 \]

母標準偏差

母分散同様母集団のバラツキの指標となる値ですが、データと同じ次数で比較することができます。

\[ \sigma = \sqrt{\sigma^2} \]

メディアン

データを順番に並べたときにnが奇数の場合は中央の値、nが偶数の場合は中央の値2つの平均値になります。

モード

回数が最も多く現れるデータの値です。


2変数の記述統計

変数が2つの場合の記述統計についてみていきます。2つの変数の関係をつかむために下記の値を用います。

共分散

2変数のデータの散らばり具合を表す指標として共分散があります。変量xの平均値を\(\bar{x} \)、変量yの平均値を \( \bar{y} \)とした場合、共分散\(\sigma_{xy} \)は下記の式で求められます。

\[ \sigma_{xy} = \frac{1}{n} \displaystyle \sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y}) \]

相関係数

相関係数は名前の通り2つの変量の相関を調べることのできる値です。変量xの標準偏差をを\(\sigma_{x} \)、変量yの標準偏差を \( \sigma_{y} \)とした場合、相関係数rは下記の式で求められます。

\begin{eqnarray} r = \frac{\sigma_{xy}}{\sigma_x \sigma_y} = \frac{\displaystyle \sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\displaystyle \sum_{i=1}^n (x_i - \bar{x})^2 } \sqrt { \displaystyle \sum_{i=1}^n (y_i - \bar{y})^2}} \end{eqnarray}

相関係数は \( -1 \geqq r \geqq 1 \)となり、この値を調べることにより下記のような判断ができます。

  • 1に近づくほど正の相関が強い
  • 0 相関なし
  • -1に近づくほど負の相関が強い

回帰分析

2変数の間に相関があるときにその関係を定量的な式に表すことを回帰分析といいます。特に単回帰分析と呼ばれる分析手法についてみていきます。

単回帰分析

2変数の間の相関を線形な関係( \( y = ax + b \) )として分析する手法が単回帰分析です。この直線を回帰直線といいます。この時、最小二乗法と呼ばれる手法を用いて回帰直線と実際のデータの誤差を求めて一番誤差が小さくなるパラメータa, bを探ります。前述の相関係数の絶対値が大きい時に有効な手法です。

最小二乗法

データと回帰直線の誤差の二乗和を求め、誤差が最小になるa, bの値を求めていくのが最小二乗法になります。

データを \( (x_i, y_i) (i = 1, 2, 3 ….n) \) としたとき、二乗和Lは下記のようになります。

\begin{eqnarray} L &=& \displaystyle \sum_{i=1}^n (y_i - (ax_i + b))^2 \\\ &=& \displaystyle \sum_{i=1}^n (y_i - ax_i - b)^2 \end{eqnarray}

この式をa, bで偏微分して0になる値を求めます。

\begin{eqnarray} a &=& \ \frac{\sigma_{xy}}{\sigma_x^2} \\\ b &=& \bar{y} -a\bar{x} \end{eqnarray}

寄与率

回帰分析の精度を評価する指標として寄与率(決定係数)があります。1に近づくほど回帰分析の精度が良いことになります。寄与率は相関係数の二乗に等しい値になります。

\begin{eqnarray} R = r^2 = \frac{\sigma_{xy}^2}{\sigma_x^2 \sigma_y^2} \end{eqnarray}

共分散・相関係数・回帰分析の例

下記の表のような身長、体重のデータがあった場合に、身長と体重の共分散と相関係数の値を調べていきます。

身長体重
140.256.4
155.052.9
163.572.2
172.168.1
178.679.7
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 体重と身長をリストとして定義する
weight = [56.4, 52.9, 72.2, 68.1, 79.7]
height = [140.2 , 155.0, 163.5, 172.1, 178.6]

def get_mean(val):
    return sum(val) / len(val)

def get_dis(val, mean):
    return sum(list(map(lambda x: (x - mean)**2,  val))) / len(val)

def get_std(val):
    return val**0.5

def get_covariance(x, x_mean,  y, y_mean):
    return sum([(x_i - x_mean) * (y_i - y_mean) for (x_i, y_i) in zip(x, y)]) / len(x)


# 平均を求める
weight_mean = get_mean(weight)
height_mean = get_mean(height)

# 分散を求める
weight_dis = get_dis(weight, weight_mean)
height_dis = get_dis(height, height_mean)

# 標準偏差を求める
weight_std = get_std(weight_dis)
height_std = get_std(height_dis)

# 共分散を求める
covariance = get_covariance(weight, weight_mean, height, height_mean)

# 相関係数を求める
pcc = covariance / weight_std / height_std

# 傾きを求める
slope = covariance / weight_dis

# 切片を求める
intercept = height_mean - weight_mean * slope

# 寄与率を求める
cod = pcc**2


print('体重の平均', weight_mean)
print('身長の平均', height_mean)

print('体重の分散', weight_dis)
print('身長の分散',height_dis)
print('体重の標準偏差',weight_std)
print('身長の標準偏差',height_std)

print('共分散',covariance)
print('相関係数', pcc)

print('回帰直線', f'y = {slope}x + {intercept}')
print('寄与率', cod)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
体重の平均 65.86
身長の平均 161.88
体重の分散 98.84240000000003
身長の分散 180.79760000000005
体重の標準偏差 9.941951518690887
身長の標準偏差 13.446099806263527
共分散 111.76520000000001
相関係数 0.8360622759805815
回帰直線 y = 1.1307414631777453x + 87.40936723511369
寄与率 0.69900012931783

離散確率分布

離散確率分布における言葉の整理をしていきます。

  • 試行: 何度も繰り返し行える物事。独立な試行。
  • 事象: 試行した結果現れた現象
  • 根元事象: これ以上分解できない事象
  • 標本空間(全事象): ある試行における全ての根元事象を集めたもの

サイコロを振るケースに当てはめると、

  • 試行: サイコロを振る
  • 事象: 偶数が出る
  • 根元事象: 2が出る, 4が出る, 6が出る
  • 標本空間: 1が出る, 2が出る, 3が出る, 4が出る, 5が出る, 6が出る

標本空間をU, 事象をAとし, どの事象も同程度に確からしい場合n(A)を事象Aに属する根元事象の数, n(U)を全事象の数とすると、

\[ P(A) = \frac{n(A)}{n(U)} \]

全事象の根元事象一つ一つに割り当てられた数値を確率変数と呼びます。 例えばサイコロを振った場合の全事象Uは

U = {1が出る, 2が出る, 3が出る, 4が出る, 5が出る, 6が出る} で根元事象にサイコロの目の数を割り当てる時、 確率変数X = 1, 2, 3 ,4, 5, 6 となります。この値を実現値と呼びます。

また、確率関数とはそれぞれの根元事象が発生する確率で、確率関数Piは確率変数がiとなる確率のことです。 \( P_i = \frac{1}{6} (i = 1, 2, 3,… 6) \)となります。

累積分布関数はPiの総和となります。この値は1になります。

\[ F(x) = \sum_{i=1}^{n} P_i = 1\]

期待値とはつまり平均値のことであるが、正確には確率の重み付平均のことです。

\[ \mu = E[X] = \sum_{i = 1}^{n} x_{i}P_{i} = x_1P_1 + x_2P_2 + x_3P_3 + … + x_{n}P_{n} \]

分散とはつまり平均 \( \mu \) との平均的な広がり具合のことになります。この値が小さいということは平均付近にデータが集まっており、逆に大きいということは散らばっているということになります。

\[ \sigma^{2} = V[X] = \sum_{i = 1}^{n} (x_{i} - \mu)^2P_i = (x_1 - \mu)^2P_1 + (x_2 - \mu)^2P_2 + \cdots + (x_n - \mu)^2P_{n} \]

分散を求める下記の公式は有用です。

\[ \sigma^2 = V[X] = E[X^2] - E[X] \cdot E[X] \]

標準偏差も同様に広がり具合になりますが、実現値と同じ次数で比較することができます。

\[ \sigma = \sqrt{V[X]} \]


参考文献