【統計】F分布をR言語で実験してみた
前回、カイ二乗分布をR言語で実際に描いてみた。
totech.hateblo.jp
今回はカイ二乗分布とも関連のあるF分布を同じ要領で、Rを使って実際にヒストグラムを描いてみる。
F分布の定義
まずは教科書的なF分布の定義の確認から。
確率変数U, Vがそれぞれ自由度k_u, k_vのカイ二乗分布に従い、かつこれらが独立とする。
このとき、以下のFをフィッシャーの分散比と呼ぶ。
このフィッシャーの分散比Fが従う分布を自由度(k_u, k_v)のF分布と呼ぶ。
F分布のヒストグラム
上の定義に従って、F値を算出するRの関数を以下のように実装する。
まず、算出のために前回と同様にカイ二乗分布に従う値を取得するための関数kai2
を定義する。
そして、それを使って二種類のカイ二乗値をそれぞれの自由度をパラメータとしてF値を算出するf_value
を実装した。
# 標準正規分布から自由度dfの数だけサンプルを抽出し、それらの二乗和を求める kai2 <- function(df) { sum(rnorm(df, mean=0, sd=1)**2) } # F値(2つのカイ二乗値を自由度で割った値の比)を求める f_value <- function(df1, df2) { (kai2(df1) / df1) / (kai2(df2) / df2) }
これを使ってヒストグラム、さらにR標準のF分布の関数をかぶせてみるとグラフは次のようになる。
自由度(10, 20)のF分布
# F分布 df1 <- 10 df2 <- 20 x <- sapply(c(1:10000), function(x) { f_value(df1, df2) } ) hist(x, freq=FALSE, breaks=30, main="F分布" ) curve(df(x, df1, df2), add=TRUE)
一致していることが分かる!
※読んでいる本
- 作者: 西内啓
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2014/11/04
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
- 作者: 東京大学教養学部統計学教室
- 出版社/メーカー: 東京大学出版会
- 発売日: 1991/07/09
- メディア: 単行本
- 購入: 158人 クリック: 3,604回
- この商品を含むブログ (82件) を見る
関連記事