医療統計

線形回帰分析〜その3:ANOVA

前回は、linear regressionのβの求め方やその検定方法について解説しました。直線のslopeである個々の係数βが知りたい値であり、それぞれのβが有意か否か検定(test)するんでしたね。

しかし、linear regressionにはもう一つのアプローチ方法があります。知りたい事は「そのmodelは全体としてどのくらいデータにfitしているか」であり、そのfit具合を検定(test)する、というものです。今回は、その方法である”ANOVA“について、解説したいと思います。

三つの分散

ANalysis Of VAriance (ANOVA)というだけあって、分散を元に解析していきます。そして、理解すべき三つの分散が存在します。

1) Corrected Total Sum of Squares

:全てのデータのvariance。個々のデータと平均値の差を二乗した合計(分散の定義を参照)。

2) Model Sum of Squares

:Modelによって説明できるvariance。Modelによる予測outcome (Y^i)と平均値の差を二乗した合計。

3) Error Sum of Squares

:Modelによって説明できないvariance。個々のデータとmodelによる予測outcome (Y^i)の差を二乗した合計。

以上をもっとわかりやすくした図が、以下の図です。青い丸が個々のデータ(Yi)斜めの黒い線がlinear regression model(Y^)水平の黒い直線が只の平均値(Y_bar)です。

上の図の赤い線が、全てのvariance(1)になります。そして、そのvarianceは、modelで説明できるvariance(青:2)と説明できないvariance(緑:3)の合計であることがわかります。

別の図を使って、理解を深めましょう。

やはり、Total Sum of Squares (TSS)は、Model Sum of Squares (MSS)とError Sum of Squares (ESS)の合計であることがわかります。

TSSは変わりませんが、modelが良くなればなるほどY^iが右にずれますので、MSSが大きくなり、ESSが小さくなります。

Modelはどの程度データへfitしているのか

r-square

自分のlinear regression modelが、そのデータにどの程度fitしている(どの程度良く表している)のでしょうか。その指標として用いられるのがr2(r-square)です。上記のTSSにおけるMSSの割合を表していますので、高ければ高いほどmodelは良いことになりますね。そして、図からわかるように、r2のとりうる範囲は0(modelは全然よくない)~1(modelはperfect)となります。

注意すべき点は、modelの中にpredictorやcovariateを加えれば加えるほど、少しずつでも常にr2は増加してしまうことです。そのため、r2を指標にpredictorやcovariateの選択を考えてしまうと、どんなに役立たないvariableであってもmodelに入れた方がよい、という間違ったことになってしまいます。

Adjusted r-square

この問題を解決するために使うのが、adjusted r2です。上のスライドにある式をご覧になったらわかるように、predictorやcovariateの数(parameterの数)が分母にありますので、variableを加えた際のr2の増加に対するpenaltyとして作用します。

r2とadjusted r2の使い分け

では、どのようにこの二者を使い分けるのでしょうか。

通常、ある一つのmodelがどの程度データにfitしているかの指標が欲しい場合は、r2を用いますし、論文などでもr2を提示します。

一方、predictorの選択時、modelに入れるかどうか悩んでいる際には、adjusted r2を使います。有用なpredictorでれば、adjusted r2は上昇しますが、無用なpredictorであればadjusted r2は低下するからです。

上記のdiscussionは、主にprediction modelを作る時によく使います。因果推論(causal inference)では良いmodelを作ることが目的ではないため、このような指標はあまり使いません。Prediction modelとcausal inferenceについては、こちらをご覧ください。

データへのfit具合を検定

統計学なので、modelのデータへのfitの”程度”だけでなく、それが”有意かどうかの検定”が欲しいですよね。

ここで用いるのは、F-testという検定です。分子にMSS、分母にESSを置くことで、両者の分散を比較していることになります。良いmodelである方がMSSが大きくなりESSが小さくなるため、F-scoreは大きくなります。このF-scoreの、F-distributionにおけるprobability、それがp-valueです。

なんかこの説明、聞いたことがありますね。そうです。3群以上で連続変数を比べた際に使った分散分析の時に出てきましたね。あの時使ったF-testと同じです。数式も同じになり、p-valueも同じとなります。

Rで解析

最後に、rを使ってANOVAを行ってみましょう。

df_bwというdata frameで、outcomeをbwt、predictorをlwtとしてlinear regression modelを作りました。anova()で今回勉強したvarianceを知ることができます。

上のoutputで、MSSが3473052、ESSが96454213です。従って、r-squareは

3473052/(3473052+96454213) = 0.03476

となります。たったの3.5%しかmodelは全体のvarianceを説明できていないんですね。

このように手計算しなくても、もちろんcodingだけでr-squareをoutputする方法があります。

r-squareだけでなく、adjusted r-square、F-score、そしてそこから計算したp-valueも載っていますね。

Adjusted r-squareが(0から)0.0259に増加しているためlwtは加えるべきpredictorなんでしょう。そして、F-testのp-valueが0.01021であるため、このmodelはpredictorのない場合よりも、有意に良いモデルであると判断できます。

まとめ

前回は、linear regression model中のそれぞれの係数の求め方や検定について説明しました。今回は、そのmodelがどの程度データにfitしているのかについて解説しました。少しずつ、線形回帰分析への理解が深まってきましたか?

ABOUT ME
木村聡
福岡県の研修病院で初期研修修了後、大学に入局。米国オハイオ州に臨床研究で留学するも、知識の欠如を痛感。ハーバード公衆衛生大学院に進学し、MPHを取得。マサチューセッツ工科大学メンバーとの共同研究などに関与。 日本では麻酔・集中治療医として働き、オーストラリアでは小児集中治療を一から学び直しています。 乗り越える壁を見つけ続けることは、なかなか簡単ではありませんよね。アラフォー目前、様々な壁にぶち当たり、それなりに多くの経験をしてきました。私の挑戦や経験・知識、失敗談などが、他の誰かの刺激になり、役に立つことを切に願っています。 プロフィールをもっと詳しく見る

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です