明治大学新領域創造

統計特論3

東京大学大学院農学生命科学研究科 大森宏


この講義の目的

 統計解析ソフトRを用いて,統計解析が自在に行えるスキルを身に着ける.また,解析的証明より, シミュレーションによる数値的な証明(厳密ではないが直感的に理解しやすい)を行い,統計学の 視覚的で直感的な理解をめざす.

Rの基本的使い方を学ぶ.

今日のスクリプト
x <- c(2, 3, 5)      #ベクトルの定義 
y <- c(10, 14, -7)         
a <- matrix(1:9, nrow=3)     #行列の定義 
b <- x %*% t(x)     #行列の積 
z <- c(6, -5, 2)     
a1 <- cbind(x,y,z) #列ベクトル−>行列生成 
solve(a1) #逆行列 
eigen(a1) #固有値 
x <- 1:10 #連続した自然数 
y <- c(3,7,8,6,9,10,6,5,10,7)
plot(x, y) #散布図 
plot(x, y, type="l") #直線でつなぐ 
x <-seq(-20, 20, by=0.1) #等間隔点列 
y <- x^2 #関数定義 
y <- 3*x^3 - 2*x^2 + 6*x + 5
y <- -2*cos(x)+4*sin(x)
plot(x, y, type="l") #関数のグラフ 
plot(x, y, type="l", xlim=c(-20,20), ylim=c(-20,20))     #表示部分の指定 

0.方程式の根

ニュートン法

 Rでは,ニュートン法により方程式の根を求めることができる.

R による方程式の解法のスクリプト
# 関数の作成
f1 <- function(x){
exp(x)-2
}
#関数のグラフ
x <- seq(-1, 2, by=0.01)
plot(x, f1(x), type="l")
# これでもよい
curve(f1(x), -1,2)
#水平線と垂直線
abline(h=0)
abline(v=0)
#グラフタイトル
title(main="f(x) = exp(x) - 2 のグラフ")
# 0 < x < 1 で根を探す
uniroot(f1, c(0,1))
exp

 方程式,exp(x) - 2 = 0,の根は,x = log(2) = 0.6931472,で,ニュートン法による近似解は, x = 0.6931457,であり,四捨五入した値で比較すると,小数第4位まで正確であった.

ニュートン法の R の出力
> uniroot(f1, c(0,1))         #根を探すコマンド 
$root           
[1] 0.6931457         方程式の根 
$f.root       
[1] -2.943424e-06        
$iter        
[1] 5     ニュートン法の反復回数 
$estim.prec     根の有効数字 
[1] 6.103516e-05     正確さの桁数は小数点4位まで 
> log(2)         #Rのコマンド 
[1] 0.6931472     正確な根 

多項式方程式の根

R による方程式の解法のスクリプト
# 2次方程式
# (x + 1)(x + 2) = 2 + 3x + x^2 = 0 の根
polyroot(c(2, 3, 1))
# 3次関数のグラフ
# f(x) = x3 - x2 - 2x + 2,のグラフ(赤色)
curve(2 - 2*x - 1*x^2 + 1*x^3, -2, 2.5, col="red")
# f(x) = x3 - x2 - 2x + 3,のグラフ(黒色)の重ね書き
curve(3 - 2*x - x^2 + x^3, -2, 2.5, add=TRUE)
#水平線と垂直線
abline(h=0)
abline(v=0)
title(main="3次関数のグラフ")
# 3次方程式
# (x^2 - 2)(x - 1) = 2 - 2*x - 1*x^2 + 1*x^3 = 0
# 3つの実数根
polyroot(c(2, -2, -1, 1))
# 3 - 2*x - 1*x^2 + 1*x^3 = 0
# 虚数解もでる.
polyroot(c(3, -2, -1, 1))
3th

多項式方程式の R の出力
> polyroot(c(2, 3, 1))          # 2 + 3x + x^2 = 0 の根 
[1] -1+0i    -2-0i          "0i" なので,実数解,x = -1,-2 である. 
> polyroot(c(2, -2, -1, 1))          # 2 - 2*x - 1*x^2 + 1*x^3 = 0,の根 
[1] 1.000000-0i    -1.414214+0i    1.414214+0i 
         "0i" なので,実数解,x = 1, -1.414214(≒-√2),1.414214,である.
> polyroot(c(3, -2, -1, 1))          # 3 - 2*x - 1*x^2 + 1*x^3 = 0,の根 
[1] 1.273409+0.563821i    -1.546818-0.000000i    1.273409-0.563821i 
         実数解:x = -1.546818,虚数解:x = 1.273409 ± 0.563821i 

 

1.確率分布

離散確率分布

 ある量の集まり P = { p1,…,pn } の中で,
fig1                   (1. 1)
という性質をもつものを離散(discrete)確率分布(probability distribution)という.
 各 pi を確率密度(probability density)という.なお,n は可算無限(自然数と対応づけられる) であるならば離散的である.

離散確率変数

 離散的な変数 X = { x1,…,xn } のおのおのの値に対し,それが 生起する確率 pi が与えられているとき,X を離散確率変数(discrete random variable)という. これは,

表 1 :離散確率変数(n = 5)
 変数 X     x1   x2   x3   x4   x5 
 確率 P     p1  p2  p3  p4  p5

と表せる.

連続型確率分布

 関数 f(x) が,
fig2                   (1. 2)
という性質を持つとき,これを連続型確率分布(continuous distribution)という. また,f(x) を確率密度関数(probability density function)とも呼ぶ.なお,確率密度関数 f(x) が, パラメータ θ を持つとき,f(x;θ) と表記することもある.

連続型確率変数

 連続な変数 X が分布 f(x) をもつとき,連続型確率変数(continuous random variable) もしくは変量(variate)という.本稿では,X 〜 f(x),と表記する.

累積分布関数

 Pr[A] を事象 A が生起する確率とする.連続型確率変数 X に対し,X が x 以下である確率,
fig3                   (1. 3)
で定義される関数 F(x) を累積分布関数(cumulative distribution function)という. この関数を用いると,確率変数 X が区間 (a, b) に落ちる確率は,
fig4                   (1. 4)
で表せる. なお,離散型確率変数でも積分を和に変えることにより,同様に階段型の累積分布関数が定義できる.

2.分布の代表値

平均

 平均(mean)μ は,分布の中心的な位置(location)座標を表す.確率変数 X に対しては, X の期待値(expectation) E[X ] とも表記し,
fig5                   (2. 1)
と定義される.離散確率変数では,積分を総和に変えることにより括弧内のように定義できる.

分散

 分散(variance) σ2 は,分布の拡がり(dispersion)の程度を表す. 確率変数 X に対しては,Var[X ] と表記する. 確率変数 X の関数 (X - μ)2 の期待値でもあり,
fig6
                  (2. 2)
と定義される.
 また,σ を標準偏差(SD : Standard Deviation)といい,平均と同じ次元で分布の拡がりの大きさ を表す量である.

積率母関数

 確率変数 X の関数 exp(tX ) の期待値
fig7                   (2. 3)
を積率母関数(moment generating function)という.積率母関数を t で r 回微分すると,
fig8                    
となるので,t → 0,とすれば,
fig9                   (2. 4)
となり,確率変数 X の r 次の積率(moment)E[X r] が比較的簡単に求まる.

3.統計的独立

独立

 2つの確率変数 X 〜 f(x),Y 〜 g(y) に対し,その同時分布(joint distribution) の密度関数を h(x, y) とする. XY が互いに独立(independent)であるのは,同時分布が h(x, y) = f(x)g(y) と変数分離される 場合である.

独立な確率変数の平均と分散

 2つの独立な確率変数 XY の平均と分散がそれぞれ,
E[X ] = μx,Var[X ] = σx2, E[Y ] = μy,Var[Y ] = σy2
であるとき,
E[X + Y ] = E[X ] + E[Y ] = μx + μy, Var[X + Y ] = Var[X ] + Var[Y ] = σx2 + σy2
E[X - Y ] = E[X ] - E[Y ] = μx - μy, Var[X - Y ] = Var[X ] + Var[Y ] = σx2 + σy2
である.一般に,スカラー a,b に対して
E[aX + bY ] = aE[X ] + bE[Y ] = aμx + bμy, Var[aX + bY ] = a2Var[X ] + b2Var[Y ] = a2σx2 + b2σy2     (3. 1)
である.

無作為標本

 分布 f(x) から大きさ n の標本 X1,…,Xn を抽出した とき,それらが互いに独立であればその同時分布は
fig10                   (3. 2)
と因数分解される.このような標本を無作為標本(random sample)という. また,標本全体を母集団(population) といい,f(x) を母集団分布ともいう.母集団分布の平均や分散などを母集団母数(parameter)という.

大数の法則

 平均が μ である分布をもつ母集団から大きさ n の無作為標本 X1,…,Xn を抽出したときに,

fig11                   (3. 3)
を標本平均(sample mean)という.このとき,標本の大きさ(サンプルサイズ(sample size))n を大きくしていくと, 標本平均 X- は 母集団平均 μ に近づく(確率収束する).すなわち,どんな小さな正の数 ε に対して,
fig12                   (3. 4)
が成り立つ.これを大数の法則(law of large numbers)という.
 大数の法則は,母集団からたくさんの標本を取れば取るほど,より正確に母集団分布についての推論が行える ことを保証している.また,母集団分布に従う乱数が正しく生成できるならば,コンピュータシミュレーション により母集団母数ははぼ正確に求めることができる.さらに,母集団分布に従う乱数で生成される経験分布関数 は,母集団分布関数に近づいていく.

4.1変量分布

4-1.離散分布の例

離散一様分布(discrete uniform distribution)

 N 個のセルがあり,各セルの生起確率が互いに等しく,Pr[X = i] = 1/N である分布.
 平均: E[X ] = (N + 1)/2,分散: Var[X ] = (N2 - 1)/12.
たとえば,サイコロの出る目の分布.

表 2 :離散一様分布
 変数 X     1   2   3   4   5   6 
 確率 P     1/6  1/6  1/6  1/6  1/6  1/6

 

ベルヌイ分布(Bernoulli distribution)

 成功(X = 1)確率が p,失敗(X = 0)確率が q = 1 - p である分布.
   平均: E[X ] = 0・q + 1・p = p, 分散: Var[X ] = E[X2] - (E[X ])2 = 02・q + 12・p - p2 = p(1 - p) = pq

二項分布(binomial distribution)

 独立な n 回のベルヌイ試行を行ったときの成功回数 X の分布.その確率密度は,
fig13                   (4. 1)
である.X 〜 B(n,p) と書くこともある.
m(t) = E[etx] = ΣetxnCx pxqn-x = ΣnCx (pet)xqn-x = (pet + q)n
より,m'(t) = npet(pet + q)n-1, m''(t) = n(n - 1)(pet)2(pet + q)n-2 + npet(pet + q)n-1
平均: E[X ] = m'(0) = np,分散: Var[X ] = m''(0) - (np)2 = n(n - 1)p2 + np - (np)2 = np(1 - p) = npq

幾何分布(geometric distribution)

 成功確率を p とし,0 以上の整数 X に対し,確率密度が,
fig14                   (4. 2)
となる分布.

 下の負の二項分布で n = 1 とおけば,
m(t) = p/(1 - qet),q = 1 - p
E[X ] = q/p = (1 - p)/p,Var[X ] = q/p2 = (1 - p)/p2

 成功確率 p のベルヌイ試行において,最初の成功が起こるまでの失敗の回数の分布. すなわち,離散的時間を考えた場合,初めて成功するまでの待ち時間の分布.

超幾何分布(hypergeometric distribution)

 m 個の白石と n 個の黒石が入った袋から k 個の石を無作為に取り出したとき, 白石の個数 X の従う確率密度は,
fig15                   (4. 3)
で与えられる.
平均:E[X ] = kp,分散:Var[X ] = kp(1 - p)(m + n - k),p = m/(m + n)
hyper

課題:超幾何分布の確率密度は dhyper(x, m, n, k) で与えられる.m = 50,n = 450,k = 50,の ときの上図のような超幾何分布の確率密度のグラフを描け.

ポアソン分布(Poisson distribution)

 正のパラメータ λ と,0 以上の整数 X に対し,確率密度が
fig16                   (4. 4)
となる分布.

poisson

負の二項分布(negative binomial distribution)

 成功確率が p で,正のパラメータ n をもち,0 以上の整数 X に対し,確率密度が
fig17                   (4. 5)
となる分布.Γ関数で確率密度を定義すれば,n は必ずしも整数である必要はない.

negb

 成功率 p のベルヌイ試行において,n 回の成功が起こるまでの失敗の回数の分布で,幾何分布は負の 二項分布で n = 1 とおいたものである.

離散分布あてはめのまとめ

 記事数や虫歯数などのカウントデータに離散分布をあてはめるとき留意する点は,データの平均と分散の大きさ を比較することである.

  
データ適応する分布   平均    分散
  平均>分散     二項分布 np np(1 - p)
  平均≒分散     ポアソン分布 λ λ
  平均<分散     負の二項分布      n(1 - p)/p       n(1 - p)/p2   

4-2.連続型分布の例

一様分布(uniform distribution)

 2 つのパラメータ a,b(a<b)をもつ確率密度関数が
dunif                   (4. 6)
で表される分布.

poisson

課題:単位円内に落ちた乱数の個数から π の近似値を求めよ.また,π の近似の精度を上げて π の近似値を再計算せよ.

β(ベータ)分布(beta distribution)

 2 つの正のパラメータ a,b をもつ確率密度関数が
dbeta       (4. 7)
で表される分布.
beta
であるので,
beta

指数分布(exponential distribution)

 正のパラメータ λ をもつ確率密度関数 f(x) が
dexp                   (4. 8)
で表される分布.
 下のガンマ分布で,a = 1,s = 1/λ,とおいて,
exp

指数分布密度関数の R スクリプト
curve(dexp(x, 1), 0, 10) #指数分布の密度関数 
abline(v=0, h=0) # y 軸,x 軸表示 
title(main="指数分布")# 

Γ(ガンマ)分布(gamma distribution)

 正の形状(シェープ)パラメータ a,正のスケールパラメータ s をもつ確率密度関数が
dgamma                   (4. 9)
で表される分布.形状パラメータが a = 1 で,λ = 1/s とおくと指数分布に一致する.
gamma

コーシー分布(Cauchy distribution)

 位置パラメータ a と正のスケールパラメータ s をもつ確率密度関数 f(x) が
dcaucy                   (4.10)
で表される分布.積率母関数が計算できないので,平均も分散も存在しない.

コーシー分布密度関数の R スクリプト
curve(dcauchy(x), -5, 5) #コーシー分布の密度関数 
abline(v=0, h=0) # y 軸,x 軸表示 
title(main="コーシー分布") # 

正規分布(normal distribution)

 平均 μ,分散 σ2 の2つのパラメータをもつ確率密度関数が
dnorm                   (4.11)
で表される分布で,N(μ,σ2)と表記する.μ は位置パラメータ(location parameter)で, スケールパラメータ σ を標準偏差(standard deviation)という.
dnorm

χ2(カイ2乗)分布(chi-squared distribution)

 正の自由度パラメータ n をもつ確率密度関数が
dchi                   (4.15)
で表される分布.ガンマ(Γ)分布で,シェープパラメータを a = n/2,スケールパラメータを s = 2, とおいた分布.
平均:E[X ] = as = n/2×2 = n,
分散:Var[X ] = as2 = n/2×4 = 2n.

F 分布(F distribution)

 正の2つの自由度パラメータ m,n をもつ確率密度関数が
dfdis                   (4.17)
で表される分布.

t 分布(t distribution)

 正の自由度パラメータ n をもつ確率密度関数が
dtdis                   (4.19)
で表される分布.標準正規分布より裾が重く(x が 0 より離れてもなかなか確率密度が 0 に近づかない), 自由度が小さいほど裾が重くなる. 自由度 n = 1 のときはコーシー分布になり,n = ∞ のときは標準正規分布となる.

参考文献

  1. 工学のためのデータサイエンス入門−フリーな統計環境Rを用いたデータ解析−,間瀬茂ら,2004, 数理工学社
  2. 実践生物統計学−分子から生態まで−(第 1 章,第 2 章), 東京大学生物測定学研究室編(大森宏ら), 2004,朝倉書店
  3. The R Tips データ解析環境 R の基本技・グラフィックス活用集,船尾暢男,2005,九天社
  4. R で学ぶデータマインニング I −データ解析の視点から−,熊谷悦生・船尾暢男,2007,九天社
  5. R で学ぶデータマインニング II −シミュレーションの視点から−,熊谷悦生・船尾暢男,2007,九天社

Copyright (C) 2008, Hiroshi Omori. 最終更新:2008年 6月 4日