医療統計学を学ぶ大学生のブログ

医療統計学、因果推論を専攻しています。R, SASユーザーです。

SASによる解析:回帰分析の実行

f:id:NorihiroSuzuki:20210603133309j:plain

(Image by Goumbik from Pixabay)

 今回は、単回帰分析の理論的な話(最小二乗法など)は一旦後回しにして、SASでの単回帰分析の実行方法についてまとめます。導出方法については別記事でまとめる予定ではいますが、気になる方は専門書等を参照していただけると幸いです。

 

回帰分析とは

 回帰分析とは、 目的変数(Y)を説明変数(X)を使った形で表すことです。この説明変数(X)が一つである場合には単回帰分析、複数存在する場合には重回帰分析と呼ばれます。回帰分析の目的としては、説明変数を用いて目的変数の予測、説明を行うことであり、最もポピュラーな分析方法の一つです。

 また目的変数や説明変数は、他にもいくつもの呼ばれ方があり、統計Webにまとまっていたのでそちらも参照ください。

 

単回帰分析とは

 上記で述べたように単回帰分析は、目的変数に対して一つの説明変数を用いる回帰分析のことを指します。これに対して説明変数が複数(下記の式でいうXが複数)存在するのが、重回帰分析です。

 例えば身長をY, 体重をXとし以下の式を考えます。

f:id:NorihiroSuzuki:20210603140815p:plain

単回帰分析では、このαβを推定することが目的となります。またこの二つのパラメータの解釈としては以下の通りです。

α:Xが0の時のYの値

β:Xが1増加した場合のYの変化量

 

 余談ですが、あくまでこの二つのパラメータの解釈は一部の例外的な状況を除き、YとXの関連性に対してのものでしかないので、Xを1増やせばYはβ増えるということではないことに注意が必要です。

 

SASによる単回帰分析の実行

 というわけで、本題のSASによる単回帰分析の実行方法についてまとめます。解析はSAS Ondemadで行いますが、データの読み込み部分以外で有償版SASとのコードの違いはありません。出力についても同様のものが得られます。
 回帰分析を行うにあたっては、SAS Ondemandに組み込みがされているデータセットである、SASHELP.CLASSを利用します。

f:id:NorihiroSuzuki:20210603144417p:plain

 データの中身はこんな感じ。体重の単位がポンド、身長の単位がインチなので注意。

 

SASでの単回帰分析の実行方法はいくつかありますが、ここでは、regプロシジャを使います。プロシジャの指定はこんな感じ。ほかの方法についてはまたおいおい載せます。

 

f:id:NorihiroSuzuki:20210603145926p:plain

 

もし重回帰分析を行いたい場合には、modelの右式に、モデルに組み込みたい説明変数をスペース区切りで入れればOKです。

 

先ほどのデータセットでの実際の解析コードはこちら。

 

f:id:NorihiroSuzuki:20210603150226p:plain

 

結果の見方

パラメータの推定

次に先ほどの例の出力結果を見てみます。

f:id:NorihiroSuzuki:20210603150518p:plain

 パラメータの推定という項目を見ると、Intercept(切片項)と今回説明変数とした、Weightのパラメータ推定値とP値が計算されています。ともに有意水準を5%とするとそれを下回っていることから、統計的に有意な結果であることがわかります。

 

 つまり、今回の単回帰分析では以下のような関係式を考えることができました。f:id:NorihiroSuzuki:20210603151218p:plain

体重が1ポンド増えるにつれて、身長が0.19761フィート増える傾向があるということですね。

 

R2乗値(決定係数)

決定係数はR2乗値とも呼ばれ、推定したモデルがどれほどデータを説明しているかを示している値であり、1に近いほど当てはまりがいいことを意味します

この決定係数は説明変数の数が多くなるほど1に近づきやすくなるという性質があり、また説明変数の数が異なるモデル同士の比較には自由度で調整した決定係数を利用します。

今回の例では、決定係数の値は0.7705、調整済み決定係数の値は0.7570となっています。

 

補足ですが、この決定係数を求めるためには、全変動、回帰変動、残差変動の三項目が必要となります。

 

F値

 パラメータの推定という出力項目は、切片、各説明変数のパラメータ(偏回帰係数)の推定値が統計的に有意であるかというt検定の結果を示したものでした。

 これに対して、出力結果の一番上にある分散分析の結果は、「モデルに含まれるすべての偏回帰係数が0である」という帰無仮説に対してのF検定の結果になります。

 重回帰分析の際にはこの検定結果(F値)が有意であるかのチェックも必要となります。

 

参考

ここで取り扱った話をさらに詳細にしているSASのサポートです。ただちょっとわかりにくい部分もあるのでその点ご容赦ください

support.sas.com