内容へ移動
講義(山本裕樹)
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
socialip_2021:lecture6
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 【社会情報処理】第6回 その他の仮説検定 ====== ===== 母分散の仮説検定 ===== ここでは母分散の仮説検定を行う。 <fc #ff0000>**母集団は正規分布(正規母集団)**</fc>とし、そこから無作為に標本を抽出する。 $\mathrm{N}(\mu,\sigma^{2})$ の正規母集団から $n$ 個の標本 $X_{1},X_{2},\cdots,X_{n}$ を抽出したとする。 母分散の仮説検定に用いる検定統計量は不偏分散 $s^{2}$ を利用する。 \[ s^{2}=\frac{1}{n-1}\sum_{i=1}^{n}(X_{i}-\bar{X})^{2} \] ---- ==== 仮説検定の手順 ==== 仮説検定の手順は以下の通り。 === 1. 仮説の設定 === * 右片側検定の場合 * 帰無仮説 $H_{0}:\sigma^{2}=\sigma_{0}^{2}$ * 対立仮説 $H_{1}:\sigma^{2}>\sigma_{0}^{2}$ * 左片側検定の場合 * 帰無仮説 $H_{0}:\sigma^{2}=\sigma_{0}^{2}$ * 対立仮説 $H_{1}:\sigma^{2}<\sigma_{0}^{2}$ * 両側検定の場合 * 帰無仮説 $H_{0}:\sigma^{2}=\sigma_{0}^{2}$ * 対立仮説 $H_{1}:\sigma^{2}\neq\sigma_{0}^{2}$ === 2. 検定統計量と標本分布の決定 === 検定統計量は $\chi^{2}$(カイ二乗)である。 \[ \chi^{2}=\frac{(n-1)s^{2}}{\sigma_{0}^{2}} \] 正規母集団からの標本であれば $\chi^{2}$ は自由度 $n-1$ の $\chi^{2}$ 分布 $\chi^{2}(n-1)$ に従う。 * 検定統計量 $\chi^{2}$ * 標本分布 $\chi^{2}(n-1)$ === 3. 有意水準と棄却域の決定 === 有意水準を $\alpha$ とする。 棄却域 $R$ はそれぞれ次のようになる。 * 右片側検定の場合 $R=\{\chi^{2};\chi^{2}>\chi_{\alpha}^{2}\}$ * 左片側検定の場合 $R=\{\chi^{2};\chi^{2}<\chi_{1-\alpha}^{2}\}$ * 両片側検定の場合 $R=\{\chi^{2};\chi^{2}< \chi_{1-\alpha/2}^{2},\chi_{\alpha/2}^{2}<\chi^{2}\}$ $\chi_{\alpha}^{2}$ は $\chi^{2}(n-1)$ の上側確率 $\alpha$ のパーセント点である。 {{ socialip_2021:chisq-test.png?nolink |カイ二乗検定}} === 4. 検定の実施 === 標本から求めた検定統計量が棄却域に入れば帰無仮説を棄却し、対立仮説を採択する。 棄却域に入らなければ帰無仮説は棄却されないので、対立仮説は採択されない。 検定統計量に $\chi^{2}$ を用いる場合を__**カイ二乗検定**__という。 ===== 母分散の仮説検定の例 ===== 母集団は R のデータセット airquality の Wind とする。 これを正規母集団とみなす。 <code rsplus> > var(airquality$Wind) * (1 - 1 / length(airquality$Wind)) [1] 12.33042 </code> このように母分散 $\sigma^{2}=12.33042\mathrm{[mph^{2}]}$ と分かるが、分かっていないものとして仮説検定を行う。 母集団から $n=10$ 個の標本を抽出し、$\sigma_{0}^{2}=4$ の仮説検定を行う。 次のプログラム test_var.R はカイ二乗検定で p 値を計算するプログラムである。 ただし、標本抽出は ''set.seed(1)'' で固定しているので、毎回ランダムにしたければ ''set.seed(1)'' を削除すること。 <file rsplus test_var.R[enable_line_numbers="true"]> # 母分散の仮説検定(カイ二乗検定) # 母集団データ pdata <- na.omit(airquality$Wind) # 標本データ n <- 10 set.seed(1) sdata <- sample(pdata, n) # 不偏分散 ssq <- var(sdata) print(sprintf("標本 : n = %d, s^2 = %g", n, ssq), quote = FALSE) # 帰無仮説 sigmasq0 <- 4 print(sprintf("帰無仮説 : sigma^2 = %g", sigmasq0), quote = FALSE) # 検定統計量 chisq.value <- (n - 1) * ssq / sigmasq0 # 右片側検定 chisq.right.p <- pchisq(chisq.value, n - 1, lower.tail = FALSE) # 左片側検定 chisq.left.p <- pchisq(chisq.value, n - 1) # 両側検定 if (chisq.right.p > chisq.left.p) { chisq.twosided.p <- chisq.left.p * 2 } else { chisq.twosided.p <- chisq.right.p * 2 } print(sprintf("chi^2 = %g, 右片側 p = %g, 左片側 p = %g, 両側 p = %g", chisq.value, chisq.right.p, chisq.left.p, chisq.twosided.p), quote = FALSE) </file> test_var.R の実行結果 <code rsplus> [1] 標本 : n = 10, s^2 = 9.25389 [1] 帰無仮説 : sigma^2 = 4 [1] chi^2 = 20.8213, 右片側 p = 0.0134682, 左片側 p = 0.986532, 両側 p = 0.0269364 </code> ---- ==== カイ二乗検定の例 ==== airquality の Wind を母集団とする。 この母集団から $n=10$ 個の標本を抽出したところ、不偏分散 $s^{2}=9.25389\mathrm{[mph^{2}]}$ だった。 この標本を使って**<fc #ff0000>母分散は $4 \mathrm{[mph^{2}]}$ より大きい</fc>**といえるかを **<fc #ff0000>有意水準 5%</fc>** で検定する。 === 1. 仮説の設定 === * 帰無仮説 $H_{0}:\sigma^{2}=4\mathrm{[mph^{2}]}$ * 対立仮説 $H_{1}:\sigma^{2}>4\mathrm{[mph^{2}]}$ これは右片側検定である。 === 2. 検定統計量と標本分布の決定 === 検定統計量は $\chi^{2}$ を用いる。 $\chi^{2}$ の標本分布は $\chi^{2}(9)$ である。 === 3. 有意水準の決定 === 有意水準 5% なので $\alpha=0.05$ である。 === 4. 検定の実施 === 標本から $\chi^{2}=20.8213$ で $p=0.0134682<0.05$ だった。 よって有意水準 5% で帰無仮説は棄却されるので、対立仮説が採択される。 つまり、有意水準 5% で母分散は $4\mathrm{[mph^{2}]}$ より大きいといえる。 ===== 小テスト ===== [[KMS>|Moodle Server(非公式)]]で第6回の小テストを受験しなさい。 ===== 独立な2群の検定 ===== 二つの独立な母集団を対象とした仮説検定を考えよう。 例えば、新しい教育方法の効果を調べる場合、学生を二つのグループに分け、一方のグループに新しい教育方法による授業、もう一方のグループに従来の教育方法による授業を行い、同じ試験の成績の平均に有意な差があるかどうかを検証する。 新しい教育方法のグループを__**処理群**__、従来の教育方法のグループを__**対照群**__もしくは__**制御群**__ということがある。 <fc #ff0000>**母集団は正規分布(正規母集団)**</fc>とし、そこから無作為に標本を抽出する。 * $\mathrm{N}(\mu_{1},\sigma_{1}^{2})$ の正規母集団から $m$ 個の標本 $X_{1},X_{2},\cdots,X_{m}$ を抽出する。 * $\mathrm{N}(\mu_{2},\sigma_{2}^{2})$ の正規母集団から $n$ 個の標本 $Y_{1},Y_{2},\cdots,Y_{n}$ を抽出する。 標本平均 \[ \bar{X}=\frac{1}{m}\sum_{i=1}^{m}X_{i} \] \[ \bar{Y}=\frac{1}{n}\sum_{j=1}^{n}Y_{j} \] 不偏分散 \[ s_{1}^{2}=\frac{1}{m-1}\sum_{i=1}^{m}(X_{i}-\bar{X})^{2} \] \[ s_{2}^{2}=\frac{1}{n-1}\sum_{j=1}^{n}(Y_{j}-\bar{Y})^{2} \] \[ s^{2}=\frac{(m-1)s_{1}^{2}+(n-1)s_{2}^{2}}{m+n-2} \] 二つの母集団の母平均を比べる場合、母平均の差を検定する。 ただし、母集団の母分散が同じであればこの検定は比較的簡単だが、母分散が異なると難しくなり近似的な方法で検定せざるを得ない。 そこで、まずは母分散が同じかどうかを母分散の比の検定で確かめる。 ---- ==== 母分散の比の検定 ==== 母分散が等しいかどうかを調べるために母分散の比の検定を行う。 === 1. 仮説の設定 === * 帰無仮説 $H_{0}:\sigma_{1}^{2}=\sigma_{2}^{2}$ (もしくは $\frac{\sigma_{1}^{2}}{\sigma_{2}^{2}}=1$) * 対立仮説 $H_{1}:\sigma_{1}^{2}\neq\sigma_{2}^{2}$ (もしくは $\frac{\sigma_{1}^{2}}{\sigma_{2}^{2}}\neq 1$) これは両側検定である。 === 2. 検定統計量と標本分布の決定 === 検定統計量は__**フィッシャーの分散比**__ $F$ である。 \[ F=\frac{s_{1}^{2}}{s_{2}^{2}} \] 正規母集団からの標本であれば $F$ は自由度 $(m-1,n-1)$ の F 分布 $F(m-1,n-1)$ に従う。 * 検定統計量 $F$ * 標本分布 $F(m-1,n-1)$ === 3. 有意水準と棄却域の決定 === 有意水準を $\alpha$ とする。 棄却域 $R$ は次のようになる。 \[ R=\{F;F<F_{1-\alpha_/2}, F_{\alpha/2}<F\} \] $F_{\alpha}$ は $F(m-1,n-1)$ の上側確率 $\alpha$ のパーセント点である。、 {{ socialip_2021:f-test.png?nolink |F検定}} === 4. 検定の実施 === 標本から求めた検定統計量が棄却域 $R$ に入れば帰無仮説を棄却し、対立仮説を採択する。 棄却域に入らなければ帰無仮説は棄却されないので、対立仮説は採択されない。 検定統計量に $F$ を用いる場合を__**F検定**__という。 ---- ==== 母平均の差の検定(母分散が等しい場合) ==== 母分散が等しい場合、母平均の差の検定は t 検定で行う。 === 1. 仮説の設定 === * 帰無仮説 $H_{0}:\mu_{1}=\mu_{2}$ (もしくは $\mu_{1}-\mu_{2}=0$) * 対立仮説 $H_{1}:\mu_{1}\neq \mu_{2}$ (もしくは $\mu_{1}-\mu_{2}\neq 0$) これは両側検定である。 === 2. 検定統計量と標本分布の決定 === 検定統計量は $t$ である。 \[ t=\frac{\bar{X}-\bar{Y}}{s\sqrt{\frac{1}{m}+\frac{1}{n}}} \] 正規母集団からの標本であれば $t$ は自由度 $m+n-2$ のスチューデントの t 分布 $t(m+n-2)$ に従う。 * 検定統計量 $t$ * 標本分布 $t(m+n-2)$ === 3. 有意水準と棄却域の決定 === 有意水準を $\alpha$ とする。 棄却域 $R$ は次のようになる。 \[ R=\{t;|t|>t_{\alpha/2}\} \] $t_{\alpha}$ は $t(m+n-2)$ の上側確率 $\alpha$ のパーセント点である。、 === 4. 検定の実施 === 標本から求めた検定統計量が棄却域 $R$ に入れば帰無仮説を棄却し、対立仮説を採択する。 棄却域に入らなければ帰無仮説は棄却されないので、対立仮説は採択されない。 ---- ==== 母平均の差の検定(母分散が異なる場合) ==== 母分散が異なる場合は__**ウェルチの検定**__という近似的な検定方法を使う。 詳細は省略する。 ===== 独立な2群の検定の関数 ===== F検定については関数 ''var.test()'' がある。 <code rsplus> > var.test(データ1, データ2) </code> 平均の差の検定については関数 ''t.test()'' が使える。 <code rsplus> > t.test(データ1, データ2, var.equal) </code> 引数 var.equal が ''TRUE'' だと t 検定、''FALSE'' だとウェルチの検定になる。 デフォルトは ''FALSE'' なので、var.equal を省略するとウェルチの検定になる。 ===== 独立な2群の検定の例 ===== 2015年度の人口増減率について、山形県の市と町村でそれぞれ標本を抽出し、平均に差があるかを検証する。 ここで市と町村のデータはそれぞれ正規母集団だとみなす((正規性の検定(シャピロ・ウィルクの検定など)で市と町村のそれぞれの母集団が正規分布かは検定できる。))。 有意水準5%としよう。 次のプログラム test_diffmean.R は第2回に e-Stat からダウンロードした山形県の市町村データ(ファイル名は yamagata.csv にしている)において、人口増減率の平均の差の検定を行うプログラムである。 <file rsplus test_diffmean.R[enable_line_numbers="true"]> library(readr) # データの読み込み df <- read_csv("yamagata.csv", locale = locale(encoding = "SHIFT-JIS")) df$`/項目` <- NULL df$調査年 <- as.numeric(sapply(df$調査年, gsub, pattern="年度", replacement = "")) df <- df[order(df$調査年),] # 市 df1 <- df[grep("市$", df$地域),] # 町村 df2 <- df[grep("町|村$", df$地域),] # 2015年度の人口増減率を母集団とする pdata1 <- df1[df1$調査年 == 2015,][["#A05101_人口増減率【%】"]] pdata2 <- df2[df2$調査年 == 2015,][["#A05101_人口増減率【%】"]] # 標本抽出 set.seed(1) sdata1 <- sample(pdata1, 8) sdata2 <- sample(pdata2, 10) # 標本平均と不偏分散 print(sprintf("市 : m = %d, xbar = %g, s1^2 = %g", length(sdata1), mean(sdata1), var(sdata1)), quote = FALSE) print(sprintf("町村 : n = %d, ybar = %g, s2^2 = %g", length(sdata2), mean(sdata2), var(sdata2)), quote = FALSE) # 分散の比の検定(F検定) result.var <- var.test(sdata1, sdata2) print(result.var) # 平均の差の検定(t検定) result.t <- t.test(sdata1, sdata2, var.equal = TRUE) print(result.t) # 平均の差の検定(ウェルチの検定) result.welch <- t.test(sdata1, sdata2) print(result.welch) </file> * 市と町村のデータは ''grep()'' を使って地域も文字列から抽出している。''grep()'' は文字列を検索するための関数で、正規表現が使用できる。 === 実行結果(標本平均と不偏分散) === <code rsplus> [1] 市 : m = 8, xbar = -3.52, s1^2 = 10.55 [1] 町村 : n = 10, ybar = -8.271, s2^2 = 2.53817 </code> * 市の標本 : $m=8$, $\bar{X}=-3.52$, $s_{1}^{2}=10.55$ * 町村の標本 : $n=10$, $\bar{Y}=-8.271$, $s_{2}^{2}=2.53817$ === 実行結果(F検定) === <code rsplus> F test to compare two variances data: sdata1 and sdata2 F = 4.1565, num df = 7, denom df = 9, p-value = 0.05147 alternative hypothesis: true ratio of variances is not equal to 1 95 percent confidence interval: 0.9903473 20.0478658 sample estimates: ratio of variances 4.156534 </code> * $F=4.1565$, 自由度 $(7, 9)$, $p=0.05147$ * 「''alternative hypothesis: true ratio of variances is not equal to 1''」は「対立仮説 : $\frac{\sigma_{1}^{2}}{\sigma_{2}^{2}}\neq 1$」という意味である。 F検定を行うと $p=0.05147$ となり、有意水準 5%で「母分散は等しい」という帰無仮説は棄却されないので、「母分散は等しくない」という対立仮説が採択されない。 === 実行結果(t検定) === <code rsplus> Two Sample t-test data: sdata1 and sdata2 t = 4.0743, df = 16, p-value = 0.0008829 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 2.279015 7.222985 sample estimates: mean of x mean of y -3.520 -8.271 </code> * $t=4.0743$, 自由度 $m+n-2=16$, $p=0.0008829$ * 「''alternative hypothesis: true difference in means is not equal to 0''」は「対立仮説 : $\mu_{1}-\mu_{2}\neq 0$」という意味である。 === 実行結果(ウェルチの検定) === <code rsplus> Welch Two Sample t-test data: sdata1 and sdata2 t = 3.7886, df = 9.6751, p-value = 0.003767 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 1.944101 7.557899 sample estimates: mean of x mean of y -3.520 -8.271 </code> * $t=3.7886$, 自由度 $9.6751$, $p=0.003767$ * 「''alternative hypothesis: true difference in means is not equal to 0''」は「対立仮説 : $\mu_{1}-\mu_{2}\neq 0$」という意味である。 F検定によって母分散が等しくないとみなせないため、 t検定を行うと $p=0.0008829$ となり、有意水準 5%で「母平均は等しい」という帰無仮説は棄却されるので、「母平均は等しくない」という対立仮説が採択される。
socialip_2021/lecture6.txt
· 最終更新: 2022/04/02 17:15 by
you
ページ用ツール
文書の表示
バックリンク
文書の先頭へ