正規性の検定としてのKolmogorov-Smirnov検定の検出力

元々の動機

現在、所属施設内で内輪で簡単な統計の勉強会を行っていますが、その際の演習問題作成の過程で起こった疑問。データを収集し、何らかの統計的仮説検定を行う際にパラメトリック検定を適用できるかどうか?を検討する際に、正規性の検定としてのShapiro-Wilk検定やKolmogorov-Smirnov検定がよく行われるかと思います。例えば連続一様分布U(0, 1)に従う乱数を20個生成して、Kolmogorov-Smirnov検定にかけてみる。当然この程度の数ですとその結果としてのp値は0.05を下回るどころかずっと大きな値になることがほとんど。一方、試しに同じように連続一様分布U(0, 1)に従う乱数を100個生成し、同様にKS検定にかけてみる。それでも意外にp < 0.05となることはない。

実際、臨床医学系の論文をみてみても、正規性の検定をしっかりしたと書いてあるものはまだ良い方で、そのあたりが不明なまま、パラメトリック検定を施行しているようなものも多くあるのは事実かと思います。しかし、Kolmogorov-Smirnov検定を行った→p < 0.05とならなかったので対象データは正規分布していると仮定してパラメトリック検定を行った、というロジックをもってしても、上記のようにU(0, 1)に従う乱数を100個(特に脳神経内科領域、それも希少疾患が対象だと、同一疾患で100人分のデータも集められるようなことの方がごく稀ですが)対象にしたとしても、KS検定でしっかり分布が正規分布ではないことを(検定上は)示せていない。となると、例えばU(0, 1)に従う乱数をデータとした場合に検出力はどのくらいなんだ?ということを知っておかなければ・・・と思ったのが今回の動機です。(もちろん、正規性の検定としてより検出力が高いShapiro-Wilk検定との比較も含め)

Rで簡単に試してみる

RでU(0, 1)に従う乱数を作成し、1セットのデータに対して正規分布と仮定してKolmogorov-Smirnov検定を行い、p値について分布をみてみます。左から順に1セットあたり、100個、200個、500個の場合のヒストグラムです。それぞれの場合で1000回検定を行っています。

こうしてみると、500個の時はp < 0.05となっている場合がほとんどではありますが、100個、200個の時はほとんどの場合でそうはならないことが分かりました。勉強会で使用するための演習問題を作成する過程で、試しに連続一様分布に従う乱数で検討してみたときに、せいぜい20や30個程度の乱数ではp < 0.05を下回ることなどまずお目にかからないのも道理です。

では実際の検出力はどの程度なのか

しかし広い世の中、実際の検出力についてはどこかに情報があるだろうと思って検索してみると、すぐにお目当ての情報が。数理統計の専門家の間では常識的だとは思いますが、なかなか臨床医学をやっているだけではKolmogorov-Smirnov検定をやっていればまだいい方、程度の認識ですのでその検出力については深く考える機会がないことが通常です。論文がありました。

上記表はNornadiah Mohd Razali et al. Power comparisons of Shapiro-Wilk, Kolmogorov-Smirnov, Lilliefors and Anderson-Darling tests.から引用

それによると、U(0, 1)に従う分布において、n = 20程度ではShapiro-Wlik検定で検出力は0.2程度、Kolmogorov-Smirnov検定では0.1台、Kolmogorov-Smirnov検定に限ればn = 200でも検出力は0.48程度・・・と想像していたよりだいぶ低い印象です。もちろん上記論文にはその他の分布においてもシミュレーション結果がありますが、いずれにしてもn = 100前後においてもKolmogorov-Smirnov検定の検出力は想定していたものよりだいぶ低いなと思いました。

今回の勉強から

正規性の検定のためにはその特性上、Shapiro-Wilk検定やKolmogorov-Smirnov検定においては検出力が重要だとは薄々思っていましたが、実際にどの程度か?を調べたり意識したことはあまりなかったのは反省点です。臨床研究で得られるデータの母集団として連続一様分布が想定されるということは現実問題あまりないとは思いますが、今回に限らず何らかの検定手法を用いて検討する際には、その手法の検出力についても詳細に知っておくべき事は大事だと改めて感じました。特に脳神経内科領域のように対象疾患が希少疾患で、サンプルサイズがどうしても少なくなってしまうような場合には余計に、(統計学的に)誤った判断をする余地がより多くあるかと思いますので。