いっしきまさひこBLOG

AI・機械学習関連、Web制作関連、プログラミング関連、旅行記録などなど。一色政彦。

回帰分析に関する統計学ノート

1つ/2つ以上の独立変数(説明変数)を用いて従属変数(目的変数)を表す直線(回帰式)を、最小二乗法によって求める手法を「単回帰/重回帰分析」と呼ぶ。独立変数と従属変数はどちらも量的変数である必要がある。ただし質的変数を「1、0」エンコーディングしてダミー変数にすることで、独立変数に使用することもできる。各独立変数に対する偏回帰係数は、それぞれT検定により有意確率を確かめる。回帰分析モデルを評価するための指標には、「標準化回帰係数(β)」「決定係数(R2)」「自由度調整済み決定係数(補正R2)」などがある。最後に回帰式全体の有意確率をF検定で確かめる。多重共線性に注意が必要。

f:id:misshiki:20200622141842p:plain
統計検定の適用方法一覧(単回帰分析/重回帰分析を使う場合を赤で示した)

「回帰分析」関連のノートは、このエントリにまとめていく予定(ロジスティック回帰は別エントリにする予定)。まだ途中です。

回帰分析(単回帰分析)

  • 最小二乗法を使って最も当てはまりがよい直線を求める
  • その直線の傾きが「回帰係数」、切片が「定数」と呼ばれる
  • 直線は一次式なので「線形回帰」とも呼ばれる。二次式以上にして曲線になるなら「非線形回帰」と呼ばれる
  • 回帰分析の場合、独立変数と従属変数はどちらも基本的に「量的変数」でなければならない

ダミー変数

  • 例外として、独立変数として「ダミー変数」を使ってもよい
  • ダミー変数とは、質的変数に数値を割り当てたもの、例えば「男性:0、女性:1」のような「カテゴリカル変数のエンコーディング(した値)」を指す
  • このようなダミー変数を使っても、統計学的に問題ないことが証明されている

重回帰分析

  • 独立変数が1つの場合が「単回帰分析」、2つ以上の場合が「重回帰分析」
  • 各独立変数は標準化した方がよい。標準化とは、平均0、分散1にスケーリングすること
  • 重回帰分析は、最小二乗法を使って最も当てはまりがよい平面や超平面を求める
  • 各次元の傾きが「偏回帰係数」(重み)、切片が「定数」(バイアス)と呼ばれる

「偏回帰係数のT検定」で有意確率を確認

  • 偏回帰係数の有意確率を確かめるには「T検定」を行う
  • 有意確率とは、偶然に起こってしまう確率のこと
  • 0.05未満なら、偶然に起こる確率は非常に低い(=つまりほぼ起こらない)ので、「統計的に有意」となる。「5%水準で有意」「有意水準5%未満で統計的に有意差がある」とも言う
  • 例えば、ある独立変数の有意確率が0.01なら、「その独立変数は効果がない(=0と差がない)」という帰無仮説が棄却されて「ある独立変数」と「0(固定値)」の間に差がある(=その独立変数には効果がある)と言える
  • このようなT検定は「1群のT検定」に分類できる(参考:「分散分析に関する統計学ノート」の最後にある補足)

標準化回帰係数(β)

  • 独立変数同士は、必ずしも単位が同じではないので、個々の偏回帰係数を比較しても意味が無い
  • そこで、各独立変数における偏回帰係数の効果を比較するための指標「標準化回帰係数(β)」

サンプルサイズ(N)

  • 標本データの数のこと

決定係数(R2)

  • 「全ての独立変数によって、従属変数の何%が説明できるか」を示すがのが「決定係数(R2、R二乗値)」
  • R2=0.345 なら、34.5%説明できるということ

自由度調整済み決定係数(補正R2)

  • 決定係数は独立変数が多くなるほど1に近づくので、その自由度を調整して再計算したのが「自由度調整済み決定係数(補正R2)」
  • 独立変数の数による影響を除外できるので、より適切に回帰分析モデルを評価できる

「回帰式のF検定」で有意確率を確認

  • 回帰式の有意確率を確かめるには「F検定」を行う
  • 決定係数が「全独立変数における偏回帰係数の効果」を示す指標なら、回帰のF検定は「全独立変数の役立たなさ、意味のなさ」を示す指標
  • 例えば5%水準でF検定の有意確率が0.01なら、「各独立変数が0に等しい(=差がない)」という帰無仮説が棄却されて「各独立変数」は等しくない(=有意差がある)、つまり回帰式には「意味がある」と言える

注意事項:多重共線性

  • 独立変数同士の相関が高すぎると、偏回帰係数を正しく算出できなくなってしまう現象「多重共線性」(=マルチコ:multi-colinearity)
  • 多重共線性を回避するためには、その減少を引き起こしている独立変数を除外(もしくは他の独立変数と合成)する必要がある
  • このために、各独立変数に対して「分散増幅因子(VIF)」という指標を算出して、そのVIF値が大きいものを除外すればよい
  • VIF値が、いくつ以上だったら除外するかは諸説あるが、だいたい5以上(最低でも10以上)の独立変数を除外すればよい。2未満なら安心できる。0.1未満で全く問題なし

疑問:質的変数を独立変数にするには?

  • 質的変数を「1、0」データ(対象だけ1、それ以外を0で表現する数値列)に変換してダミー変数を作ればよい(「k-1個」のone-hotエンコーディング)
  • 例えばお菓子の3種類でポテチ/アイス/チョコがあるなら、「ポテチ=1、それ以外=0」「アイス=1、それ以外=0」「チョコ=1、それ以外=0」のうち2つを作成すればよい
  • つまり「1、0」ならポテチ、「0、1」ならアイス、「0、0」ならチョコという具合に、2つの独立変数ができるということ
  • ちなみにニューラルネットワークのone-hotエンコーディングは、通常、3種類を3つのダミー変数に変換する
  • 一方、回帰分析のone-hotエンコーディングでは、このようにk個(この例では3個)から1個を引いた「k-1個」(この例では2個)のダミー変数を作成するので注意
  • すべての独立変数が質的変数である場合に、それら全てを「1、0」のダミー変数にして重回帰分析する手法は「数量化Ⅰ類」と呼ばれる
  • ちなみに、すべての独立変数が質的変数である場合の判別分析は「数量化Ⅱ類」、質的データに対する主成分分析は「数量化Ⅲ類」と呼ばれる

参考文献