公衆衛生学・疫学演習

王 超辰
2016-5-20

本日の内容


  • 記述統計学の復習
    • データの種類と要約のまとめ
  • 推測統計学の復習
    • 推定・検定
  • 診断検査法の研究


  • RCT・コホート研究・症例対照研究

  • meta分析

記述統計学の復習

質的変数–数字で測れない

  • カテゴリへ分類できる変数
    • 順序ない
      • 例:性別(男・女); 人種(黒人・白人・黄色人種)
    • 順序ある
      • 例:1年生・2年生; 満足度(悪い・普通・良い)
  • 表を作る
    • 2重分割表

量的変数–数字で測れる

  • 原点0がある
    • 例:身長(cm); 体重(kg); 年齢(歳)
  • 原点0がない
    • 例:気温\( ^{\circ}C \); 日付(2010-1-1)
  • 要約統計量を求める

要約統計量のまとめ

  1. 中心を表す量:

    • 平均値 (mean);中央値(median);最頻値(mode)

      library(ShinyIntroStats) -> intro_stats_shinyapps() [3]

  2. バラツキを表す量:

    • 標準偏差(sd);四分位範囲(IQR)
  3. 中央値四分位範囲のペア

    • 外れ値の影響を受けにくい
  4. 平均値標準偏差

    • 外れ値がない場合に使う

推定と検定


  • 推測統計学
    • 一部の標本(サンプル, sample)から母集団(population)について調べる(推測, inference).
  • 身長の例:
    測定値(観測値) \( = \) 真の身長 \( + \) 測定誤差:(モデル)
    • 180 \( = \) 179.8 \( + \) 0.2
    • 165 \( = \) 164.5 \( + \) 0.5
    • 170 \( = \) 169.7 \( + \) 0.3
    • X \( = \) \( \alpha \) \( + \) \( \epsilon \)


  • クラス全員の身長を測って(観測値),このデータを使って,日本大学生の身長予測モデルを作る:
    • クラス全員の平均身長を日本大学生の平均身長として見積もる(推定する)
    • クラス全員の平均身長と報告された日本大学生の平均身長と違いがあるかを検定する(test)
    • 作った予測モデルを使って,ほかの大学から来た学生の身長を予想する: 予測
    • その予測には,\( \alpha \)がぴったり一致することはない,普通誤差があるため区間推定が必要.\( \longrightarrow \) 95%信頼区間

95% 信頼区間 身長測定の例:

信頼区間に関する注意


  • X \( = \) \( \alpha \) \( + \) \( \epsilon \)
    • \( \alpha \)が95%の確率でこの区間に入る \( \bigtriangleup \)
    • 100回同じ実験を繰り返すと,95回の信頼区間には\( \alpha \)が含まれる.\( \bigcirc \)
  • サンプルサイズ \( \Uparrow \) \( \longrightarrow \) 信頼区間の幅 \( \Downarrow \)

  • リスク比やオッズ比など,95%信頼区間には 1 が含まれると,統計学的に有意ではない.

データの種類によって統計解析手法が異なる


データ種類 二値変数 連続変数 生存期間
要約 分割表 ヒストグラム
箱ひげ図
散布図
Kaplan-Meier 曲線
2群比較 Fisher 正確検定
カイ二乗検定
t 検定
Man-Whitney U 検定
logrank検定
一般化 Wilcoxon 検定
対応のある2群比較 McNemar 検定 対応のある t 検定
Wilcoxon 符号付順位和検定
3群以上の比較 Fisher 正確検定
カイ二乗検定
分散分析 (ANOVA)
Kruskal-Wallis 検定
logrank検定
一般化 Kruskal-Wallis 検定
対応のある3群以上の比較 Cochran R 検定 反復測定分散分析
Friedman検定
(多変量) 回帰分析 ロジスティクス回帰 単回帰・重回帰 Cox比例ハザード回帰

診断検査法の研究

  • 感度(Sn)・特異度(Sp)の推定
  • 尤度比の推定
    • 陽性尤度比 (LR\( + \)):
      LR\( + \) \( = \) Sn \( \div \) (1 \( - \) Sp)
    • 陰性尤度比 (LR\( - \)):
      LR\( - \) \( = \) (1 \( - \) Sn) \( \div \) Sp
  • ROC曲線
    • 作成
    • 曲線下面積(AUC)の推定

感度・特異度計算の例

library(RcmdrPlugin.EZR)
.Table <- matrix(c(36, 76, 15, 455), 2,2, byrow = T)
epi.tests(.Table, conf.level = 0.95)
              Disease positive Disease negative Total
Test positive               36               76   112
Test negative               15              455   470
Total                       51              531   582

 Point estimates and 95 % CIs:
---------------------------------------------------------
                                    Estimation Lower CI Upper CI
Apparent prevalence                      0.192    0.161    0.227
True prevalence                          0.088    0.066    0.114
Sensitivity                              0.706    0.562    0.825
Specificity                              0.857    0.824    0.886
Positive predictive value                0.321    0.236    0.416
Negative predictive value                0.968    0.948    0.982
Diagnstic accuracy                       0.844    0.812    0.872
Likelihood ratio of a positive test      4.932    3.752    6.482
Likelihood ratio of a negative test      0.343    0.224    0.526
---------------------------------------------------------

EZRでの操作



ROC曲線とは


  • 検査のカットオフ値をたくさん作る;
  • 小 \( \rightarrow \) 大の順番に,それぞれの感度(Sn)・特異度(Sp)を算出する.
  • Snを\( y \)座標に,1 \( - \) Spを\( x \)座標にとったプロットしたグラフ.
  • AUC(Area Under the roc Curve)曲線下面積が大きいほど良い検査法.

    library(plotROC); shiny_plotROC()

plot of chunk unnamed-chunk-3

ROC曲線をEZRで作成

set.seed(2529)
D.ex <- rbinom(200, size = 1, prob = .5)
M1 <- rnorm(200, mean = D.ex, sd = .65)
M2 <- rnorm(200, mean = D.ex, sd = 1.5)

test <- data.frame(D = D.ex, D.str = c("Healthy", "Ill")[D.ex + 1], 
                   M1 = M1, M2 = M2, stringsAsFactors = FALSE)