SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Rによる「カイ二乗検定」(1)
大國 晃
1
導入:「カイ二乗検定」とは(1)
• 「カイ二乗検定、またはχ2検定とは、帰無仮説
が正しければ検定統計量がカイ二乗分布に従
うような統計学的検定法の総称である。」
(Wikipedia より)
• 簡単には、
「検定統計量がカイ二乗分布に(近似的に)従う
ことを利用した統計的検定(※)の総称」
と言ってよい
• ※以下では単に「検定」と表現
2
導入:「カイ二乗検定」とは(2)
• 「検定統計量がカイ二乗分布に従うことを利用した検定」の例
– 最も基本的なもの(→後述)
• 適合度の検定
• 独立性の検定 (←分割表の解析)
– カテゴリカルデータの解析 (・・・カイ二乗使うこと多い)
• コクラン・マンテル・ヘンツェル(CMH)検定、マクネマー検定、・・・
– 生存時間解析
• ログランク検定、一般化ウィルコクソン検定、・・・
– 一般化線形モデル (・・・ロジスティックとかポアソンとか)
• ワルド検定、尤度比検定、スコア検定、・・・
– いわゆるノンパラメトリック検定各種
• クラスカル・ウォリス検定、フリードマン検定、・・・
3
導入:「カイ二乗検定」とは(3)
• R でいろいろな「カイ二乗検定」を実行してみる
– 最も基本的なもの
• 適合度の検定
• 独立性の検定(分割表の解析)
– その他(→別資料で)
• クラスカル・ウォリス検定(分布の位置の群間比較)
• ログランク検定(生存関数の群間比較)
本資料ではこの二つを取り上げる
東京大学教養学部統計学教室編(1991)
『統計学入門』, 東京大学出版会
(↑参考文献[1]) の第12章より
4
適合度の検定
5
R による「カイ二乗検定」の実行例:
適合度の検定(1/6)
• 適合度の検定
– 本文p.245より
「仮定された理論上の確率分布に対して、標本から
求められた度数が適合するかどうか否かを検証す
るのが、適合度のカイ二乗検定 χ2 - test of
goodness of fit である。」
– 表12.5;
メンデルのエンドウ豆データ
6
R による「カイ二乗検定」の実行例:
適合度の検定(2/6)
• 適合度の検定
– 注意(※念のため)
• 帰無仮説:「各特質を持ったエンドウ豆の個数が理論分
布に適合している」
• 得たい結果
– “理論分布に適合している”こと
or
– “理論分布に適合していないとは言えない”こと
• つまり、“帰無仮説が棄却されない”ことを期待している点
に注意が必要
– 適合度の検定が行われる場合はこうしたケースが多い
– そうではない、帰無仮説を棄却する“より普通の検定”のケースも
たまにある
7
R による「カイ二乗検定」の実行例:
適合度の検定(3/6)
• 適合度の検定:スクリプト全文
#=====================================================
# 適合度の検定
#=====================================================
#元データの作成(表12.5;メンデルのエンドウ豆データ)
o.num <- c( 315, 101, 108, 32) #観測度数
th.prob <- c(9/16, 3/16, 3/16, 1/16) #理論確率
#理論度数(あるいは期待度数 Expected frequency)
(e.num <- sum(o.num) * th.prob)
#観測度数と期待度数の差
(oe.gap <- o.num - e.num)
#表(データ・フレーム)を作成してデータを確認
(tbl.0 <- data.frame(o.num, th.prob, e.num, oe.gap))
colnames(tbl.0) <- c("観測度数", "確率", "期待度数", "両度数の差")
col.sum <- colSums(tbl.0)
tbl.12.5 <- rbind(tbl.0, col.sum)
rownames(tbl.12.5) <- c("黄・丸い", "黄・しわ", "緑・丸い", "緑・しわ", "計")
tbl.12.5
#適合度の検定統計量の各要素の計算
# (chsq0 <- oe.gap^2 / e.num)と同じだが、
# 原理の理解のためには下記の式の方が分かりやすい。
(chsq0 <- (o.num - e.num)^2 / e.num)
#適合度の検定統計量(カイ二乗値)の算出
(chisq1 <- sum(chsq0))
#カイ二乗検定の実行
pchisq(chisq1, length(chsq0) - 1, lower.tail = F)
(1)データの作成
(2)見やすさのための整形
※検定の実行には関係ない
(3)検定の実行
8
R による「カイ二乗検定」の実行例:
適合度の検定(4/6)
• 適合度の検定:(1)データの作成
– 帰無仮説:
「各特質を持ったエンドウ豆の個数が理論分布に適合している」
• 各特質 ・・・ 黄・丸い, 黄・しわ, 緑・丸い, 緑・しわ
• 理論分布 ・・・ 9/16, 3/16, 3/16, 1/16
> #元データの作成(表12.5;メンデルのエンドウ豆データ)
> o.num <- c( 315, 101, 108, 32) #観測度数
> th.prob <- c(9/16, 3/16, 3/16, 1/16) #理論確率
>
> #理論度数(あるいは期待度数 Expected frequency)
> (e.num <- sum(o.num) * th.prob)
[1] 312.75 104.25 104.25 34.75
>
> #観測度数と期待度数の差
> (oe.gap <- o.num - e.num)
[1] 2.25 -3.25 3.75 -2.75
期待度数の算出
→全体のデータ件数×各要素の理論確率
◆コンソールへの出力
9
R による「カイ二乗検定」の実行例:
適合度の検定(5/6)
• 適合度の検定:(2)見やすさのための整形
> #表(データ・フレーム)を作成してデータを確認
> (tbl.0 <- data.frame(o.num, th.prob, e.num, oe.gap))
o.num th.prob e.num oe.gap
1 315 0.5625 312.75 2.25
2 101 0.1875 104.25 -3.25
3 108 0.1875 104.25 3.75
4 32 0.0625 34.75 -2.75
> colnames(tbl.0) <- c("観測度数", "確率", "期待度数", "両度数の差")
> col.sum <- colSums(tbl.0)
> tbl.12.5 <- rbind(tbl.0, col.sum)
> rownames(tbl.12.5) <- c("黄・丸い", "黄・しわ", "緑・丸い", "緑・しわ", "計")
> tbl.12.5
観測度数 確率 期待度数 両度数の差
黄・丸い 315 0.5625 312.75 2.25
黄・しわ 101 0.1875 104.25 -3.25
緑・丸い 108 0.1875 104.25 3.75
緑・しわ 32 0.0625 34.75 -2.75
計 556 1.0000 556.00 0.00
◆コンソールへの出力
個別に作成していたベクトルを
まとめてデータ・フレームとする
表形式にして見やすくするため
(だけ)に行っている
テキストの「表12.5」と同じ内容
行と列は入れ替えている
10
R による「カイ二乗検定」の実行例:
適合度の検定(6/6)
• 適合度の検定:(3)検定の実行
> #適合度の検定統計量の各要素の計算
> # (chsq0 <- oe.gap^2 / e.num)と同じだが、
> # 原理の理解のためには下記の式の方が分かりやすい。
> (chsq0 <- (o.num - e.num)^2 / e.num)
[1] 0.01618705 0.10131894 0.13489209 0.21762590
>
> #適合度の検定統計量(カイ二乗値)の算出
> (chisq1 <- sum(chsq0))
[1] 0.470024
>
> #カイ二乗検定の実行
> pchisq(chisq1, length(chsq0) - 1, lower.tail = F)
[1] 0.9254259
◆コンソールへの出力
「(観測 - 期待)^2
/ 期待」を要素ごと
に計算
pchisq(検定統計量, 自由度)
• 検定統計量に基づくp値の算出
• 自由度→ここでは“区分数 - 1”となる
• “lower.tail = F” ・・・ 上側確率の指定
要素ごとに算出された「(観測 - 期待)^2 / 期待」
を合計
⇒検定統計量であるカイ二乗値となる
「理論分布に適合している」という
帰無仮説は棄却されない
⇒“理論に適合”(望みどおり)
11
独立性の検定
12
R による「カイ二乗検定」の実行例:
独立性の検定(1/10)
• 独立性の検定
– 分割表(クロス集計表)の解析の基本の“キ”
• 二つの変数の間に関連があるか?
二つの変数が独立かどうか?
• “二群の割合(比率)の差の検定”と同義
– 表12.9;ある大学の工学部の期末試験の成績
– 注意点
– 注意点1:
非常に小さい標本の場合は、検定結果はやや疑わしくなる
– 注意点2:
大標本の場合、単に検定を行うだけではほとんど意味が無い
– 注意点3:
順序のあるカテゴリの場合は、より適切な検定方法を採ることで検出力
が向上する
13
R による「カイ二乗検定」の実行例:
独立性の検定(2/10)
• 独立性の検定:スクリプト全文(方法1)
#===============================================
# 分割表と独立性の検定
#===============================================
#元データの作成(表12.9;ある大学の工学部の期末試験の成績)
(mat0 <- matrix(c(4, 2, 3, 8, 4, 6, 6, 3, 6),
nrow = 3, ncol = 3, byrow = T))
mat.12.9 <- addmargins(mat0)
rownames(mat.12.9) <- c("代数:優", "代数:良", "代数:可", "計")
colnames(mat.12.9) <- c("解析:優", "解析:良", "解析:可", "計")
mat.12.9
#----------
#方法1:
#関数「chisq.test」を利用して「カイ二乗検定」(独立性の検定)を実行
#----------
#(頻度が5以下のセルがあるため、Warning message が出力される)
chi.out <- chisq.test(mat0)
str(chi.out)
(1)データの作成
(2)「chisq.test」
による検定の実行
14
R による「カイ二乗検定」の実行例:
独立性の検定(3/10)
• 独立性の検定:スクリプト全文(方法2)
#----------
#方法2:
#一つ一つ計算して「カイ二乗検定」を実行
#----------
#周辺確率分布の算出
(all.sum <- sum(mat0))
(p.row <- apply(mat0, 1, function(r, sum = all.sum){sum(r) / sum}))
(p.col <- apply(mat0, 2, function(c, sum = all.sum){sum(c) / sum}))
#期待度数の算出(期待度数=全体のケース数と周辺確率の積)
(e.mat0 <- sum(mat0) * p.row %*% t(p.col))
#カイ二乗検定の実行
(chisq.mat0 <- (mat0 - e.mat0)^2 / e.mat0) #検定統計量の各要素の計算
(chisq2 <- sum(chisq.mat0)) #上記を全てのセルで足し合わせる
(DF <- (nrow(mat0) - 1) * (ncol(mat0) - 1)) #自由度 = (行数 - 1) * (列数 - 1)
pchisq(chisq2, DF, lower.tail = F)
#おまけ(残差分析:調整済み標準化残差の算出)
(r.std <- (mat0 - e.mat0) / sqrt(e.mat0)) #標準化残差(残差)
r.var <- (1 - p.row) %*% t(1 - p.col) #残差分散
(r.std.adj <- (mat0 - e.mat0) / sqrt(e.mat0 * r.var)) #調整済み標準化残差(標準化残差)
15
R による「カイ二乗検定」の実行例:
独立性の検定(4/10)
• 独立性の検定:(1)データの作成
– 表12.9;ある大学の工学部の期末試験の成績
– 帰無仮説:
「代数の成績と解析の成績には関連があるか/独立か?」
「代数の成績が良い(悪い)と解析の成績も良い(悪い)と言えるか?」
> #================================================================
> # 分割表と独立性の検定
> #================================================================
> #元データの作成(表12.9;ある大学の工学部の期末試験の成績)
> (mat0 <- matrix(c(4, 2, 3, 8, 4, 6, 6, 3, 6),
+ nrow = 3, ncol = 3, byrow = T))
[,1] [,2] [,3]
[1,] 4 2 3
[2,] 8 4 6
[3,] 6 3 6
◆コンソールへの出力
16
R による「カイ二乗検定」の実行例:
独立性の検定(5/10)
• 独立性の検定:(1)データの作成
– 表12.9;ある大学の工学部の期末試験の成績
– 帰無仮説:
「代数の成績と解析の成績には関連があるか/独立か?」
「代数の成績が良い(悪い)と解析の成績も良い(悪い)と言えるか?」
> mat.12.9 <- addmargins(mat0)
> rownames(mat.12.9) <- c("代数:優", "代数:良", "代数:可", "計")
> colnames(mat.12.9) <- c("解析:優", "解析:良", "解析:可", "計")
> mat.12.9
解析:優 解析:良 解析:可 計
代数:優 4 2 3 9
代数:良 8 4 6 18
代数:可 6 3 6 15
計 18 9 15 42
◆コンソールへの出力
17
R による「カイ二乗検定」の実行例:
独立性の検定(6/10)
• 独立性の検定:(2)「chisq.test」による検定の実行
– 頻度が5以下のセルがある場合、Warning message が出力
される
→注意点1参照
> #----------
> #方法1:
> #関数「chisq.test」を利用して「カイ二乗検定」(独立性の検定)を実行
> #----------
> #(頻度が5以下のセルがあるため、Warning message が出力される)
> chi.out <- chisq.test(mat0)
Warning message:
In chisq.test(mat0) : Chi-squared approximation may be incorrect
◆コンソールへの出力
18
R による「カイ二乗検定」の実行例:
独立性の検定(7/10)
• 独立性の検定:(2)「chisq.test」による検定の実行
> str(chi.out)
List of 9
$ statistic: Named num 0.187
..- attr(*, "names")= chr "X-squared"
$ parameter: Named int 4
..- attr(*, "names")= chr "df"
$ p.value : num 0.996
$ method : chr "Pearson's Chi-squared test"
$ data.name: chr "mat0"
$ observed : num [1:3, 1:3] 4 8 6 2 4 3 3 6 6
$ expected : num [1:3, 1:3] 3.86 7.71 6.43 1.93 3.86 ...
$ residuals: num [1:3, 1:3] 0.0727 0.1029 -0.169 0.0514 0.0727 ...
$ stdres : num [1:3, 1:3] 0.1086 0.18 -0.2789 0.0655 0.1086 ...
- attr(*, "class")= chr "htest"
◆コンソールへの出力 「chisq.test」の出力内容
(リスト)の内容を確認
→右記参照
★主な出力内容
•statistics:
• カイ二乗統計量
(※名前付き)
•parameter
• 自由度(※名前付き)
•p.value
• p値
•observed
• 観測度数
•expected
• 期待度数
•residuals
• 標準化残差
(or 残差)
•stdres
• 調整済み標準化残差
(or 標準化残差)
19
R による「カイ二乗検定」の実行例:
独立性の検定(8/10)
• 独立性の検定:(3)方法2(期待度数の算出)
> #----------
> #方法2:
> #一つ一つ計算して「カイ二乗検定」を実行
> #----------
> #周辺確率分布の算出
> (all.sum <- sum(mat0))
[1] 42
> (p.row <- apply(mat0, 1, function(r, sum = all.sum){sum(r) / sum}))
[1] 0.2142857 0.4285714 0.3571429
> (p.col <- apply(mat0, 2, function(c, sum = all.sum){sum(c) / sum}))
[1] 0.4285714 0.2142857 0.3571429
>
> #期待度数の算出(期待度数=全体のケース数と周辺確率の積)
> (e.mat0 <- sum(mat0) * p.row %*% t(p.col))
[,1] [,2] [,3]
[1,] 3.857143 1.928571 3.214286
[2,] 7.714286 3.857143 6.428571
[3,] 6.428571 3.214286 5.357143
◆コンソールへの出力
行方向の周辺確率分布
(=行和/総ケース数)
列方向の周辺確率分布
(=列和/総ケース数)
20
R による「カイ二乗検定」の実行例:
独立性の検定(9/10)
• 独立性の検定:(3)方法2(「カイ二乗検定」の実行)
> #「カイ二乗検定」の実行
> (chisq.mat0 <- (mat0 - e.mat0)^2 / e.mat0) #検定統計量の各要素の計算
[,1] [,2] [,3]
[1,] 0.005291005 0.002645503 0.01428571
[2,] 0.010582011 0.005291005 0.02857143
[3,] 0.028571429 0.014285714 0.07714286
> (chisq2 <- sum(chisq.mat0)) #上記を全てのセルで足し合わせる
[1] 0.1866667
> (DF <- (nrow(mat0) - 1) * (ncol(mat0) - 1)) #自由度 = (行数 - 1) * (列数 - 1)
[1] 4
> pchisq(chisq2, DF, lower.tail = F)
[1] 0.9959062
◆コンソールへの出力
「代数の成績と解析の成績には関連があるか/独立か?」
「代数の成績が良い(悪い)と解析の成績も良い(悪い)と言えるか?」
という帰無仮説は棄却されない
⇒「代数の成績が良く(悪く)ても、必ずしも解析の成績も良い(悪い)わけではない」
(むしろ、この二つには全く関連が無く“独立”だという可能性が高い数値)
⇒独立性の検定においては、通常は“望みどおりではない”
(※この調査ではどうだったかは分からない)
21
R による「カイ二乗検定」の実行例:
独立性の検定(10/10)
• 独立性の検定:(3)方法2(おまけ・・・残差分析)
> #おまけ(残差分析:調整済み標準化残差の算出)
> (r.std <- (mat0 - e.mat0) / sqrt(e.mat0)) #標準化残差(残差)
[,1] [,2] [,3]
[1,] 0.0727393 0.05143445 -0.1195229
[2,] 0.1028689 0.07273930 -0.1690309
[3,] -0.1690309 -0.11952286 0.2777460
> r.var <- (1 - p.row) %*% t(1 - p.col) #残差分散
> (r.std.adj <- (mat0 - e.mat0) / sqrt(e.mat0 * r.var)) #調整済み標準化残差(標準化残差)
[,1] [,2] [,3]
[1,] 0.1085565 0.06546203 -0.1681750
[2,] 0.1800206 0.10855649 -0.2788867
[3,] -0.2788867 -0.16817499 0.4320494
◆コンソールへの出力
「chisq.test」では
「residuals」として出力
「chisq.test」では
「stdres」として出力
(二つの変数間に連関がある/独立であるという前提で、)「調整済み標準化残差」による
分析(残差分析)により、 “どのカテゴリー間にどの程度の連関があるのか”が分かる
「二つの変数は連関がある/独立でない」という結論が得られていない(→帰無仮説が
棄却されていない)場合は、上記の残差分析は意味が無い
参考文献[2]等参照
22
参考文献
[1]東京大学教養学部統計学教室編(1991),
『統計学入門』, 東京大学出版会
[2]Agresti, A.(1996), An Introduction to
Categorical Data Analysis, John Wiley &
Sons (渡邉ら訳(2003), 『カテゴリカルデータ
解析入門』, サイエンティスト社)
[3]芝・南風原(1990), 『行動科学における統計解
析法』, 東京大学出版会

Mais conteúdo relacionado

Mais procurados

転置インデックスとTop k-query
転置インデックスとTop k-query転置インデックスとTop k-query
転置インデックスとTop k-query正志 坪坂
 
距離と分類の話
距離と分類の話距離と分類の話
距離と分類の話考司 小杉
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告Masaru Tokuoka
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 
多重代入法(Multiple Imputation)の発表資料
多重代入法(Multiple Imputation)の発表資料多重代入法(Multiple Imputation)の発表資料
多重代入法(Multiple Imputation)の発表資料Tomoshige Nakamura
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデルYohei Sato
 
データ解析10 因子分析の基礎
データ解析10 因子分析の基礎データ解析10 因子分析の基礎
データ解析10 因子分析の基礎Hirotaka Hachiya
 
Rによる決定木解析の一例
Rによる決定木解析の一例Rによる決定木解析の一例
Rによる決定木解析の一例LINE Corp.
 
条件付き確率場の推論と学習
条件付き確率場の推論と学習条件付き確率場の推論と学習
条件付き確率場の推論と学習Masaki Saito
 
カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知弘毅 露崎
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれHiroshi Shimizu
 
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~. .
 
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMCベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC基晴 出井
 
潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法y-uti
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成Prunus 1350
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森Masashi Komori
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02akira_11
 

Mais procurados (20)

転置インデックスとTop k-query
転置インデックスとTop k-query転置インデックスとTop k-query
転置インデックスとTop k-query
 
距離と分類の話
距離と分類の話距離と分類の話
距離と分類の話
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
多重代入法(Multiple Imputation)の発表資料
多重代入法(Multiple Imputation)の発表資料多重代入法(Multiple Imputation)の発表資料
多重代入法(Multiple Imputation)の発表資料
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
 
潜在クラス分析
潜在クラス分析潜在クラス分析
潜在クラス分析
 
データ解析10 因子分析の基礎
データ解析10 因子分析の基礎データ解析10 因子分析の基礎
データ解析10 因子分析の基礎
 
Gephi Quick Start (Japanese)
Gephi Quick Start (Japanese)Gephi Quick Start (Japanese)
Gephi Quick Start (Japanese)
 
Rによる決定木解析の一例
Rによる決定木解析の一例Rによる決定木解析の一例
Rによる決定木解析の一例
 
条件付き確率場の推論と学習
条件付き確率場の推論と学習条件付き確率場の推論と学習
条件付き確率場の推論と学習
 
Tokyo r53
Tokyo r53Tokyo r53
Tokyo r53
 
カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
 
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
 
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMCベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
ベイズ推定でパラメータリスクを捉える&優れたサンプラーとしてのMCMC
 
潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02
 

Destaque

統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定Satoshi Nagayasu
 
ICML2013読み会 開会宣言
ICML2013読み会 開会宣言ICML2013読み会 開会宣言
ICML2013読み会 開会宣言Shohei Hido
 
(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方Shohei Hido
 
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説akira_11
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01akira_11
 
ビッグデータはどこまで効率化できるか?
ビッグデータはどこまで効率化できるか?ビッグデータはどこまで効率化できるか?
ビッグデータはどこまで効率化できるか?Shohei Hido
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Yohei Sato
 
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知Ken'ichi Matsui
 
Chainer GTC 2016
Chainer GTC 2016Chainer GTC 2016
Chainer GTC 2016Shohei Hido
 
さらば!データサイエンティスト
さらば!データサイエンティストさらば!データサイエンティスト
さらば!データサイエンティストShohei Hido
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoShohei Hido
 
NIPS2015概要資料
NIPS2015概要資料NIPS2015概要資料
NIPS2015概要資料Shohei Hido
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Shohei Hido
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方Shohei Hido
 
機械学習を用いた異常検知入門
機械学習を用いた異常検知入門機械学習を用いた異常検知入門
機械学習を用いた異常検知入門michiaki ito
 
How AI revolutionizes robotics and automotive industries
How AI revolutionizes robotics and automotive industriesHow AI revolutionizes robotics and automotive industries
How AI revolutionizes robotics and automotive industriesShohei Hido
 
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFAShohei Hido
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」Shohei Hido
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門Yohei Sato
 
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてエクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてHiroshi Shimizu
 

Destaque (20)

統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定
 
ICML2013読み会 開会宣言
ICML2013読み会 開会宣言ICML2013読み会 開会宣言
ICML2013読み会 開会宣言
 
(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方
 
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
 
ビッグデータはどこまで効率化できるか?
ビッグデータはどこまで効率化できるか?ビッグデータはどこまで効率化できるか?
ビッグデータはどこまで効率化できるか?
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門
 
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知
 
Chainer GTC 2016
Chainer GTC 2016Chainer GTC 2016
Chainer GTC 2016
 
さらば!データサイエンティスト
さらば!データサイエンティストさらば!データサイエンティスト
さらば!データサイエンティスト
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
 
NIPS2015概要資料
NIPS2015概要資料NIPS2015概要資料
NIPS2015概要資料
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方
 
機械学習を用いた異常検知入門
機械学習を用いた異常検知入門機械学習を用いた異常検知入門
機械学習を用いた異常検知入門
 
How AI revolutionizes robotics and automotive industries
How AI revolutionizes robotics and automotive industriesHow AI revolutionizes robotics and automotive industries
How AI revolutionizes robotics and automotive industries
 
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
機械学習モデルフォーマットの話:さようならPMML、こんにちはPFA
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
 
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてエクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについて
 

Semelhante a Chisq 01

第1回R勉強会@東京
第1回R勉強会@東京第1回R勉強会@東京
第1回R勉強会@東京Yohei Sato
 
2011年11月11日
2011年11月11日2011年11月11日
2011年11月11日nukaemon
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)Yoshitake Takebayashi
 
カテゴリカルデータの解析 (Kashiwa.R#3)
カテゴリカルデータの解析 (Kashiwa.R#3)カテゴリカルデータの解析 (Kashiwa.R#3)
カテゴリカルデータの解析 (Kashiwa.R#3)Takumi Tsutaya
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則koba cky
 
K030 appstat201203 2variable
K030 appstat201203 2variableK030 appstat201203 2variable
K030 appstat201203 2variablet2tarumi
 
Yamadai.Rデモンストレーションセッション
Yamadai.RデモンストレーションセッションYamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション考司 小杉
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRDaisuke Yoneoka
 
Rで実験計画法 前編
Rで実験計画法 前編Rで実験計画法 前編
Rで実験計画法 前編itoyan110
 
Rm20140702 11key
Rm20140702 11keyRm20140702 11key
Rm20140702 11keyyouwatari
 
みどりぼん読書会 第4章
みどりぼん読書会 第4章みどりぼん読書会 第4章
みどりぼん読書会 第4章Masanori Takano
 
2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライド2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライドMizumoto Atsushi
 
Analyze by StatsModels or Numpy
Analyze by StatsModels or NumpyAnalyze by StatsModels or Numpy
Analyze by StatsModels or NumpyToshiki NOGUCHI
 
テーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdfテーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdfTakuya Kubo
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Yohei Sato
 

Semelhante a Chisq 01 (20)

第1回R勉強会@東京
第1回R勉強会@東京第1回R勉強会@東京
第1回R勉強会@東京
 
2011年11月11日
2011年11月11日2011年11月11日
2011年11月11日
 
実践データ分析基礎
実践データ分析基礎実践データ分析基礎
実践データ分析基礎
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
 
アンケートデータ集計・分析のためのExcel
アンケートデータ集計・分析のためのExcelアンケートデータ集計・分析のためのExcel
アンケートデータ集計・分析のためのExcel
 
カテゴリカルデータの解析 (Kashiwa.R#3)
カテゴリカルデータの解析 (Kashiwa.R#3)カテゴリカルデータの解析 (Kashiwa.R#3)
カテゴリカルデータの解析 (Kashiwa.R#3)
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則
 
K030 appstat201203 2variable
K030 appstat201203 2variableK030 appstat201203 2variable
K030 appstat201203 2variable
 
Yamadai.Rデモンストレーションセッション
Yamadai.RデモンストレーションセッションYamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
 
Rで実験計画法 前編
Rで実験計画法 前編Rで実験計画法 前編
Rで実験計画法 前編
 
Rm20140702 11key
Rm20140702 11keyRm20140702 11key
Rm20140702 11key
 
第2回DARM勉強会
第2回DARM勉強会第2回DARM勉強会
第2回DARM勉強会
 
みどりぼん読書会 第4章
みどりぼん読書会 第4章みどりぼん読書会 第4章
みどりぼん読書会 第4章
 
2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライド2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライド
 
Analyze by StatsModels or Numpy
Analyze by StatsModels or NumpyAnalyze by StatsModels or Numpy
Analyze by StatsModels or Numpy
 
テーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdfテーマ別勉強会(R言語)#2.pdf
テーマ別勉強会(R言語)#2.pdf
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
 
JASELE2015-KumamotoWS
JASELE2015-KumamotoWSJASELE2015-KumamotoWS
JASELE2015-KumamotoWS
 
Rで学ぶロバスト推定
Rで学ぶロバスト推定Rで学ぶロバスト推定
Rで学ぶロバスト推定
 

Último

東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラムKochi Eng Camp
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~Kochi Eng Camp
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料Tokyo Institute of Technology
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 

Último (6)

東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 

Chisq 01

  • 2. 1 導入:「カイ二乗検定」とは(1) • 「カイ二乗検定、またはχ2検定とは、帰無仮説 が正しければ検定統計量がカイ二乗分布に従 うような統計学的検定法の総称である。」 (Wikipedia より) • 簡単には、 「検定統計量がカイ二乗分布に(近似的に)従う ことを利用した統計的検定(※)の総称」 と言ってよい • ※以下では単に「検定」と表現
  • 3. 2 導入:「カイ二乗検定」とは(2) • 「検定統計量がカイ二乗分布に従うことを利用した検定」の例 – 最も基本的なもの(→後述) • 適合度の検定 • 独立性の検定 (←分割表の解析) – カテゴリカルデータの解析 (・・・カイ二乗使うこと多い) • コクラン・マンテル・ヘンツェル(CMH)検定、マクネマー検定、・・・ – 生存時間解析 • ログランク検定、一般化ウィルコクソン検定、・・・ – 一般化線形モデル (・・・ロジスティックとかポアソンとか) • ワルド検定、尤度比検定、スコア検定、・・・ – いわゆるノンパラメトリック検定各種 • クラスカル・ウォリス検定、フリードマン検定、・・・
  • 4. 3 導入:「カイ二乗検定」とは(3) • R でいろいろな「カイ二乗検定」を実行してみる – 最も基本的なもの • 適合度の検定 • 独立性の検定(分割表の解析) – その他(→別資料で) • クラスカル・ウォリス検定(分布の位置の群間比較) • ログランク検定(生存関数の群間比較) 本資料ではこの二つを取り上げる 東京大学教養学部統計学教室編(1991) 『統計学入門』, 東京大学出版会 (↑参考文献[1]) の第12章より
  • 6. 5 R による「カイ二乗検定」の実行例: 適合度の検定(1/6) • 適合度の検定 – 本文p.245より 「仮定された理論上の確率分布に対して、標本から 求められた度数が適合するかどうか否かを検証す るのが、適合度のカイ二乗検定 χ2 - test of goodness of fit である。」 – 表12.5; メンデルのエンドウ豆データ
  • 7. 6 R による「カイ二乗検定」の実行例: 適合度の検定(2/6) • 適合度の検定 – 注意(※念のため) • 帰無仮説:「各特質を持ったエンドウ豆の個数が理論分 布に適合している」 • 得たい結果 – “理論分布に適合している”こと or – “理論分布に適合していないとは言えない”こと • つまり、“帰無仮説が棄却されない”ことを期待している点 に注意が必要 – 適合度の検定が行われる場合はこうしたケースが多い – そうではない、帰無仮説を棄却する“より普通の検定”のケースも たまにある
  • 8. 7 R による「カイ二乗検定」の実行例: 適合度の検定(3/6) • 適合度の検定:スクリプト全文 #===================================================== # 適合度の検定 #===================================================== #元データの作成(表12.5;メンデルのエンドウ豆データ) o.num <- c( 315, 101, 108, 32) #観測度数 th.prob <- c(9/16, 3/16, 3/16, 1/16) #理論確率 #理論度数(あるいは期待度数 Expected frequency) (e.num <- sum(o.num) * th.prob) #観測度数と期待度数の差 (oe.gap <- o.num - e.num) #表(データ・フレーム)を作成してデータを確認 (tbl.0 <- data.frame(o.num, th.prob, e.num, oe.gap)) colnames(tbl.0) <- c("観測度数", "確率", "期待度数", "両度数の差") col.sum <- colSums(tbl.0) tbl.12.5 <- rbind(tbl.0, col.sum) rownames(tbl.12.5) <- c("黄・丸い", "黄・しわ", "緑・丸い", "緑・しわ", "計") tbl.12.5 #適合度の検定統計量の各要素の計算 # (chsq0 <- oe.gap^2 / e.num)と同じだが、 # 原理の理解のためには下記の式の方が分かりやすい。 (chsq0 <- (o.num - e.num)^2 / e.num) #適合度の検定統計量(カイ二乗値)の算出 (chisq1 <- sum(chsq0)) #カイ二乗検定の実行 pchisq(chisq1, length(chsq0) - 1, lower.tail = F) (1)データの作成 (2)見やすさのための整形 ※検定の実行には関係ない (3)検定の実行
  • 9. 8 R による「カイ二乗検定」の実行例: 適合度の検定(4/6) • 適合度の検定:(1)データの作成 – 帰無仮説: 「各特質を持ったエンドウ豆の個数が理論分布に適合している」 • 各特質 ・・・ 黄・丸い, 黄・しわ, 緑・丸い, 緑・しわ • 理論分布 ・・・ 9/16, 3/16, 3/16, 1/16 > #元データの作成(表12.5;メンデルのエンドウ豆データ) > o.num <- c( 315, 101, 108, 32) #観測度数 > th.prob <- c(9/16, 3/16, 3/16, 1/16) #理論確率 > > #理論度数(あるいは期待度数 Expected frequency) > (e.num <- sum(o.num) * th.prob) [1] 312.75 104.25 104.25 34.75 > > #観測度数と期待度数の差 > (oe.gap <- o.num - e.num) [1] 2.25 -3.25 3.75 -2.75 期待度数の算出 →全体のデータ件数×各要素の理論確率 ◆コンソールへの出力
  • 10. 9 R による「カイ二乗検定」の実行例: 適合度の検定(5/6) • 適合度の検定:(2)見やすさのための整形 > #表(データ・フレーム)を作成してデータを確認 > (tbl.0 <- data.frame(o.num, th.prob, e.num, oe.gap)) o.num th.prob e.num oe.gap 1 315 0.5625 312.75 2.25 2 101 0.1875 104.25 -3.25 3 108 0.1875 104.25 3.75 4 32 0.0625 34.75 -2.75 > colnames(tbl.0) <- c("観測度数", "確率", "期待度数", "両度数の差") > col.sum <- colSums(tbl.0) > tbl.12.5 <- rbind(tbl.0, col.sum) > rownames(tbl.12.5) <- c("黄・丸い", "黄・しわ", "緑・丸い", "緑・しわ", "計") > tbl.12.5 観測度数 確率 期待度数 両度数の差 黄・丸い 315 0.5625 312.75 2.25 黄・しわ 101 0.1875 104.25 -3.25 緑・丸い 108 0.1875 104.25 3.75 緑・しわ 32 0.0625 34.75 -2.75 計 556 1.0000 556.00 0.00 ◆コンソールへの出力 個別に作成していたベクトルを まとめてデータ・フレームとする 表形式にして見やすくするため (だけ)に行っている テキストの「表12.5」と同じ内容 行と列は入れ替えている
  • 11. 10 R による「カイ二乗検定」の実行例: 適合度の検定(6/6) • 適合度の検定:(3)検定の実行 > #適合度の検定統計量の各要素の計算 > # (chsq0 <- oe.gap^2 / e.num)と同じだが、 > # 原理の理解のためには下記の式の方が分かりやすい。 > (chsq0 <- (o.num - e.num)^2 / e.num) [1] 0.01618705 0.10131894 0.13489209 0.21762590 > > #適合度の検定統計量(カイ二乗値)の算出 > (chisq1 <- sum(chsq0)) [1] 0.470024 > > #カイ二乗検定の実行 > pchisq(chisq1, length(chsq0) - 1, lower.tail = F) [1] 0.9254259 ◆コンソールへの出力 「(観測 - 期待)^2 / 期待」を要素ごと に計算 pchisq(検定統計量, 自由度) • 検定統計量に基づくp値の算出 • 自由度→ここでは“区分数 - 1”となる • “lower.tail = F” ・・・ 上側確率の指定 要素ごとに算出された「(観測 - 期待)^2 / 期待」 を合計 ⇒検定統計量であるカイ二乗値となる 「理論分布に適合している」という 帰無仮説は棄却されない ⇒“理論に適合”(望みどおり)
  • 13. 12 R による「カイ二乗検定」の実行例: 独立性の検定(1/10) • 独立性の検定 – 分割表(クロス集計表)の解析の基本の“キ” • 二つの変数の間に関連があるか? 二つの変数が独立かどうか? • “二群の割合(比率)の差の検定”と同義 – 表12.9;ある大学の工学部の期末試験の成績 – 注意点 – 注意点1: 非常に小さい標本の場合は、検定結果はやや疑わしくなる – 注意点2: 大標本の場合、単に検定を行うだけではほとんど意味が無い – 注意点3: 順序のあるカテゴリの場合は、より適切な検定方法を採ることで検出力 が向上する
  • 14. 13 R による「カイ二乗検定」の実行例: 独立性の検定(2/10) • 独立性の検定:スクリプト全文(方法1) #=============================================== # 分割表と独立性の検定 #=============================================== #元データの作成(表12.9;ある大学の工学部の期末試験の成績) (mat0 <- matrix(c(4, 2, 3, 8, 4, 6, 6, 3, 6), nrow = 3, ncol = 3, byrow = T)) mat.12.9 <- addmargins(mat0) rownames(mat.12.9) <- c("代数:優", "代数:良", "代数:可", "計") colnames(mat.12.9) <- c("解析:優", "解析:良", "解析:可", "計") mat.12.9 #---------- #方法1: #関数「chisq.test」を利用して「カイ二乗検定」(独立性の検定)を実行 #---------- #(頻度が5以下のセルがあるため、Warning message が出力される) chi.out <- chisq.test(mat0) str(chi.out) (1)データの作成 (2)「chisq.test」 による検定の実行
  • 15. 14 R による「カイ二乗検定」の実行例: 独立性の検定(3/10) • 独立性の検定:スクリプト全文(方法2) #---------- #方法2: #一つ一つ計算して「カイ二乗検定」を実行 #---------- #周辺確率分布の算出 (all.sum <- sum(mat0)) (p.row <- apply(mat0, 1, function(r, sum = all.sum){sum(r) / sum})) (p.col <- apply(mat0, 2, function(c, sum = all.sum){sum(c) / sum})) #期待度数の算出(期待度数=全体のケース数と周辺確率の積) (e.mat0 <- sum(mat0) * p.row %*% t(p.col)) #カイ二乗検定の実行 (chisq.mat0 <- (mat0 - e.mat0)^2 / e.mat0) #検定統計量の各要素の計算 (chisq2 <- sum(chisq.mat0)) #上記を全てのセルで足し合わせる (DF <- (nrow(mat0) - 1) * (ncol(mat0) - 1)) #自由度 = (行数 - 1) * (列数 - 1) pchisq(chisq2, DF, lower.tail = F) #おまけ(残差分析:調整済み標準化残差の算出) (r.std <- (mat0 - e.mat0) / sqrt(e.mat0)) #標準化残差(残差) r.var <- (1 - p.row) %*% t(1 - p.col) #残差分散 (r.std.adj <- (mat0 - e.mat0) / sqrt(e.mat0 * r.var)) #調整済み標準化残差(標準化残差)
  • 16. 15 R による「カイ二乗検定」の実行例: 独立性の検定(4/10) • 独立性の検定:(1)データの作成 – 表12.9;ある大学の工学部の期末試験の成績 – 帰無仮説: 「代数の成績と解析の成績には関連があるか/独立か?」 「代数の成績が良い(悪い)と解析の成績も良い(悪い)と言えるか?」 > #================================================================ > # 分割表と独立性の検定 > #================================================================ > #元データの作成(表12.9;ある大学の工学部の期末試験の成績) > (mat0 <- matrix(c(4, 2, 3, 8, 4, 6, 6, 3, 6), + nrow = 3, ncol = 3, byrow = T)) [,1] [,2] [,3] [1,] 4 2 3 [2,] 8 4 6 [3,] 6 3 6 ◆コンソールへの出力
  • 17. 16 R による「カイ二乗検定」の実行例: 独立性の検定(5/10) • 独立性の検定:(1)データの作成 – 表12.9;ある大学の工学部の期末試験の成績 – 帰無仮説: 「代数の成績と解析の成績には関連があるか/独立か?」 「代数の成績が良い(悪い)と解析の成績も良い(悪い)と言えるか?」 > mat.12.9 <- addmargins(mat0) > rownames(mat.12.9) <- c("代数:優", "代数:良", "代数:可", "計") > colnames(mat.12.9) <- c("解析:優", "解析:良", "解析:可", "計") > mat.12.9 解析:優 解析:良 解析:可 計 代数:優 4 2 3 9 代数:良 8 4 6 18 代数:可 6 3 6 15 計 18 9 15 42 ◆コンソールへの出力
  • 18. 17 R による「カイ二乗検定」の実行例: 独立性の検定(6/10) • 独立性の検定:(2)「chisq.test」による検定の実行 – 頻度が5以下のセルがある場合、Warning message が出力 される →注意点1参照 > #---------- > #方法1: > #関数「chisq.test」を利用して「カイ二乗検定」(独立性の検定)を実行 > #---------- > #(頻度が5以下のセルがあるため、Warning message が出力される) > chi.out <- chisq.test(mat0) Warning message: In chisq.test(mat0) : Chi-squared approximation may be incorrect ◆コンソールへの出力
  • 19. 18 R による「カイ二乗検定」の実行例: 独立性の検定(7/10) • 独立性の検定:(2)「chisq.test」による検定の実行 > str(chi.out) List of 9 $ statistic: Named num 0.187 ..- attr(*, "names")= chr "X-squared" $ parameter: Named int 4 ..- attr(*, "names")= chr "df" $ p.value : num 0.996 $ method : chr "Pearson's Chi-squared test" $ data.name: chr "mat0" $ observed : num [1:3, 1:3] 4 8 6 2 4 3 3 6 6 $ expected : num [1:3, 1:3] 3.86 7.71 6.43 1.93 3.86 ... $ residuals: num [1:3, 1:3] 0.0727 0.1029 -0.169 0.0514 0.0727 ... $ stdres : num [1:3, 1:3] 0.1086 0.18 -0.2789 0.0655 0.1086 ... - attr(*, "class")= chr "htest" ◆コンソールへの出力 「chisq.test」の出力内容 (リスト)の内容を確認 →右記参照 ★主な出力内容 •statistics: • カイ二乗統計量 (※名前付き) •parameter • 自由度(※名前付き) •p.value • p値 •observed • 観測度数 •expected • 期待度数 •residuals • 標準化残差 (or 残差) •stdres • 調整済み標準化残差 (or 標準化残差)
  • 20. 19 R による「カイ二乗検定」の実行例: 独立性の検定(8/10) • 独立性の検定:(3)方法2(期待度数の算出) > #---------- > #方法2: > #一つ一つ計算して「カイ二乗検定」を実行 > #---------- > #周辺確率分布の算出 > (all.sum <- sum(mat0)) [1] 42 > (p.row <- apply(mat0, 1, function(r, sum = all.sum){sum(r) / sum})) [1] 0.2142857 0.4285714 0.3571429 > (p.col <- apply(mat0, 2, function(c, sum = all.sum){sum(c) / sum})) [1] 0.4285714 0.2142857 0.3571429 > > #期待度数の算出(期待度数=全体のケース数と周辺確率の積) > (e.mat0 <- sum(mat0) * p.row %*% t(p.col)) [,1] [,2] [,3] [1,] 3.857143 1.928571 3.214286 [2,] 7.714286 3.857143 6.428571 [3,] 6.428571 3.214286 5.357143 ◆コンソールへの出力 行方向の周辺確率分布 (=行和/総ケース数) 列方向の周辺確率分布 (=列和/総ケース数)
  • 21. 20 R による「カイ二乗検定」の実行例: 独立性の検定(9/10) • 独立性の検定:(3)方法2(「カイ二乗検定」の実行) > #「カイ二乗検定」の実行 > (chisq.mat0 <- (mat0 - e.mat0)^2 / e.mat0) #検定統計量の各要素の計算 [,1] [,2] [,3] [1,] 0.005291005 0.002645503 0.01428571 [2,] 0.010582011 0.005291005 0.02857143 [3,] 0.028571429 0.014285714 0.07714286 > (chisq2 <- sum(chisq.mat0)) #上記を全てのセルで足し合わせる [1] 0.1866667 > (DF <- (nrow(mat0) - 1) * (ncol(mat0) - 1)) #自由度 = (行数 - 1) * (列数 - 1) [1] 4 > pchisq(chisq2, DF, lower.tail = F) [1] 0.9959062 ◆コンソールへの出力 「代数の成績と解析の成績には関連があるか/独立か?」 「代数の成績が良い(悪い)と解析の成績も良い(悪い)と言えるか?」 という帰無仮説は棄却されない ⇒「代数の成績が良く(悪く)ても、必ずしも解析の成績も良い(悪い)わけではない」 (むしろ、この二つには全く関連が無く“独立”だという可能性が高い数値) ⇒独立性の検定においては、通常は“望みどおりではない” (※この調査ではどうだったかは分からない)
  • 22. 21 R による「カイ二乗検定」の実行例: 独立性の検定(10/10) • 独立性の検定:(3)方法2(おまけ・・・残差分析) > #おまけ(残差分析:調整済み標準化残差の算出) > (r.std <- (mat0 - e.mat0) / sqrt(e.mat0)) #標準化残差(残差) [,1] [,2] [,3] [1,] 0.0727393 0.05143445 -0.1195229 [2,] 0.1028689 0.07273930 -0.1690309 [3,] -0.1690309 -0.11952286 0.2777460 > r.var <- (1 - p.row) %*% t(1 - p.col) #残差分散 > (r.std.adj <- (mat0 - e.mat0) / sqrt(e.mat0 * r.var)) #調整済み標準化残差(標準化残差) [,1] [,2] [,3] [1,] 0.1085565 0.06546203 -0.1681750 [2,] 0.1800206 0.10855649 -0.2788867 [3,] -0.2788867 -0.16817499 0.4320494 ◆コンソールへの出力 「chisq.test」では 「residuals」として出力 「chisq.test」では 「stdres」として出力 (二つの変数間に連関がある/独立であるという前提で、)「調整済み標準化残差」による 分析(残差分析)により、 “どのカテゴリー間にどの程度の連関があるのか”が分かる 「二つの変数は連関がある/独立でない」という結論が得られていない(→帰無仮説が 棄却されていない)場合は、上記の残差分析は意味が無い 参考文献[2]等参照
  • 23. 22 参考文献 [1]東京大学教養学部統計学教室編(1991), 『統計学入門』, 東京大学出版会 [2]Agresti, A.(1996), An Introduction to Categorical Data Analysis, John Wiley & Sons (渡邉ら訳(2003), 『カテゴリカルデータ 解析入門』, サイエンティスト社) [3]芝・南風原(1990), 『行動科学における統計解 析法』, 東京大学出版会