SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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), 『行動科学における統計解
析法』, 東京大学出版会

Más contenido relacionado

La actualidad más candente

時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
Yohei Sato
 

La actualidad más candente (20)

無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
 
Jsai
JsaiJsai
Jsai
 
密度比推定による時系列データの異常検知
密度比推定による時系列データの異常検知密度比推定による時系列データの異常検知
密度比推定による時系列データの異常検知
 
統計学勉強会#2
統計学勉強会#2統計学勉強会#2
統計学勉強会#2
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
 
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
 
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
 
学習時に使ってはいないデータの混入「リーケージを避ける」
学習時に使ってはいないデータの混入「リーケージを避ける」学習時に使ってはいないデータの混入「リーケージを避ける」
学習時に使ってはいないデータの混入「リーケージを避ける」
 
確率ロボティクス第13回
確率ロボティクス第13回確率ロボティクス第13回
確率ロボティクス第13回
 
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
 
【論文紹介】ProtoMF: Prototype-based Matrix Factorization for Effective and Explain...
【論文紹介】ProtoMF: Prototype-based Matrix Factorization for Effective and Explain...【論文紹介】ProtoMF: Prototype-based Matrix Factorization for Effective and Explain...
【論文紹介】ProtoMF: Prototype-based Matrix Factorization for Effective and Explain...
 
Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...Theory to consider an inaccurate testing and how to determine the prior proba...
Theory to consider an inaccurate testing and how to determine the prior proba...
 
帰納バイアスが成立する条件
帰納バイアスが成立する条件帰納バイアスが成立する条件
帰納バイアスが成立する条件
 
1 データとデータ分析
1 データとデータ分析1 データとデータ分析
1 データとデータ分析
 
[DL Hacks]Semi-Supervised Classification with Graph Convolutional Networks
[DL Hacks]Semi-Supervised Classification with Graph Convolutional Networks[DL Hacks]Semi-Supervised Classification with Graph Convolutional Networks
[DL Hacks]Semi-Supervised Classification with Graph Convolutional Networks
 
Deep State Space Models for Time Series Forecasting の紹介
Deep State Space Models for Time Series Forecasting の紹介Deep State Space Models for Time Series Forecasting の紹介
Deep State Space Models for Time Series Forecasting の紹介
 
Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測
 
From mcmc to sgnht
From mcmc to sgnhtFrom mcmc to sgnht
From mcmc to sgnht
 
【DL輪読会】Emergence of maps in the memories of blind navigation agents
【DL輪読会】Emergence of maps in the memories of blind navigation agents【DL輪読会】Emergence of maps in the memories of blind navigation agents
【DL輪読会】Emergence of maps in the memories of blind navigation agents
 
Active Learning と Bayesian Neural Network
Active Learning と Bayesian Neural NetworkActive Learning と Bayesian Neural Network
Active Learning と Bayesian Neural Network
 

Destacado

統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定
Satoshi Nagayasu
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門
Yohei Sato
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
Shohei Hido
 

Destacado (20)

統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定統計勉強会 分割表とカイ二乗検定
統計勉強会 分割表とカイ二乗検定
 
ICML2013読み会 開会宣言
ICML2013読み会 開会宣言ICML2013読み会 開会宣言
ICML2013読み会 開会宣言
 
(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方
 
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
 
ビッグデータはどこまで効率化できるか?
ビッグデータはどこまで効率化できるか?ビッグデータはどこまで効率化できるか?
ビッグデータはどこまで効率化できるか?
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02
 
異常検知と変化検知 第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について
 

Similar a Chisq 01

2011年11月11日
2011年11月11日2011年11月11日
2011年11月11日
nukaemon
 
K030 appstat201203 2variable
K030 appstat201203 2variableK030 appstat201203 2variable
K030 appstat201203 2variable
t2tarumi
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
Daisuke Yoneoka
 

Similar 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

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Último (8)

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

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), 『行動科学における統計解 析法』, 東京大学出版会