/* Lesson 12-1 */ /* File Name = les1201.sas 06/26/08 */ data gakusei; infile 'all08ae.prn' firstobs=2; input sex $ shintyou taijyuu kyoui jitaku $ kodukai carryer $ tsuuwa; if sex^='M' & sex^='F' then delete; if kodukai>=250000 then delete; : 社会人学生とおぼしき者を除外 proc print data=gakusei(obs=10); run; proc plot data=gakusei; : 散布図を描く plot shintyou*taijyuu; : 散布図の変量を指定(縦軸、横軸の順) plot taijyuu*shintyou; : run: : proc corr data=gakusei; : 相関係数(相関行列)を計算 run: :
SAS システム 2 14:49 Friday, June 20, 2008 プロット : SHINTYOU*TAIJYUU. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 50 オブザベーションが欠損値です.) SHINTYOU | 200 + | | A A B A A 180 + A BECGDEBGA C B A A A | CAJELIWRLHDHEDBABC | AFAGJJHGBCDEAA AA A A 160 + ADFHEIFDBADB | A ECBEEEA A A | A BAA 140 + ---+-----------+-----------+-----------+-----------+-- 20 40 60 80 100 TAIJYUU SAS システム 3 14:49 Friday, June 20, 2008 プロット : TAIJYUU*SHINTYOU. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 50 オブザベーションが欠損値です.) 100 + B | A A TAIJYUU | A A AA A B B B A | A B CBDDE ECGBD DCH B BB | A AA AEAB CCECG KEUJMBMGFFE CAECB A A 50 + AAB CACGC EEIBI FBEFG DABDC BC | A A B D BA BA | | | 0 + --+-----------+-----------+-----------+-----------+-----------+- 140 150 160 170 180 190 SHINTYOU SAS システム 4 14:49 Friday, June 20, 2008 Correlation Analysis 5 'VAR' Variables: SHINTYOU TAIJYUU KYOUI KODUKAI TSUUWA Simple Statistics Variable N Mean Std Dev Sum Minimum Maximum SHINTYOU 376 167.7 8.2573 63073.1 145.0 188.0 TAIJYUU 337 58.7056 9.2200 19783.8 35.0000 100.0 KYOUI 114 86.4561 7.4894 9856.0 56.0000 112.0 KODUKAI 361 45592.8 42909.3 16459000 0 200000 TSUUWA 165 6556.3 4366.1 1081782 0 30000.0 SAS システム 5 14:49 Friday, June 20, 2008 Correlation Analysis Pearson Correlation Coefficients / Prob > |R| under Ho: Rho=0 / Number of Observations SHINTYOU TAIJYUU KYOUI KODUKAI TSUUWA SHINTYOU 1.00000 0.70422 0.39976 0.02763 0.04782 0.0 0.0001 0.0001 0.6048 0.5457 376 337 114 353 162 TAIJYUU 0.70422 1.00000 0.64646 -0.00207 0.01532 0.0001 0.0 0.0001 0.9707 0.8543 337 337 114 317 146 KYOUI 0.39976 0.64646 1.00000 -0.07065 -0.17206 0.0001 0.0001 0.0 0.4654 0.2884 114 114 114 109 40 KODUKAI 0.02763 -0.00207 -0.07065 1.00000 0.21930 0.6048 0.9707 0.4654 0.0 0.0055 353 317 109 361 159 TSUUWA 0.04782 0.01532 -0.17206 0.21930 1.00000 0.5457 0.8543 0.2884 0.0055 0.0 162 146 40 159 165
[注意] 相関行列は細切れに表示されるので、 不要部分を削除することによって整形しレポート等に使うこと。
[補足] 上のプログラムでは小遣い額が25万円以上の者を
除外したが、除外せずに実行するとどのような結果が得られるであろうか?
「小遣い額と体重」、「小遣い額と胸囲」の相関係数の部分に注目せよ。
少数例(ここでは3例)の影響で相関係数が大きく変化していることに注意せよ。
KODUKAI 0.05073 0.03259 -0.27192 1.00000 0.21930
0.3398 0.5613 0.0037 0.0 0.0055
356 320 112 364 159
/* Lesson 12-2 */ /* File Name = les1202.sas 06/26/08 */ data gakusei; infile 'all08ae.prn' firstobs=2; input sex $ shintyou taijyuu kyoui jitaku $ kodukai carryer $ tsuuwa; if sex^='M' & sex^='F' then delete; proc print data=gakusei(obs=10); run; proc reg data=gakusei; : 回帰分析 model taijyuu=shintyou; : 変量を指定 output out=outreg1 predicted=pred1 residual=resid1; : 結果項目の保存 run; : : proc print data=outreg1(obs=15); : 表示してみる run; : : proc plot data=outreg1; : 散布図を描く plot taijyuu*shintyou/vaxis=20 to 100 by 20; : 体重と身長(縦軸指定) plot pred1*taijyuu; : 予測値と観測値 plot resid1*pred1 /vref=0; : 残差と予測値(残差解析)(水平軸指定) plot resid1*shintyou/vref=0; : 残差と説明変数(残差解析) plot resid1*taijyuu /vref=0; : 残差と目的変数(残差解析) run; : : proc univariate data=outreg1 plot normal; : 残差を正規プロットして確かめる var resid1; : run; :[補足] proc plot の下に以下の行を追加した方がより正確ではある。 欠損値を含むデータを解析対象から除外する事を指示する命令文である。 「欠損値です」の表示が無くなるだけで、得られる図は同じ(欠損値は描画できないから)。 試しに追加する/しないの両方で実行してみよ。
where shintyou^=. and taijyuu^=.;
SAS システム 2 14:49 Friday, June 20, 2008 Model: MODEL1 Dependent Variable: TAIJYUU Analysis of Variance Sum of Mean Source DF Squares Square F Value Prob>F Model 1 14322.46532 14322.46532 322.828 0.0001 Error 338 14995.58279 44.36563 C Total 339 29318.04812 Root MSE 6.66075 R-square 0.4885 Dep Mean 58.75235 Adj R-sq 0.4870 C.V. 11.33700 SAS システム 3 14:49 Friday, June 20, 2008 Parameter Estimates Parameter Standard T for H0: Variable DF Estimate Error Parameter=0 Prob > |T| INTERCEP 1 -77.213490 7.57597434 -10.192 0.0001 SHINTYOU 1 0.806007 0.04485939 17.967 0.0001 SAS システム 4 14:49 Friday, June 20, 2008 S H T K C I A J O A T R N I K I D R S P E T J Y T U R U R S O S Y Y O A K Y U E I B E O U U K A E W D D S X U U I U I R A 1 1 1 F 145.0 38.0 . J 10000 . 39.6576 -1.6576 2 F 146.7 41.0 85 J 10000 Vodafone 6000 41.0278 -0.0278 3 F 148.0 42.0 . J 50000 . 42.0756 -0.0756 4 F 148.0 43.0 80 J 50000 DoCoMo 4000 42.0756 0.9244 5 F 148.9 . . J 60000 . 42.8010 . 6 F 149.0 45.0 . G 60000 . 42.8816 2.1184 7 F 150.0 46.0 86 40000 . 43.6876 2.3124 8 F 150.0 . . J 10000 softbank 80 43.6876 . 9 F 151.0 45.0 . J 20000 docomo 5000 44.4936 0.5064 10 F 151.0 50.0 . G 60000 J-PHONE . 44.4936 5.5064 11 F 151.7 41.5 80 J 35000 . 45.0578 -3.5578 12 F 152.0 35.0 77 J 60000 DoCoMo 2000 45.2996 -10.2996 13 F 152.0 43.0 . J 20000 au 3500 45.2996 -2.2996 14 F 152.0 44.0 . 45000 DoCoMo 4000 45.2996 -1.2996 15 F 153.0 41.0 . J 125000 No . 46.1056 -5.1056 SAS システム 6 14:49 Friday, June 20, 2008 プロット : TAIJYUU*SHINTYOU. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 50 オブザベーションが欠損値です.) TAIJYUU | 100 + B | A A 80 + A A AA B B B B A | A B CBDDE ECGBD DCH B BB 60 + A AA AEAB CCECG KEUJMBMGFFE CBECB A A | AAB CACGC EEIBI FBEGG DABDC BC 40 + A A B D BA BA | 20 + | --+-----------+-----------+-----------+-----------+-----------+- 140 150 160 170 180 190 SHINTYOU SAS システム 7 14:49 Friday, June 20, 2008 プロット : PRED1*TAIJYUU. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 50 オブザベーションが欠損値です.) 80 + | A PRED1 | A A B A A | A BDADFBB H BA A A A A | ABBCCCNHEECIBB A BC A 60 + CGDMHHJNEIBBADBBB A A | AH FHDIADCAAE A | BCFEEHACAACA | DABDDBEA AA A | A BBCA A 40 + A A ---+------------+------------+------------+------------+-- 20 40 60 80 100 TAIJYUU SAS システム 8 14:49 Friday, June 20, 2008 プロット : RESID1*PRED1. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 50 オブザベーションが欠損値です.) | R 50 + e | s | A A i 25 + A A A d | B BA A BAA A u | A A AA ABABBBB BCBEDEEAB CA A A a 0 +--------------AABAAACCBDGCDDJBEFCFDIJEQJJJHIDEFJ-A-AB------------ l | AA BAA C DA CGDDADFFDBDFBDBCBAA | A A A -25 + ---+-----------+-----------+-----------+-----------+-----------+-- 30 40 50 60 70 80 Predicted Value of TAIJYUU SAS システム 9 14:49 Friday, June 20, 2008 プロット : RESID1*SHINTYOU. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 50 オブザベーションが欠損値です.) | R 50 + e | s | A A i 25 + A A A d | B BA A B B A u | A A AA ABAB BBB B CBEDE DBB CA A A a 0 +--------A-A-BAAAC-DBCGC-DDJBE-FCFDI-JEQHKAJHIDE-CCJ-A--AB-------- l | A A BA AAB D A CFE DADFEADBDDD CACBB AA | A A A -25 + ---+-----------+-----------+-----------+-----------+-----------+-- 140 150 160 170 180 190 SHINTYOU SAS システム 10 14:49 Friday, June 20, 2008 プロット : RESID1*TAIJYUU. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 50 オブザベーションが欠損値です.) | R 50 + e | s | A A i 25 + A A A d | BBBD A u | A ABADCBLBECGBCA A A a 0 +--------------A-DBEFFGOLESHLVUJLEJ-GA-------------------- l | A CABCL DNFIDEHCCB | A A A -25 + ---+------------+------------+------------+------------+-- 20 40 60 80 100 TAIJYUU SAS システム 11 14:49 Friday, June 20, 2008 Univariate Procedure Variable=RESID1 Residual Moments N 340 Sum Wgts 340 Mean 0 Sum 0 Std Dev 6.650922 Variance 44.23476 Skewness 1.374039 Kurtosis 3.837857 USS 14995.58 CSS 14995.58 CV . Std Mean 0.360697 T:Mean=0 0 Pr>|T| 1.0000 Num ^= 0 340 Num > 0 147 M(Sign) -23 Pr>=|M| 0.0145 Sgn Rank -3513 Pr>=|S| 0.0526 W:Normal 0.920917 Pr<W 0.0001 SAS システム 15 14:49 Friday, June 20, 2008 Univariate Procedure Variable=RESID1 Residual Histogram # Boxplot 35+* 1 * .** 5 0 .**** 16 0 .******************************** 125 +--+--+ .*********************************************** 185 *-----* -15+** 8 | ----+----+----+----+----+----+----+----+----+-- * may represent up to 4 counts SAS システム 16 14:49 Friday, June 20, 2008 Univariate Procedure Variable=RESID1 Residual Normal Probability Plot 35+ * | ***** | *******++++ | ++************** | *********************** -15+******++++ +----+----+----+----+----+----+----+----+----+----+ -2 -1 0 +1 +2
[注意] 誤差は「説明変量」の軸と垂直に取ることに注意せよ。 誤差は測定時に混入していると考えてモデルが構築されているから。
[注意] 「正規性を乱している者は何でも除外してかまわない」というわけではない。 今回の場合は、元データに戻ったところ、体育会系のずんぐりした者であったため、 普通の大学生とは異なる性質を有していると判断し除外対象とした。 除外する場合にはその根拠を明確にしないと、「恣意的な解析」と言われかねないことに注意せよ。
/* Lesson 12-3 */ /* File Name = les1203.sas 06/26/08 */ data gakusei; infile 'all08ae.prn' firstobs=2; input sex $ shintyou taijyuu kyoui jitaku $ kodukai carryer $ tsuuwa; if sex^='M' & sex^='F' then delete; if shintyou=. | taijyuu=. then delete; : 欠損値データを除外 proc print data=gakusei(obs=10); run; proc corr data=gakusei; where taijyuu<85; : 対象データを絞る run; proc reg data=gakusei; model taijyuu=shintyou; where taijyuu<85; : 対象データを絞る output out=outreg1 predicted=pred1 residual=resid1; run; proc print data=outreg1(obs=15); run; proc plot data=outreg1; where taijyuu<85; : 対象データを絞る plot taijyuu*shintyou; plot taijyuu*pred1; plot resid1*(pred1 shintyou taijyuu)/vref=0; : まとめて指定することも可 run; proc univariate data=outreg1 plot normal; var resid1; run;
SAS システム 2 14:49 Friday, June 20, 2008 Correlation Analysis 5 'VAR' Variables: SHINTYOU TAIJYUU KYOUI KODUKAI TSUUWA Simple Statistics Variable N Mean Std Dev Sum Minimum Maximum SHINTYOU 336 168.6 8.0470 56647.5 145.0 188.0 TAIJYUU 336 58.3402 8.5317 19602.3 35.0000 84.0000 KYOUI 114 85.6404 7.8865 9763.0 46.0000 110.0 KODUKAI 316 48700.9 51175.3 15389500 0 350000 TSUUWA 146 6746.6 4416.3 985002 0 30000.0 SAS システム 3 14:49 Friday, June 20, 2008 Correlation Analysis Pearson Correlation Coefficients / Prob > |R| under Ho: Rho=0 / Number of Observations SHINTYOU TAIJYUU KYOUI KODUKAI TSUUWA SHINTYOU 1.00000 0.72180 0.28498 0.04691 -0.01106 0.0 0.0001 0.0021 0.4059 0.8946 336 336 114 316 146 TAIJYUU 0.72180 1.00000 0.36946 0.05756 0.01532 0.0001 0.0 0.0001 0.3077 0.8543 336 336 114 316 146 KYOUI 0.28498 0.36946 1.00000 -0.27987 -0.17206 0.0021 0.0001 0.0 0.0032 0.2884 114 114 114 109 40 KODUKAI 0.04691 0.05756 -0.27987 1.00000 0.24849 0.4059 0.3077 0.0032 0.0 0.0031 316 316 109 316 140 TSUUWA -0.01106 0.01532 -0.17206 0.24849 1.00000 0.8946 0.8543 0.2884 0.0031 0.0 146 146 40 140 146 SAS システム 6 14:49 Friday, June 20, 2008 Model: MODEL1 Dependent Variable: TAIJYUU Analysis of Variance Sum of Mean Source DF Squares Square F Value Prob>F Model 1 12704.19857 12704.19857 363.283 0.0001 Error 334 11680.16902 34.97057 C Total 335 24384.36759 Root MSE 5.91359 R-square 0.5210 Dep Mean 58.34018 Adj R-sq 0.5196 C.V. 10.13640 SAS システム 7 14:49 Friday, June 20, 2008 Parameter Estimates Parameter Standard T for H0: Variable DF Estimate Error Parameter=0 Prob > |T| INTERCEP 1 -70.680742 6.77689086 -10.430 0.0001 SHINTYOU 1 0.765277 0.04015100 19.060 0.0001 SAS システム 10 14:49 Friday, June 20, 2008 プロット : TAIJYUU*SHINTYOU. 凡例: A = 1 OBS, B = 2 OBS, ... TAIJYUU | 100 + | | A A 75 + A B BBB B C B CA A A | BB B CBICDAEDGDD CCLAB BA | A AA AEAB CADCG JEOJLALFEDE CAABA A A 50 + AA CACGB DEGBH FBEGG DABDC BC | A A BA AC BA BB A B A | A 25 + --+-----------+-----------+-----------+-----------+-----------+- 140 150 160 170 180 190 SHINTYOU SAS システム 11 14:49 Friday, June 20, 2008 プロット : TAIJYUU*PRED1. 凡例: A = 1 OBS, B = 2 OBS, ... TAIJYUU | 100 + | | A A 75 + A B BBBAACAACA A A | BB EBHDDFDGDDCOAB BA | A AA AEABCADDNGOJLLGEFCCACAA A 50 + AA CAJBDDHCGFBEHIBBDC BC | A ABA BBBABBA B A | A 25 + ---+-----------+-----------+-----------+-----------+-- 40 50 60 70 80 Predicted Value of TAIJYUU SAS システム 12 14:49 Friday, June 20, 2008 プロット : RESID1*PRED1. 凡例: A = 1 OBS, B = 2 OBS, ... | R 40 + e | s | i 20 + A A A A d | A AAABB AC BA A u | A B B ABABBBBABEBHDCDBD AB A a 0 +--A-ABAAABABCGACDGCEEAFCIFFLGKKGGDECCJ-A-AB-------------- l | AB ABBB E DBBCFECBEFDDCBDDCACBBAA | A AA C A A -20 + ---+------------+------------+------------+------------+-- 40 50 60 70 80 Predicted Value of TAIJYUU SAS システム 13 14:49 Friday, June 20, 2008 プロット : RESID1*SHINTYOU. 凡例: A = 1 OBS, B = 2 OBS, ... | R 40 + e | s | i 20 + A A A A d | A AAABB A C B A A u | A B B ABAB BBBAB EBICC DBD BA A a 0 +--------A-A-BAAAB-BACGA-CDHBE-EAFCI-HDLGKAJHFDE-CCJ-A--AB-------- l | A BA BB BAD D BBCFE DAEFDADBBDD CACBB AA | A AA C A A -20 + ---+-----------+-----------+-----------+-----------+-----------+-- 140 150 160 170 180 190 SHINTYOU SAS システム 14 14:49 Friday, June 20, 2008 プロット : RESID1*TAIJYUU. 凡例: A = 1 OBS, B = 2 OBS, ... | R 40 + e | s | i 20 + A B A d | A A AB CA BCA A u | B A A B AE EFDHBAGAEB AB a 0 +----------A--AABABDADGGDFEEMFEJCUFMEEGECD-G-A-------------------- l | ADAACDEI BBFGFEFDDAHC CAA | A C B A A -20 + ---+---------+---------+---------+---------+---------+---------+-- 30 40 50 60 70 80 90 TAIJYUU SAS システム 15 14:49 Friday, June 20, 2008 Univariate Procedure Variable=RESID1 Residual Moments N 336 Sum Wgts 336 Mean 0 Sum 0 Std Dev 5.904759 Variance 34.86618 Skewness 0.79734 Kurtosis 1.086397 USS 11680.17 CSS 11680.17 CV . Std Mean 0.322131 T:Mean=0 0 Pr>|T| 1.0000 Num ^= 0 336 Num > 0 150 M(Sign) -18 Pr>=|M| 0.0560 Sgn Rank -2523 Pr>=|S| 0.1571 W:Normal 0.955129 Pr<W 0.0001 SAS システム 18 14:49 Friday, June 20, 2008 Univariate Procedure Variable=RESID1 Residual Histogram # Boxplot 22.5+* 2 0 .** 4 0 .***** 14 0 .************** 40 | .****************************** 90 +--+--+ .******************************************** 130 *-----* .**************** 48 | -12.5+*** 8 | ----+----+----+----+----+----+----+----+---- * may represent up to 3 counts SAS システム 19 14:49 Friday, June 20, 2008 Univariate Procedure Variable=RESID1 Residual Normal Probability Plot 22.5+ * | **** | ******++++ | *******+ | +********* | ************ | **********+ -12.5+******+++ +----+----+----+----+----+----+----+----+----+----+ -2 -1 0 +1 +2