p値の完全解説【保存版】

研究をする方は、p値(p value)とはよく向き合うと思います。p<0.05なら差がある、p≥0.05なら差がない。だいたい差を証明したいので、「p<0.05、よっしゃー!」という感じだと思います。

一方、「p値だけみるのは駄目だ!」という偉い人の意見も聞いたことがあるかもしれません。

あなたはきちんとp値の意味を解釈できますか?

この記事では、p値の正しい解釈、歴史、実践的解釈の順に完全解説をしていきます。

p値の解釈を極めましょう。

 

*簡略のため、この記事ではone-sidedとtwo-sidedについては無視します。そして、使用している統計モデルが正しくバイアスが無い前提です。

 

 

p値の解釈とは?

p値の解釈とは?

 

Question: 30人のクラスが2つありました。クラスAとクラスB。全員の握力を測定、クラスAの平均は30kg、クラスBの平均は35kgでした。握力はクラスBの方がクラスAより高い、と言えるでしょうか?

**********

こういう疑問に答えるのがp値。クラスメンバーそれぞれの握力データがあると、統計ソフトで簡単にp値を計算できます。p値<0.05だと、「握力はクラスBの方がクラスAより高い、と言える!」と結論している人がほとんどだと思います。

しかし!!これではp値の本質が理解できません。

 

正確には、

真実は ‘クラスAとクラスBの握力が同じである’ としたら、握力がクラスAとクラスBでこれほどの違い(平均5kg以上の差)が認められる確率がp値なのです。

p=0.03であれば、「こんなにクラス間で差があるのに、実はクラス間の握力が同じ確率は3%だ」ということです。

 

*この例だと想像しにくいですが、臨床研究では例えば「スタチン投与群とプラセボ投与群の予後比較」です。

なので、その研究で認められた違いが、より一般的なpopulation(同じような他の患者)にも同様なことが言えるか、ということが主題となるわけです。

p=0.03であれば、他の(同じような)患者にとっても、「本当は予後が変わらないのに、この研究で認められた程以上の予後の差がある確率」は3%ということです。

 

 

α=0.05とは?

αとはp値のカットオフのことです。

α=0.05の場合、「真実は ‘クラスAとクラスBの握力が同じである’ 時に、握力がクラスAとクラスBでこれほどの違い(平均5kg以上の差)が認められる確率」が5%未満であれば、その5%は無視するに足ると考える、ということです。

その場合「‘クラスAとクラスBの握力が同じである’という事が真実だとは考えにくい」と考えて「真実は‘クラスAとクラスBの握力が異なる’」と考える、という意味です。

(回りくどい表現になってしまいました....笑)

 

簡単に言うと、「本当はクラスA=クラスBなのに、クラスA≠クラスBと今結論してしまっている確率」がp値。

p<αであれば、その確率は無視できると考え、「クラスA≠クラスB」と結論する、いうことです。

 

✔p値をαとして解釈してはいけません

・つまり、p=0.02だったから、「本当は真実なのに誤って有意でないとしてしまう確率=2%」というのは間違っています。

→αは、研究の前に決めておくものです。αは「仮説検定」という実践的な解釈ができます

→pの解釈は一つ。上の通りです。

*これがはっきり区別できている方は少なく、これがわかるとBayes統計という理解につながってきます。

 

 

α=0.05が妥当か?:批判的意見

0.05をp値のカットオフとしてしまうと、いくつか問題があります。

この問題は、例えばStanford大学の疫学グループのヘッド、John Ioannidisという教授が、権威ある医学雑誌で繰り返し主張しています(Eur Heart J. 2019;40(31):2553–2554., Eur Heart J. 2019;40(31):2555–2556.等)。

 

******

✔一番大きな問題は、臨床医がp値しかみないという事です。

 →「差がある」といっても、薬が20%リスクを下げるか5%リスクを下げるかは大きな違いがあります

 →しかし特にランダム化試験において、「p<0.05なら薬は効く」という結論しか注目されない、というのが問題です。

 

✔p値しか見ない医師のreviewerは、p<0.05の論文しか採択しません。コホート研究においては(実はランダム化試験もですが)解析やデザインをこねくりまわせば、ある程度恣意的にp値が出てしまいます。

 →よって、恣意的に出したp値の論文しかpublishされない、という問題が生まれます。

 

✔また、解析やデザインが正しくても5%の結果(論文)は真実と異なります

 →つまり、本当は差がないのにあるとする論文が多すぎる、という主張があります。

 

✔そして最後に、「プラクティスを変えない、存在意義のない論文が多すぎる」という問題点です。

 →α=0.05だと、誰でも論文が書けてしまい、世の中に論文が氾濫しているのは間違いありませんし、そのほとんどがはっきり言ってpracticalに存在意義がありません(scienceに寄与する、と言えば何だってしますが、実質的に世の中へのインパクトはありません)。

 →グラントが世界的に縮小している現在、不必要な研究はカットすべきです。

 

全て正しい批判です。John Ioannidisらはこれらを定量的に解析し、「α=0.05は妥当でない。α=0.005(や0.001)というカットオフが妥当だ」と主張します。

Table 1からp値が消えた経緯もこれに準ずるでしょう(Table 1についてはこちら参照)。

 

 

大事なポイント

もともとは「今後α=0.005となるかは、おそらく本質的な議論ではありません」とここに書いていましたが、理論的背景を知っていくにつれ、考え方が変わってきました。

本質的な事は、「p値がどういう意味合いなのか」を理解することにあります

 

最近のimpactの大きい研究は、p値を全く載せてないものも多数あります(N Engl J Med. 2019;380(1):23–32.等)。これは、最近の「p値は駄目だ!」という風潮に合わせたフォーマットですが、実際の解析は95%信頼区間の解釈が入っており、それはp値と関連するものです(信頼区間に関しては追って説明します)。

つまり、フォーマットはいかんとして、これらの統計的・疫学的背景を理解することが重要ということです。

 

おそらく、p<0.05をカットオフとして支持する人は、「p値の解釈=type 1 error rate、つまりαの解釈」としている人だと思います。

でも違います。

この理解が大事です。

 

p値は、「(対立仮説と比較し)どの程度帰無仮説が支持されるか」ということを定量化して(○%として)示しません。

 →つまりαの値として解釈できないということ

p値が0.001 ~ 0.05の場合、p値が与える印象は「どの程度帰無仮説が支持されるか」と比較し過大である

ということが、(なんと)理論的に示せるのです。

 

引き続き、この一見意味不明な議論を解説していきます。

まずは、P値の提唱者等のことを知りましょう。

 

 

結論【解釈編】

p値とは、「本当は差がないのに、この研究で認められた程以上の差が出てしまう確率」で、それ以上でも以下でもありません。

α:本当は真なのに誤って有意でないとしてしまう確率、とは異なります。

これを理解し、論文の批評や自分の研究に活かしましょう。

 

 

p値開発の歴史を知る

p値はFisherが開発した

「帰無仮説が成り立つとした時に、今ある結果もしくはそれより極端な結果が認められる確率」がp値の定義、ということでした。

それがわかった上で、実践的にはどう解釈したらよいのか?

p値が表すことを理解するには、その歴史、帰納法/演繹法的な考え方、仮説検定との関連、likelihoodとの関連、Bayes統計、などを結びつける必要があります。

この記事ではこれらを説明し、「p値とは何か」について完全に理解することを目指します。

 

*以下、American Journal of Epidemiologyの論文(AJE 1993;137:485)を参考にしています。

 

 

p値はFisherが開発した

ロナルド・フィッシャー(1890-1962)、Father of modern statisticsと呼ばれている人です。

彼は数学者でありながら、「数学の実践への応用」を非常に重視した人で、数学という抽象的な概念を使って実際のデータに何らかの結論を出す事を目指しました。

*彼は優生学者(=特定の人種は劣っており淘汰されるべき、という考え)でもありました。彼の功績は偉大ですが、一度も統計学の教授職(テニュア)を得ることはありませんでした。

 

ベイズの定理というものがありますが、これは検査前確率を検査後確率に変換するもの。

実際ほとんどの場合、検査前確率はわからないので、ベイズの定理は実践的でない(とFisherは思っていた)。

彼は「検査前確率の必要のない統計推論」に強い興味があり、結果p値を開発したのです。

*最初にp値を使ったわけではありませんが、fisherが初めてその論理的背景をはっきり確立しました。

 

 

Fisherのp値の定義

Fisherのp値の定義は今と同じです。

「帰無仮説が成り立つとした時に、今ある結果もしくはそれより極端な結果が認められる確率」

 

Fisherは常に実践への応用が念頭にありました。

彼はp値を「significance probability」と呼び、「p値が小さければ帰無仮説を棄却する」という考えに基づいていました。

 

なんだ、今のと同じじゃん

と思うかもしれませんが、実は少し違います!!

 

✅p値は、「同じ実験を繰り返した時、帰無仮説通りの観察とならない確率」という解釈が(現在)一般的になされますが、Fisherは「同じ実験を繰り返した時」というあり得ない前提は念頭にありませんでした

→彼は、「今この一回の観察結果に基づき、ある帰無仮説の信頼性を評価するもの」としてp値を考えていました。

 

✅p値は単独に用いられるべき指標とは考えていませんでした

そして、「p値が小さい」というthresholdは、背景知識の基づくflexibleなものであるべき、という考え方でした。

→ただ、具体的にどうするべきか、はっきりと提示はしませんでした。

 

これがp値を開発した方のp値の解釈でした。

 

 

NeymanとPearsonの仮説検定

type 1 error, type 2 error, 対立仮説、という考え方は、Fisherは持ち合わせていませんでした。

これらを作り上げたのが、NeymanとPearson。

彼らは「仮説検定」という理論を打ち立てました。

これは次のようなもの。

 

type 1 error rateとは、本当は帰無仮説が正しいのに、誤って「正しくない」と結論してしまう確率。

type 2 error rateとは、本当は帰無仮説が誤りなのに、誤って「正しい」と結論してしまう確率。

これを元に・・・

👇

1) type 1 error rate = α、type 2 error rate = βを、研究毎に事前に設定する

(現在はほぼ常にα=0.05ですね)

2) この数値により「critical region」が定義される

3) 統計量がcritical regionに含まれたら、帰無仮説を棄却し対立仮説をacceptする

4) 統計量がcritical regionに含まれなければ、帰無仮説をacceptする

 

事前にαを設定するという所がみそです。

p値はαの閾値を超えるか超えないかだけで判断されます。

そして、p値をαとして解釈するのは誤っていますこれが超超重要!!!!!

 

ここで勘の良い方は、「帰無仮説はrejectされないだけでacceptはされないんでないの?」と思うかと思います。

その考え方は、(対立仮説という概念がない)Fisherの考え方なのです。

Neyman-Pearsonの仮説検定の枠組みでは、帰無仮説がacceptされます

 

 

Neyman-Pearsonの仮説検定は物事を単純化しすぎでは?

仮説検定のポイントは、p値や他の値がなんであれ、「帰無仮説と対立仮説のどちらかをacceptする」という結論のみが重要だ、という点にあります。

これは流石に単純化しすぎではないか?

実はNeymanとPearsonもそのことに気づいていました。

 

ここからは少し抽象的・哲学的な話になってきますが、それこそがp値を理解する上で重要なポイントです。

お付き合いください

 

******

NeymanとPearsonはこのように考えていました:

「ある仮説を前提とした時のデータの確率(= objective probability)だけを使おうと考えた時、その仮説が真実かどうかは、一回の研究では結論できない」

つまり、

「(そのデータを基にした)p値だけで、帰無仮説(あるいは対立仮説)が真実かはわからない」

ということを主張しているのです!!

仮説検定という枠組みを作っておきながら!!!!

 

じゃあp値や仮説検定は何なの???

彼らはこんな説明をしています:

統計的な推定(statistical estimation)は、「帰納的推論(inductive reasoning)」と言われている。

(帰納法を思い返してみると、「nで成り立つとしたときに、n+1でも成り立つことを証明すれば、それは真である」:これは統計推論に似ていますね)

でも、全ての推論は演繹的(deductive reasoning)であり、何らかの式につながるものだ。

(これは「推論」とは何か、という哲学的な主張です)

演繹的に求められた式を適応してその結果を享受する行為(=仮説検定の結果を真実と捉えること)は、「推論」ではなく「意思」によるものだ。

推論でないので、統計的な推定は「帰納的推論」でなく「帰納的行為(inductive behavior)」なのだ

 

意味わかったでしょうか?

噛み砕くと、仮説検定に基づいてある仮説=真実と捉えることは、学問的な考え方(reasoning)ではない、という主張です。

統計は勿論学問ですが、いろんなプロセスの結果、「仮説の真実の是非を判断する」というのはreasoningに基づくものでなく、人が勝手に判断するものだ、ということ

 

 

Fisherはムカついた

Fisherは怒り心頭でした。

だって彼は、実践的な応用をみこして、p値を学問的なものとして開発していたから

そのp値を使って「仮説検定」を開発した人が、「そんなの(学問的な)推論でなく人の行為に過ぎない」と言っているから。

「お前がやった仕事は学問でない」と言われていると受け取ったのかも

 

また、p値が仮説検定(yes/noの判断)に使われ、p値の意味がほぼどうでもよくなってしまうことを危惧していました

今やそのとおりになってしまっていますね・・・

 

 

****

以上、p値が開発された歴史でした。

最終章は、更によりp値を深く考え、実践的に解釈できるようにしていきます。

 

 

p値の実践的解釈

p値とαの違い

p値を開発したFisherと、仮説検定を開発したNeyman-Pearsonの考え方の違いを学びました。

今回は、特に「αとp値の違い」「p値とlikelihoodの関連」を説明し、より実践的にp値を解釈することを目指します。

これが理解できれば、あなたもp値マスター!

(そしてBayes統計のスタート地点です)

 

 

p値とαの違い

p値は何らかの形でtype 1 errorの確率(type 1 error rate)=αを表すもの、と解釈されることが多いです。

*type 1 errorとは、「本当は帰無仮説が正しいのに、誤って棄却してしまう確率」ですね。

 

でもαとp値は同じなのか????

→違うのです。

実は、この違いをはっきり理解されている方は少なく、かつ極めて重要です。

ここではっきりさせましょう!

 

✔αとは何か。

帰無仮説に基づいた分布(例えば正規分布をイメージしてください)の、tailの部分です。

→例えばα=0.05であれば、「tailの面積=0.05となる領域」がαです。

大事なポイントは、今観察されたデータとは完全に無関係だということです。

=帰無仮説にのみ依存する分布だからです。

α、すなわちtype 1 error rateです。

 

✔pとは何か。

データから算出される値で、「帰無仮説に基づいた分布」の境界を示す所です。

例えばp=0.03であれば、「tailの面積=0.03の領域」の境界となる場所に観察されたデータがあることを示します。

つまりtype 1 error rate(tailの面積)という解釈は誤っています。

p値は面積でなくポイントなのです!

 

 

******

具体例を考えるとわかりやすいです:

あるクラスでの成績を考えましょう。

トップX%に入っている生徒を「トップX%以内の成績」と表現するとします。

例えば、

A君はトップ10%だから「トップ10%以内の成績」

B君はトップ20%だから「トップ20%以内の成績」

 

逆に、この「トップX%以内の成績」という表現から、その生徒が実際にトップ何%なのかはわかりませんよね。

でも実はその生徒はトップX%にいるのですが。

 

p値というのは、そういうものです。

p値 = 0.10だったとします。

これをp≤0.10とすれば、それは10percentile 以下の面積を指すので、type 1 error rateという解釈ができます。

しかしp = 0.10というのはポイントなので面積は計算できません。

つまりp値 = 0.10をtype 1 error rateと解釈するのは誤りです。

 

 

p=0.05とp≤0.05

「p=0.05とp≤0.05の違い」というのが超重要ポイントです。

必ず抑えましょう。

 

p≤0.05の解釈は:

帰無仮説が真実だと仮定した時に、5%の頻度でしかおきない事象が観察されていること

つまりαの解釈と同じです。

(もしαが事前に0.05と設定されていたら、ということ)

→なので、「P≤0.05か否か」という仮説検定をすることがOKとなります。

 

ではp=0.05は?

上と同じ解釈をしてしまっていませんか?

繰り返しますが、p=0.05は分布の面積を表さないので、type 1 error rateという解釈は誤りです。

「今」観察されている結果が、α=0.05のポイントにいるデータだ、ということ。

これをよりわかりやすく解釈するとどうなるか?

ここでLikelihoodさんに登場頂きましょう。

 

 

p値とLikelihood

Likelihoodというのは、

「ある元の分布を仮定した時に、今観察されているデータが観察される確率」

を表します。

*これは「その仮定した分布が真実である確率」とは全然異なるので注意

 

ここで、Likelihood ratio

「帰無仮説でのLikelihood÷対立仮説でのLikelihood」

とすると、

その値は「真実がどれくらい(対立仮説でなく)帰無仮説である、ということを支持するか」を表しますね。

 

 

p値とLikelihood ratio

この図をみて考えてきましょう。

左が帰無仮説の分布、右が対立仮説の分布です。

実際得られたデータは一箇所、p=0.05の部分とします。

 

p≤0.05でのLikelihood ratioとは??

分子:帰無仮説の「0.05より先の部分」、つまり赤の部分

分母:対立仮説の「0.05より先の部分」、つまりH1の緑以外の部分

この面積の比となります。

 

p=0.05でのLikelihood ratioとは??

分子:Aというポイントの(yの)値

分母:Bというポイントの値

この比となります。

 

******

ほら、全然違いますよね。

論文では正規分布でsimulationしており、

・p≤0.05でのLikelihood ratio = 0.03

・p=0.05でのLikelihood ratio = 0.33

となりました。

p≤0.05と比較し、p=0.05の方が11倍強く帰無仮説を支持するということ!!

 

ベイズの定理を使うと、検査前確率が50%としたときに、

・p≤0.05での検査後確率 = 25%

・p=0.05での検査後確率 = 3%

となります。

 

*大きな差がありますが、pの値が0.001より低いときにはその差は大したことなくなります

 

 

******

今でこそ、このようにクリアに違いを示すことができますが、それは「対立仮説」という概念あってのこと。

Fisherはp値を考案したものの「対立仮説」という概念がなかったので、彼は上のlikelihood ratioを近似する概念としてp値を考えていたものと考えられます。

なのでp値の解釈が曖昧であった。

 

 

Likelihood ratioこそが欲しい指標

どれくらい帰無仮説っぽいか(対立仮説っぽいか)というのは、p値は直接表さないことがわかりました。

ほしいのはlikelihood ratio。

でもこの値、対立仮説の分布によって変わっちゃいますよね。

 

一つ考案された方法は、「観測された結果を平均とする分布」を対立仮説とおく、という方法です。

これはstandardized likelihoodといわれます。

この方法では、

p=0.05 → LR=6.7

となります。

帰無仮説である検査前確率が80%の場合、検査後確率は38%!!!

結構高い

 

p=0.003なら、検査前確率が80%の場合、検査後確率は5%となります。

 

このあたりに、p値のカットオフを下げるべし、という議論の理論的背景があるのです。

 

 

じゃあどうする??

実践応用するため、ポイントをまとめます。

 

A. Neyman-Pearsonの仮説検定の枠組み

✔事前にtype 1 error rate = αの値を設定することが味噌です

p値がそれを上回るか下回るか、という結果が、type 1 error rateという解釈を可能にします。

→しかし、p値の実際の値、という情報をそぎ取ってしまいます。

 

・またこの枠組みでは、「p値がそれを上回るか下回るか、という結果を基に、帰無仮説が支持されるかどうかを判断する」行為は、科学的なものとして考えません

(inductive behavior、なのでした)

 

・注意点は、p=0.001の時にα=0.001としてtype 1 error rateとして解釈するのは明らかな誤り、ということです。

→なのでαを事前に決めておく必要があります

*ちなみに「p<0.05を有意とする」という論文での一文は何も表していません。完全に無意味な文章です。

 

 

B. p値を連続値として解釈する

✔「どれくらい帰無仮説っぽいか」ということを数値化したいなら、likelihood ratioを念頭に置く必要があります。

 

・p=0.03だった時。

「もし本当は関連が無かったとして、今の事象もしくはより極端な事象が観察される確率は3%だ」

これ以上でも以下でもありません。

つまりは、結局何が言いたいかもわからない、ということです(1回しか今のデータは観測されないから)。

 

・p=0.03に対応するGaussian standardized likelihoodは0.10なので、より実践的な解釈は「何かしらの関連性があるという確率は、何も関連がないという確率と比較し、検査前確率の10倍高い」となります。

 

*ポイントは、現実的にp値を「〜の確率」として解釈することはできない、ということです。確率として解釈したいならlikelihoodを用いるしかな=Bayesian methodを使う必要がある、ということです。

 

 

結論(実践的解釈編)

現実的なtake-home messageとしては、

・p値をαと混同してはいけない

・p値を仮説検定に用いる場合は、αを先に決め、p値がαより大きいか小さいかだけで判断する

・p値が0.001~0.05の時、それが与える印象は、実際のlikelihood ratioから算出される「確からしさ」より過大である

 

こんなところでしょう。

ではまた。

-疫学・臨床研究

S