・αエラーとβエラーとは?
・第一種の過誤と第二種の過誤とは?
・検出力とは何?
統計学的検定を学ぶと、必ず出てくるαエラーとβエラー。
この二つのエラーは、第一種の過誤、第二種の過誤とも呼ばれています。
今回の記事では、αエラー(第一種の過誤)とβエラー(第二種の過誤)に関して、例やゴロを使って完璧に理解できるようにしました。
検出力との関係も併せて理解しましょう。
第一種の過誤(αエラー)、第二種の過誤(βエラー)とは?
第一種の過誤(αエラー)第二種の過誤(βエラー)とは、統計学的検定を実施する際に起こりうるエラーです。
統計学的検定は「有意差あり / 有意差なし」を判定するための手法ですよね。
言い換えると、「有意差あり / 有意差なし」という「判断をする」ということです。
「判断をする」というのは、私たちも日常生活で常にやっていますよね。
例えば。
- 夕食に焼肉を食べるかどうか。
- 引っ越しするかどうか
- 転職するかどうか
- 好きな人に告白するかどうか
- etc…
そして、そういった日常の判断の際に、実は私たちは2つのエラーを無意識に考えています。
- 焼肉を食べたのに後悔したエラーと、焼肉を食べなかったのに後悔したエラー
- 引っ越ししたのに後悔したエラーと、引越しなかったのに後悔したエラー
- 転職したのに後悔したエラーと、転職しなかったのに後悔したエラー
- 好きな人に告白してフラれたエラーと、告白しなくて誰かに取られたエラー
エラーを一般的に言うと、「判断ミス」です。
実はこの「2種類の判断ミス」がαエラー(第一種の過誤)とβエラー(第二種の過誤)に対応します。
第一種の過誤(αエラー)、第二種の過誤(βエラー)を例とゴロでわかりやすく解説
第一種の過誤(αエラー)、第二種の過誤(βエラー)に関して、株式投資の例で、具体的に考えてみましょう。
例として、私たちはある株に「投資する / 投資しない」を判断したいとします。
この判断の時に、あなたは何を考えて投資を判断しますか?
その株価が将来、値上がりするのかどうかを考えますよね。
すると、「株価が上がる / 下がる」かどうかを考えて、「投資する / 投資しない」の判断をするってことになります。
ということは、私たちは投資すると決めた結果、株価が上がればOKです。
そして、投資しないと決めた結果、株価が下がれば、これもOKですね。
では、投資すると決めた結果、株価が値下がりした場合は?
投資しないと決めた結果、株価が上がった場合には?
これら2つの場合には、エラーを犯したということになります。
どんなエラーでしょうか?
- 投資すると決めた結果、株価が値下がりした場合は、慌ててしまったエラーですね。
- 投資しないと決めた結果、株価が値上がりした場合には、ぼんやりしていたエラーですね。
エラーの種類にも名前がついています。
- 前者をαエラー(第一種の過誤)と言います。
- 後者をβエラー(第二種の過誤)と言います。
判断 / 結果 | 株価が上がる | 株価が下がる |
投資する | OK | エラー(αエラー) |
投資しない | エラー(βエラー) | OK |
ゴロ合わせで、あ(α)わてん坊のエラー、ぼ(β)んやり者のエラー。
こんな風に覚えると、覚えやすいです。
統計検定における第一種の過誤(αエラー)、第二種の過誤(βエラー)とは?
では、臨床試験に話を戻してみましょう。
臨床試験では、先ほどの株式投資の表を以下のように書き換えられます。
検定結果 / 真の薬効 | 薬効あり | 薬効なし |
有意になる | OK | エラー(αエラー) |
有意にならない | エラー(βエラー) | OK |
つまり、真の薬効がないにもかかわらず検定で有意になった場合にはαエラー。
真の薬効があるにもかかわらず検定で有意にならない場合には、βエラーです。
第一種の過誤(αエラー)と第二種の過誤(βエラー)は誰にとって不利益か?
このαエラーとβエラー。
臨床試験(特にP3などの検証的試験)ではどれぐらいにエラーの確率を抑えなければならないかというのが決まっています。
αエラーは5%に、βエラーは試験によって異なりますが20%〜10%にするのが基本です。
ここで疑問になるでしょう。
なぜαエラーが厳しく、βエラーはそれよりも少し緩いのか。
なぜかわかりますか?
答えを考えるには、それぞれのエラーが起こると、誰にとって不利益になるか?を考える必要があります。
αエラーは、薬効がないものを誤って薬効があると結論付けるエラーです。
すると、薬効がない、しかも副作用のリスクがある薬剤が、一般に売られてしまうわけです。
そのためαエラーを起こしてしまうと、患者さんにとって不利益になってしまいます。
そのため、αエラーは小さくしなければならないのです。
ではβエラーは何か。
βエラーは薬効があるものを誤って薬効がないと結論付けるエラーです。
つまり、このエラーは薬効があるのに承認されない、企業にとって不利益になるエラーと言えます。
αエラーを5%にすることは、規制当局(国から委託された、医薬品を審査する機関)からの要件でもあります。
つまり、国が効果のないものを患者さんに届けるわけにはいかないという姿勢の表れでもあります。
一方でβエラーは試験によって異なります。
企業にとってその薬剤開発が失敗できないと判断するのであれば、βエラーを小さくしていく判断がなされます。
症例数(サンプルサイズ)が多くなると、開発コストが上がります。
そのため、開発コストとのバランスを考えていく必要があります。
第二種の過誤から検出力が計算できる。1-βエラーが検出力
そして、βエラーと一緒に出てくる用語が「検出力」です。
検出力は特に難しいことはなく、「1-βエラー」で定義されます。
検出力を言葉で説明すると、以下の通りになります。
例えば検出力を80%(βエラーを20%)とした時。
薬効があった時に、有意差が出る確率は80%を保ちたい、という風に言い換えることができます。
Rによるシミュレーションでαエラーとβエラーを深く理解する
実際にRでαエラーとβエラーについて理解を深めていきます。
αエラーは、「真実は差がないのに検定結果として有意である」と結論付けるエラーでした。
一方のβエラーは、「真実は差があるのに検定結果として有意でない」と結論付けるエラーでした。
この2種類のエラーを以下の手順で確かめてみます。
- αエラーのシミュレーション
- A群もB群も平均0,標準偏差1の正規分布に従うデータを100例分ずつ生成する。つまり、A群とB群の間では「真実は差がない」を仮定したデータを100例分生成する。上記の100例分ずつのデータを1万通り生成し、t検定を実施する。つまり、1万回のt検定を実施する。
- 0.05を有意水準としたときに、1万回中誤って有意という結論を下してしまう割合を確認する。つまり、誤って有意という結論を下してしまう割合がαエラーとなる。
- βエラーのシミュレーション
- A群は平均0,標準偏差1の正規分布に従うデータ、B群は平均0.5,標準偏差1の正規分布に従うデータを63例分ずつ生成する。つまり、A群とB群の間では「真実は差がある」を仮定したデータを63例分生成する。(63例はβエラーが20%と設定した際のサンプルサイズ計算で得られた例数)上記の63例分ずつのデータを1万通り生成し、t検定を実施する。つまり、1万回のt検定を実施する。
- 0.05を有意水準としたときに、1万回中誤って有意ではないという結論を下してしまう割合を確認する。つまり、誤って有意ではないという結論を下してしまう割合がβエラーとなる。
αエラーのシミュレーション
αエラーを確認するために、下記のプログラムを実施します。
# 必要なパッケージの読み込み
if (!requireNamespace("MASS", quietly = TRUE)) {
install.packages("MASS")
}
library(MASS)
# パラメータ設定
n <- 100 # 各群のデータ数
num_sets <- 10000 # データセットの数
alpha_level <- 0.05 # 有意水準
# αエラーのカウント
alpha_errors <- 0
# シミュレーションの実施
set.seed(123) # 再現性のためのシード設定
for (i in 1:num_sets) {
# A群とB群のデータ生成
A_group <- rnorm(n, mean = 0, sd = 1)
B_group <- rnorm(n, mean = 0, sd = 1)
# t検定の実施
t_test_result <- t.test(A_group, B_group)
# p値が0.05未満ならαエラーとしてカウント
if (t_test_result$p.value < alpha_level) {
alpha_errors <- alpha_errors + 1
}
}
# αエラー率の計算
alpha_error_rate <- alpha_errors / num_sets
alpha_error_rate
記のプログラムを実行すると、αエラーは0.0515(5.15%)という結果が出ました。
次に、set.seed(123)をset.seed(321)に変更し、他は全くプログラムを変更せずにプログラムを実施してみます。
そうすると、αエラーは0.0474(4.74%)という結果が出ました。
データによってαエラーの結果にばらつきは生じますが、5%前後のエラーであることが結果からわかります。
βエラーのシミュレーション
次にβエラーを確認するために、下記のプログラムを実施します。
# 必要なパッケージの読み込み
if (!requireNamespace("MASS", quietly = TRUE)) {
install.packages("MASS")
}
library(MASS)
# パラメータ設定
n <- 63 # 各群のデータ数
num_sets <- 10000 # データセットの数
alpha_level <- 0.05 # 有意水準
# βエラーのカウント
beta_errors <- 0
# シミュレーションの実施
set.seed(123) # 再現性のためのシード設定
for (i in 1:num_sets) {
# A群とB群のデータ生成
A_group <- rnorm(n, mean = 0, sd = 1)
B_group <- rnorm(n, mean = 0.5, sd = 1)
# t検定の実施
t_test_result <- t.test(A_group, B_group)
# p値が0.05未満ならαエラーとしてカウント
if (t_test_result$p.value > alpha_level) {
beta_errors <- beta_errors + 1
}
}
# βエラー率の計算
beta_error_rate <- beta_errors / num_sets
beta_error_rate
上記のプログラムを実行すると、βエラーは0.2056(20.56%)という結果が出ました。
次に、set.seed(123)をset.seed(124)に変更し、他は全くプログラムを変更せずにプログラムを実施してみます。
そうすると、βエラーは0.1975(19.75%)という結果が出ました。
データによってβエラーの結果にばらつきは生じますが、20%前後のエラーであることが結果からわかります。
第一種の過誤(αエラー)第二種の過誤(βエラー)に関するまとめ
- 何かを判断するときには、二種類のエラーが存在しうる。
- 統計検定では、その二つのエラーをαエラー、βエラーと呼ぶ。
- 医薬品開発にとって、αエラーは消費者の不利益につながり、βエラーは企業の不利益につながる。
コメント
コメント一覧 (1件)
[…] 統計用語を使うとβエラー(第二種の過誤)が起きやすくなるということです。 […]