1.卒論データの永久 SAS ファイル化 |
2.卒論データの基礎集計及び重回帰分析プログラム |
3.卒論データの分析結果とその見方 |
この節には、つぎの2つの SAS プログラムのダウンロードコーナーを用意して あります:
1.永久 SAS ファイル用プログラムの例 |
2.重回帰分析プログラムの例 |
この頁は、令和2年5月7日に一部変更しました。
この節では、まず Table 2.2 のデータに重回帰分析を施すための SAS プログラム の例と出力結果を述べる。このデータに対する重回帰分析の目的は、2.1 節の最初 に掲げたとうりであるので、基準変数は学生の卒業論文の値であり、説明ないし予測変数は、彼らの3年間の成績の3変数となる。
分析プログラムの前処理として、Table 2.2 のデータを永久SASファイルに 登録することから始めよう。つぎのリストは、これを実行するためのもので ある。
*---------------------------------------------------------------------* | April 6, 2005 | | sas program--perm_ex2.sas-- | | example 2 of sasprograms for making a sas permanent file. | | | | file name: c:\sasprog\perm_ex2.sas | | | *---------------------------------------------------------------------*; libname sasfile 'c:\permfile'; data sasfile.grad; input noss 2. gradth 3. (achiev1-achiev3) (3.); label noss='sample number' gradth='mark on the graduation thesis' achiev1='average mark in grade 1' achiev2='average mark in grade 2' achiev3='average mark in grade 3'; cards; 1 85 65 73 83 2 84 68 80 87 3 84 77 77 83 4 84 78 72 82 5 84 72 76 80 6 80 65 59 79 7 80 57 66 78 8 78 64 62 72 9 75 68 67 77 10 75 68 68 70 11 70 61 60 70 12 68 61 58 66 13 65 56 59 62 ; options pagesize=66; proc print data=sasfile.grad n; title 'data on the determinants of graduation thesis marks'; run; |
perm_ex2.sas |
第1行の libname 文では、永久SASファイルを保存すべきディスクの ディレクトリパス名を sasfile と略すことを宣言している。
sasfile で参照させたディレクトリパス名を見ればわかるように、この場合 の永久 SAS ファイルを保存すべきフォルダは、C ドライブの下の permfile なる 名前をつけたフォルダであることに注意せよ。
つぎの「data sasfile.grad:」は、以下の input 文や label 文などで 定義されたデータの変数情報と cards 文以下のデータを、永久SASファイル として保存するためのファイル名を、
c:\permfile\grad |
とするためのものである。
input 文や label 文については、既に第1章で述べたので、省略する。また、 最後の3行は、永久SASファイルとして保存された内容をタイトルを title 文 で定義したタイトルをつけて標準出力させるためのものである。
つぎのプログラムは、Table 2.2 データの重回帰分析のための SAS プログラム を示す。このプログラムでは、重回帰分析を行う前にデータの持つ基礎的な特徴を 見ておくために、幾つかの SAS プロシジャを用いて基礎的な集計を行っている。
もちろん、重回帰分析を行う前にこれらの基礎集計をどうしても行わないと いけないというわけではない。しかし、一般に多変量解析を行う前に、通常の前提 である正規性や変数間の線形(直線的)関係が果たして成り立っているかなどを 視察のレベルにせよ眺めたり、直観的レベルでデータの持っている情報を眺めて おくことは、大切なことであろう。
*---------------------------------------------------------------------* | October 31, 2006 | | sas program--mreg_ex1.sas-- | | example 2 of sasprograms for making a sas permanent file. | | | | file name: c:\sasprog\mreg_ex1.sas | | | *---------------------------------------------------------------------*; libname permfile 'c:\permfile'; options pagesize=30; title 'histogram for the graduation thesis data'; proc chart data=permfile.grad; vbar gradth achiev1-achiev3; run; title 'scatter diagram for the graduation thesis data'; proc plot data=permfile.grad; plot gradth*(achiev1--achiev3)/ haxis=50 to 90 by 5 vaxis=50 to 90 by 5; run; options pagesize=60; title 'means and standard deviation of the data'; proc means data=permfile.grad; var gradth achiev1-achiev3; run; title 'correlations between the four variables'; proc corr data=permfile.grad; var gradth achiev1-achiev3; run; title 'multiple regression for the graduation thesis data'; proc reg data=permfile.grad simple corr; model gradth=achiev1-achiev3/stb pcorr2; run; quit; |
mreg_ex1.sas |
つぎの plot プロシジャは、各種のプロット機能を持っているが、ここではこれを
卒論データの4変数間、とりわけ卒論と各年次の成績との散布図を描かせるために
使っている。上の plot 文は、
plot gradth*achiev1 gradth*achiev2 gradth*achiev3/ ・・・ |
と書くことに相当する。
plot 文の「/」記号以降は、たくさんある plot 文のオプションの1つで、度数
分布表の軸の数字の範囲と刻み幅を指定している。「/」記号以降を省略し「;」
だけにしても SAS は適当な刻み幅と範囲を考慮して軸を描いてくれるが、この例
のように横軸 (haxis)、縦軸 (vaxis) ともに指定することができる。
散布図も変数数が多くなると、すべての変数間のそれに
対して出力をさせると、膨大な出力結果になるので、必要に応じて関心のある
対についてのみこの例のように描かせるとよかろう。
つぎの means プロシジャは、Table 2.2 のような複数の変数の平均や標準偏差
を求めるための数ある SAS プロシジャのうちの1つで、この例のようにオプション
を指定しないと(default では)サンプル数、平均、標準偏差、最小値、および
最大値のみを出力する。一方、オプションを指定すると、これら以外に範囲、和、
分散、標準誤差、歪度、尖度、母平均がゼロなる帰無仮説のもとでの t-値なども
出力可能である。
つぎの corr プロシジャは、相関行列や共分散行列(単一変数の場合は相関係数や
共分散)、相関係数の統計的有意性の検定、偏相関係数、スピアマン、ケンドール
の順位相関係数、クロンバックのアルファ係数、などを計算するためのプロシジャ
であるが、ここでは Table 2.2 データの4変数間の相関行列及び相関係数の統計的
有意性の検定を行うために用いている。出力結果を見ればわかるように、default
で、さらに各変数のサンプル数、平均、標準偏差、最小値、および最大値まで出力
する。
このプロシジャによる出力結果のうち、相関係数については後の重回帰分析の オプションで corr 指定を行えば出力されるので、必ずしも必要ないが、重回帰 分析では個々の相関係数の検定結果までは出力しないので、それなりの価値はある。
最後の reg プロシジャが、重回帰分析のためのものである。data=sasfile.grad の あとの reg プロシジャのオプションには、いろいろなものが用意されているが、こ こでは simple と corr オプションのみ指定した。
SAS の reg プロシジャでは、model 文のオプションで特別に指定しない限り、偏 回帰係数の推定値 (Parameter Estimate) は、各説明変数の標準偏差で調整されていな い通常の偏回帰係数のそれである。もし、各説明変数の標準偏差で調整されたいわゆ る標準偏回帰係数を出力したい場合は、以下のように model 文のオプションに stb をつければよい。
proc reg data=sasfile.grad simple corr; model gradth=achiev1-achiev3/stb; run; |
simple オプションは、重回帰分析で用いられるすべての変数の和、平均、分散、
標準偏差等を出力させるためのものである。また、corr オプションは、同じく
重回帰分析で用いられるすべての変数間の相関行列を出力させるためのものである。
両者とも、これを指定しないと、これらの情報は出力されない。
このプログラムでは、重回帰分析に先立ちあらかじめ means プロシジャや corr プ
ロシジャを用いるので、重回帰分析のこれら2つのオプションはなくてもよい。また、
説明ないし予測変数が多くなると、corr オプションや corr プロシジャにより、
膨大な相関行列が出力されるので、そのような場合にはこれらは省略した方がよい
かもしれない。
前頁の一連のプログラムを実行させると、つぎのような結果が得られる
上述のプログラムのうちの最初の chart プログラムによる結果は、つぎの
ようになる
度数 5 + ***** ***** | ***** ***** | ***** ***** | ***** ***** 4 + ***** ***** | ***** ***** | ***** ***** | ***** ***** 3 + ***** ***** | ***** ***** | ***** ***** | ***** ***** 2 + ***** ***** ***** | ***** ***** ***** | ***** ***** ***** | ***** ***** ***** 1 + ***** ***** ***** ***** | ***** ***** ***** ***** | ***** ***** ***** ***** | ***** ***** ***** ***** -------------------------------------------------------- 66 72 78 84 mark on the graduation thesis |
上の結果は、最初の変数 gradth すなわち卒論の成績についてのヒストグラム
を表す。
度数 6 + ***** | ***** 5 + ***** | ***** 4 + ***** | ***** 3 + ***** ***** | ***** ***** 2 + ***** ***** ***** | ***** ***** ***** 1 + ***** ***** ***** ***** ***** | ***** ***** ***** ***** ***** -------------------------------------------------------------------- 54 60 66 72 78 average mark in grade 1 度数 5 + ***** | ***** | ***** | ***** 4 + ***** | ***** | ***** | ***** 3 + ***** ***** ***** | ***** ***** ***** | ***** ***** ***** | ***** ***** ***** 2 + ***** ***** ***** ***** | ***** ***** ***** ***** | ***** ***** ***** ***** | ***** ***** ***** ***** 1 + ***** ***** ***** ***** | ***** ***** ***** ***** | ***** ***** ***** ***** | ***** ***** ***** ***** -------------------------------------------------------- 60 66 72 78 average mark in grade 2 |
上の結果は、一年次及び二年次の成績のヒストグラムである。
度数 7 + ***** | ***** 6 + ***** | ***** 5 + ***** | ***** 4 + ***** | ***** 3 + ***** ***** | ***** ***** 2 + ***** ***** ***** | ***** ***** ***** 1 + ***** ***** ***** ***** | ***** ***** ***** ***** -------------------------------------------------------- 64 72 80 88 average mark in grade 3 |
上の結果は、三年次の成績のヒストグラムである。以上これら4変数のヒスト
グラムを見ると、変数によりずいぶん分布の形が違う。少なくとも視察の上では、
卒論の成績と二年次の成績は共に単峰性の分布とは言い難い。もっとも、分布の
形は一般にデータをどのように階級わけするかでかなり異なったものとなるし、
このデータのようにサンプル数が少ない場合には、性急な判断はつつしまねばなる
まい。
上述のプログラムのうち、2番目の plot プロシジャによる出力結果は、
つぎのようになる
プロット : GRADTH*ACHIEV1. 凡例 : A = 1 OBS, B = 2 OBS, ... m | a 90 + r | k 85 + A A A A A | o 80 + A A n | A 75 + B t | h 70 + A e | A 65 + A g | r 60 + a | d 55 + u | a 50 + t | i ---+-------+-------+-------+-------+-------+-------+-------+-------+-- o 50 55 60 65 70 75 80 85 90 n average mark in grade 1 m | a 90 + r | k 85 + A A AA A | o 80 + A A n | A 75 + A A t | h 70 + A e | A 65 + A g | r 60 + a | d 55 + u | a 50 + t | i ---+-------+-------+-------+-------+-------+-------+-------+-------+-- o 50 55 60 65 70 75 80 85 90 n average mark in grade 2 |
上の図は、卒論の成績と一年次の成績、及び二年次の散布図を表す。両者の関
係は、これらの図から明らかなように、共に必ずしも単純な直線的関係には
なっていないことがわかる。
プロット : GRADTH*ACHIEV3. 凡例 : A = 1 OBS, B = 2 OBS, ... m | a 90 + r | k 85 + A A B A | o 80 + AA n | A 75 + A A t | h 70 + A e | A 65 + A g | r 60 + a | d 55 + u | a 50 + t | i ---+-------+-------+-------+-------+-------+-------+-------+-------+-- o 50 55 60 65 70 75 80 85 90 n average mark in grade 3 |
上の図は、卒論の成績と三年次の成績の散布図である。これまでの2つの散布図
と比べると、この場合両者の間にはかなりはっきりとした直線的な関係がある
ことが示唆される。ただし、これらの判断は、あくまでも視察のレベルであるこ
とに注意せよ。
つぎの結果は、上述のプログラムのうちの3番目の means プロシジャによる
ものである。
Variable Label N Mean Std Dev ----------------------------------------------------------------------- GRADTH mark on the graduation thesis 13 77.8461538 6.7804394 ACHIEV1 average mark in grade 1 13 66.1538462 6.7681380 ACHIEV2 average mark in grade 2 13 67.4615385 7.6006073 ACHIEV3 average mark in grade 3 13 76.0769231 7.4661630 ----------------------------------------------------------------------- Variable Label Minimum Maximum ------------------------------------------------------------------- GRADTH mark on the graduation thesis 65.0000000 85.0000000 ACHIEV1 average mark in grade 1 56.0000000 78.0000000 ACHIEV2 average mark in grade 2 58.0000000 80.0000000 ACHIEV3 average mark in grade 3 62.0000000 87.0000000 ------------------------------------------------------------------- |
つぎの結果は、上述のプログラムのうちの4番目の corr プロシジャによる
ものである。ここでは、corr プロシジャにより相関行列及び各相関行列の要素、
すなわち相関係数の検定結果に先立ち出力される各変数の平均、標準偏差等の
情報は省略した。
Correlation Analysis Pearson Correlation Coefficients / Prob > |R| under Ho: Rho=0 / N = 13 GRADTH ACHIEV1 ACHIEV2 ACHIEV3 GRADTH 1.00000 0.66699 0.79868 0.94184 mark on the graduation thesis 0.0 0.0128 0.0011 0.0001 ACHIEV1 0.66699 1.00000 0.69994 0.63466 average mark in grade 1 0.0128 0.0 0.0077 0.0198 ACHIEV2 0.79868 0.69994 1.00000 0.81140 average mark in grade 2 0.0011 0.0077 0.0 0.0008 ACHIEV3 0.94184 0.63466 0.81140 1.00000 average mark in grade 3 0.0001 0.0198 0.0008 0.0 |
上の結果は、卒論データの変数間相関行列と相関係数の検定結果を示す。ここで、
同じ変数同志の相関係数はもともと1であり、検定の意味はないので注意せよ。
この結果を見ると、卒論と一年次、二年次、三年次の成績との相関はそれぞれ、
0.66699、0.79868、0.94184 となっており、卒論と一年次の成績とは5%水準で、
二年次、三年次の成績との相関はそれぞれ1%以上の高い水準で統計的に有意であ
ることがわかる。
また、三年間の成績相互の間にも有意な相関関係のあることがわかる。
最後に、reg プロシジャによる卒論データの重回帰分析結果が出力される。
重回帰分析の場合にも、付随的な出力として最初に各変数の平均や標準偏差などの
記述統計結果(出力では、Descriptive Statistics と表示される)や、変数相互の
相関行列(出力では、Correlation と表示される)が出力されるが、ここでは、
それらは省略する。
これらの出力結果の後に、SAS ではつぎのようにまず重相関係数の統計的有意性
を分散分析(Analysis of Variance)の表示による出力結果として示す。
Model: MODEL1 Dependent Variable: GRADTH mark on the graduation thesis Analysis of Variance Sum of Mean Source DF Squares Square F Value Prob>F Model 3 494.14258 164.71419 25.759 0.0001 Error 9 57.54972 6.39441 C Total 12 551.69231 Root MSE 2.52872 R-square 0.8957 Dep Mean 77.84615 Adj R-sq 0.8609 C.V. 3.24835 |
上の結果は、基準変数を卒論の成績、説明ないし予測変数を3年間の成績と
した重回帰分析における重相関係数の二乗は、0.8957 であり、分散分析表の
Prob > F の値から、重相関係数は1%以上の高い水準で統計的に有意であ
ることを示している。
言い換えれば、このデータにおける卒論の成績の全変動の約9割は、3年間の
成績でもって説明でき、統計的にも有意であるということである。それでは、卒論
の成績にはどの変数が最もよく効いているのであろうか。これを示すのが、つぎ
の偏回帰係数の有意性検定結果である。
パラメータ推定値 パラメータ 標準 標準 変数 ラベル 自由度 推定値 誤差 t 値 Pr > |t| 推定値 Intercept Intercept 1 10.30377 8.11810 1.27 0.2362 0 achiev1 average mark in grade 1 1 0.10196 0.15298 0.67 0.5218 0.10177 achiev2 average mark in grade 2 1 0.04085 0.18011 0.23 0.8256 0.04579 achiev3 average mark in grade 3 1 0.76293 0.16946 4.50 0.0015 0.84009 |
上の結果は、(2.7) 式及び (2.12) 式により計算された偏回帰係数が、定数項、
一年次、二年次、三年次の各成績(予測ないしは説明変数)に対する偏回帰係数が、
それぞれ順に 10.303773、0.101955、0.040852、0.762934 であり、Prob > | T
| の値から、ACHIEV3 すなわち三年次の成績のみが統計的に1%水準以上の
高い水準で有意であることを示している。
言い換えれば、他の変数の(線形の)影響を差し引いた場合、卒論の成績に
効いているのは三年次の成績のみである、ということである。この結果は、上述
の相関係数の検定結果とは矛盾する。すなわち、corr プロシジャによる卒論の
成績と各年次の成績との(単)相関からは、すべての年次の成績が卒論の成績
に効いていると見做せたから。
なぜこのような矛盾が生じたのであろうか。その理由は、corr プロシジャによる
分析では、卒論の成績に関係する変数を検討するに際して、各年次相互の相関関係
の情報を無視し、単純な2変数間の相関の情報のみを検討したに過ぎないからなので
ある。これに対して、重回帰分析では、基準変数に対する説明ないし予測変数の影響を
それ以外の変数の影響を考慮して(正確にはそれ以外の変数の影響を差し引いて)検討
する。
このように、重回帰分析のみならず一般に多変量解析では、2変数間の関係のみ
でなく多変数間の関係を(2変数間の共分散構造という角度から)考慮した分析を
行うために、単純な2変量間の関係の分析のみではわからないような情報を引き出せる
可能性を持つのである。ただし、例えば重回帰分析すべきデータの説明ないし予測
変数間の相関がすべてゼロの場合には、基準変数と説明ないし予測変数間の単純な2変
量間の関係の分析結果は、同一データの重回帰分析結果と一致する。