線形回帰の説明変数は何個まで入れられるのか

はじめに

線形回帰(重回帰)やロジスティック回帰、Cox比例ハザードモデルなどを使う上で突きあたる実用上の問題の一つに、「説明変数の数を何個まで入れていいのか?」というものがあります。
結果に影響しそうな因子は色々と考えつくことが多いため、できる限り説明変数を入れたくなるのですが(そのような因子を探索するのがそもそもの目的である場合はなおさら)、サンプル数に対して説明変数の数が多すぎると推定精度の低下や過剰適合(Overfitting)といった問題が生じがちになります。

適切な説明変数の数について、ロジスティック回帰およびCox比例ハザードモデルでは「1つの説明変数につき、イベント数が10必要*1」というよく知られた基準が存在しますが(参考文献[1]と[2])、線形回帰の場合にはどうなのだろう?そういえば聞いたことがないな、と思い調べてみました。

今回は、2015年にJournal of Clinical Epidemiologyという雑誌に掲載されたAustin and Steyerbergの論文(参考文献[3])で報告されている結果を紹介します。
結論から言うと、線形回帰の場合には説明変数1つにつきサンプル数が最低2ほどあれば適切な推定結果が得られるだろう、ということです。つまり、例えばサンプル数が30の時には説明変数は15個まで入れられることになります。
ただし、あくまで今回のシミュレーションで設定された状況における結果であるため、実際の解析では可能であれば十分なサンプル数を用意する、あるいは説明変数の数を必要以上に多くしないほうが無難かと個人的には思います。


Austin and Steyerberg(2015)による研究報告

この論文では、ロジスティック回帰やCox比例ハザードモデルにおける「説明変数1つにつきイベント数10」を報告した研究と同じデータをベースにしたシミュレーションを行い*2、説明変数1つに対するサンプル数が1〜50それぞれの場合に回帰係数の推定値や標準誤差などにどの程度のバイアスが生じるかが検討されています。

シミュレーションによって

  • 回帰係数の推定値にバイアスが生じるかどうか
  • 回帰係数の標準誤差にバイアスが生じるかどうか
  • 回帰係数の信頼区間が名目の値(95%)通りになるかどうか
  • 決定係数 R^2と自由度調整決定係数にバイアスが生じるかどうか

を評価した結果、サンプル数がいかなる場合でも決定係数 R^2以外には深刻なバイアスはほとんど生じないというものでした(説明変数の数とサンプル数が同じ場合のみ、一部の回帰係数の推定値に若干大きめのバイアスが生じていました)。
この結果を踏まえ、「説明変数1個につき、サンプル数は2ほど必要」と結論されています。
なお論文著者らが独自に設定したシミュレーションデータにおいても、同様の結果が得られたことが記載されています。

ということで、ロジスティック回帰やCox比例ハザードモデルと比べ、線形回帰の場合は説明変数の個数についてはそれほど神経質になる必要はなさそうですが、今回検討されたのは説明変数の多重共線性(強い相関のある説明変数の組み合わせが存在すること)が問題にならないようなデータであり*3、多重共線性が無視できないような場合には異なる結果が得られるかもしれない、と述べられています。

ロジスティック回帰においては、許容される説明変数の数は一概には言えず、説明変数どうしの相関の強さや回帰係数の大きさなどに依存するという報告があります(参考文献[4])。線形回帰の場合もケースバイケースであると考え、場合によっては1変数あたり2サンプルでも大丈夫、程度に考えておいたほうがよいかもしれません。

参考文献

[1] Peduzzi, P., Concato, J., Feinstein, A. R., & Holford, T. R. (1995). Importance of events per independent variable in proportional hazards regression analysis II. Accuracy and precision of regression estimates. Journal of clinical epidemiology, 48(12), 1503-1510.
[2] Peduzzi, P., Concato, J., Kemper, E., Holford, T. R., & Feinstein, A. R. (1996). A simulation study of the number of events per variable in logistic regression analysis. Journal of clinical epidemiology, 49(12), 1373-1379.
[3] Austin, P. C., & Steyerberg, E. W. (2015). The number of subjects per variable required in linear regression analyses. Journal of clinical epidemiology, 68(6), 627-636.
[4] Courvoisier, D. S., Combescure, C., Agoritsas, T., Gayet-Ageron, A., & Perneger, T. V. (2011). Performance of logistic regression modeling: beyond the number of events per variable, the role of data structure. Journal of clinical epidemiology, 64(9), 993-1000.

*1:より正確には、ロジスティック回帰の場合は2値の目的変数の「あり・なし」カテゴリーのうち少ない方に該当するサンプル数が10、Cox比例ハザードモデルの場合は打ち切りされていない(イベントが生じた)サンプル数が10必要です。

*2:元となっているのは現実のデータではありますが、評価にあたってはシミュレーションでデータを作っているので、真の値はわかっている状態です。

*3:詳しくは、どの説明変数の分散拡大因子(Variance inflation factor)も1.1未満だったとのことです。