二変量の関係、単回帰分析

統計処理 01 クラス : 第12回目(07/05/01)

ここまで、SAS の使い方と,単変量(一変量)を取り扱う統計手法を主に紹介してきた。 今後は、二変量以上、つまり、多変量解析を紹介していくことにする。 まずは二変量の関係を説明する方法について説明する。
  1. 複数変量の関係

  2. 散布図と相関係数

    1. プログラム : les1201.sas

       /* Lesson 12-1 */
       /*    File Name = les1201.sas   07/05/01   */
      
      data gakusei;
        infile 'all01.prn';
        input seibetsu $ height weight chest jitaku $ kodukai;
      
      proc print data=gakusei(obs=10);
      run;                                 :
                                           :
      proc plot data=gakusei;              : 散布図を描く
        plot height*weight;                : 散布図の変量を指定(縦軸、横軸の順)
        plot weight*height;                : 
      run;                                 :
      
                                           :
      proc corr data=gakusei;              : 相関係数(相関行列)を計算
      run;                                 :
      
    2. 出力結果 : les1201.lst
      
                                    SAS システム                             2
                                                 21:24 Thursday, June 28, 2001
      
             プロット : HEIGHT*WEIGHT.  凡例: A = 1 OBS, B = 2 OBS, ...
                   (NOTE: 30 オブザベーションが欠損値です.)
           HEIGHT |
              200 +
                  |
                  |                               B       A
              180 +                       A ACBCDBABA   B      A     A
                  |                    AABAHFNMFFCBCCB BA
                  |                   C FFDDCBBBCAA           A
              160 +                A BBAGCBAABB
                  |               A  CC   A   A
                  |             A A A
              140 +
                  ---+-----------+-----------+-----------+-----------+--
                    20          40          60          80          100
                                          WEIGHT
      
                                    SAS システム                             3
                                                 21:24 Thursday, June 28, 2001
      
             プロット : WEIGHT*HEIGHT.  凡例: A = 1 OBS, B = 2 OBS, ...
              (NOTE: 30 オブザベーションが欠損値です.)
      WEIGHT |
         100 +                                               A
             |                                                   A
             |                                    A
          80 +                                           A B A        A
             |                                     ABC B A   A A A
             |                               A B ABCBA B CAB ABC A  AA
          60 +                    AA   A B BA AB F IEG GFDC  B BAA A
             |                 A   A  AD C DB CF DCADBA  B      A
             |            AA   AAAB  AA  A A AB
          40 +       A   A   A     A
             --+-----------+-----------+-----------+-----------+-----------+--
              140         150         160         170         180         190
                                           HEIGHT
      
      
                                    SAS システム                             5
                                                 21:24 Thursday, June 28, 2001
      
                                Correlation Analysis
      
                4 'VAR' Variables:  HEIGHT   WEIGHT   CHEST    KODUKAI 
      
                                 Simple Statistics
       
        Variable         N      Mean   Std Dev       Sum   Minimum   Maximum
      
        HEIGHT         196     168.6    7.8736   33039.7     145.0     186.0
        WEIGHT         175   59.9069    8.8533   10483.7   38.0000     100.0
        CHEST           72   87.5556    7.8613    6304.0   56.0000     112.0
        KODUKAI        185   52710.8   51890.1   9751500         0    300000
      
                                    SAS システム                             6
                                                 21:24 Thursday, June 28, 2001
      
                                Correlation Analysis
      
           Pearson Correlation Coefficients / Prob > |R| under Ho: Rho=0
           / Number of Observations  
      
                       HEIGHT          WEIGHT           CHEST         KODUKAI
      
      HEIGHT          1.00000         0.65673         0.34704         0.03445
                       0.0             0.0001          0.0028          0.6471
                          196             175              72             179
      
      WEIGHT          0.65673         1.00000         0.65793        -0.08900
                       0.0001          0.0             0.0001          0.2615
                          175             175              72             161
      
      
      CHEST           0.34704         0.65793         1.00000        -0.16051
                       0.0028          0.0001          0.0             0.1910
                           72              72              72              68
      
      KODUKAI         0.03445        -0.08900        -0.16051         1.00000
                       0.6471          0.2615          0.1910          0.0   
                          179             161              68             185
      
    3. 結果の見方
      • 縦軸と横軸の該当部分が交差したところにマークを付置
      • データが1つなら「Aマーク」、2つなら「Bマーク」、...
      • データ全体がどこに分布しているかが判る
      • 各変量の平均値との比較
      • 外れ値(Outlier)を見つける <===> 異常値
      • サンプルサイズ、平均、標準偏差、最大値、最小値 <=== proc means だけでなく proc corr でも得られる。
      • 相関係数(R) / 仮説「相関係数(R)=0」の起る確率 / サンプルサイズ
      • -1 ≦ 相関係数(R)≦ 1
      • R=0 : 無相関。R>0 : 正の相関、右肩上がり。R<0 : 負の相関、右肩下がり。
      • 相関係数(R)が 0 かの検定 : 値が小さいと有意(相関係数が 0 ではない)
        この例 : 身長と体重、身長と胸囲、体重と胸囲の間には有意な関係があると言える(5%, 1%)。

  3. 単回帰分析 : 予測等に使う、連続変量の関係

    1. プログラム : les1202.sas

       /* Lesson 12-2 */
       /*    File Name = les1202.sas   07/05/01   */
      
      data gakusei;
        infile 'all01.prn';
        input seibetsu $ height weight chest jitaku $ kodukai;
      
      proc print data=gakusei(obs=10);
      run;                                                   :
      proc reg data=gakusei;                                 : 回帰分析
        model weight=height;                                 : 変量を指定
        output out=outreg1 predicted=pred1 residual=resid1;  : 結果項目の保存
      run;                                                   :
                                                             :
      proc print data=outreg1(obs=15);                       : まずは表示
      run;                                                   :
                                                             :
      proc plot data=outreg1;                                : 散布図を描く
        plot height*weight;                                  : 身長と体重
        plot weight*height;                                  : 体重と身長
        plot pred1*weight;                                   : 予測値と観測値
        plot resid1*pred1;                                   : 残差と予測値(残差解析)
        plot resid1*height;                                  : 残差と説明変数(残差解析)
        plot resid1*weight;                                  : 残差と目的変数(残差解析)
      run;                                                   :
      
      
      # [補足] proc plot の下に以下の行を追加した方がより正確ではある。「欠損値です」の表示が無くなるだけで、得られる図は同じ。
        where weight^=. and height^=.;
      
    2. 出力結果 : les1202.lst
      
                                    SAS システム                             2
                                                 21:24 Thursday, June 28, 2001
      Model: MODEL1  
      Dependent Variable: WEIGHT                                             
      
                                Analysis of Variance
      
                                Sum of         Mean
       Source          DF      Squares       Square      F Value       Prob>F
      
       Model            1   5882.22184   5882.22184      131.202       0.0001
       Error          173   7756.14993     44.83324
       C Total        174  13638.37177
      
           Root MSE       6.69576     R-square       0.4313
           Dep Mean      59.90686     Adj R-sq       0.4280
           C.V.          11.17696
      
                                    SAS システム                             3
                                                 21:24 Thursday, June 28, 2001
      
                                Parameter Estimates
      
                         Parameter      Standard    T for H0:               
        Variable  DF      Estimate         Error   Parameter=0    Prob > |T|
      
        INTERCEP   1    -69.548530   11.31317660        -6.148        0.0001
        HEIGHT     1      0.763597    0.06666431        11.454        0.0001
      
                                    SAS システム                             4
                                                 21:24 Thursday, June 28, 2001
      
      OBS  SEIBETSU  HEIGHT  WEIGHT  CHEST  JITAKU  KODUKAI   PRED1     RESID1
      
        1     F       145.0   38.0      .     J       10000  41.1730   -3.1730
        2     F       148.0   42.0      .     J       50000  43.4638   -1.4638
        3     F       148.9     .       .     J       60000  44.1510     .    
        4     F       149.0   45.0      .     G       60000  44.2274    0.7726
        5     F       150.0   46.0     86             40000  44.9910    1.0090
        6     F       151.7   41.5     80     J       35000  46.2891   -4.7891
        7     F       153.0   46.5     87     G       10000  47.2818   -0.7818
        8     F       153.0   55.0     78     J       30000  47.2818    7.7182
        9     F       154.0   46.0      .                 .  48.0454   -2.0454
       10     F       155.0   48.0     83     G      180000  48.8090   -0.8090
       11     F       155.0     .       .     J       20000  48.8090     .    
       12     F       156.0   48.0     70     J       30000  49.5726   -1.5726
       13     F       156.0   49.0     85     J       25000  49.5726   -0.5726
       14     M       156.0   61.0     90     J           0  49.5726   11.4274
       15     F       156.0     .       .     J       30000  49.5726     .    
      
                                    SAS システム                             5
                                                 21:24 Thursday, June 28, 2001
      
             プロット : HEIGHT*WEIGHT.  凡例: A = 1 OBS, B = 2 OBS, ...
                   (NOTE: 30 オブザベーションが欠損値です.)
           HEIGHT |
              200 +
                  |
                  |                               B       A
              180 +                       A ACBCDBABA   B      A     A
                  |                    AABAHFNMFFCBCCB BA
                  |                   C FFDDCBBBCAA           A
              160 +                A BBAGCBAABB
                  |               A  CC   A   A
                  |             A A A
              140 +
                  ---+-----------+-----------+-----------+-----------+--
                    20          40          60          80          100
                                          WEIGHT
      
                                    SAS システム                             6
                                                 21:24 Thursday, June 28, 2001
      
             プロット : WEIGHT*HEIGHT.  凡例: A = 1 OBS, B = 2 OBS, ...
              (NOTE: 30 オブザベーションが欠損値です.)
      WEIGHT |
         100 +                                               A
             |                                                   A
             |                                    A
          80 +                                           A B A        A
             |                                     ABC B A   A A A
             |                               A B ABCBA B CAB ABC A  AA
          60 +                    AA   A B BA AB F IEG GFDC  B BAA A
             |                 A   A  AD C DB CF DCADBA  B      A
             |            AA   AAAB  AA  A A AB
          40 +       A   A   A     A
             --+-----------+-----------+-----------+-----------+-----------+--
              140         150         160         170         180         190
                                           HEIGHT
      
                                    SAS システム                             7
                                                 21:24 Thursday, June 28, 2001
      
             プロット : PRED1*WEIGHT.  凡例: A = 1 OBS, B = 2 OBS, ...
                 (NOTE: 30 オブザベーションが欠損値です.)
             80 +
                |
          PRED1 |                             A   B        A
                |                         A ACAAEAA C    A       A     A
                |                       A ACAIDDD D A A BB
             60 +                      BDBEEFEJBEBAADAA         A
                |                   AD DHBD ADBAC
                |                 A   BABABAA
                |                A  BBA   A   A
                |                A AA
             40 +              A
                ---+------------+------------+------------+------------+--
                  20           40           60           80           100
                                          WEIGHT
      
                                    SAS システム                             8
                                                 21:24 Thursday, June 28, 2001
      
             プロット : RESID1*PRED1.  凡例: A = 1 OBS, B = 2 OBS, ...
                 (NOTE: 30 オブザベーションが欠損値です.)
                |
          R  50 +
          e     |
          s     |                                    A
          i  25 +                            A
          d     |                            A   AA A    A
          u     |           A  AA  A BBAA BABCCCB A AAA      A
          a   0 +    A  BA  AAABAABCACD  CFDDHGHGEGBBABD A AA
          l     |          A    A    AABACBCBADBB CB B ABBA
                |                                       A
            -25 +
                ---+------------+------------+------------+------------+--
                  40           50           60           70           80
                                 Predicted Value of WEIGHT
      
                                    SAS システム                             9
                                                 21:24 Thursday, June 28, 2001
      
             プロット : RESID1*HEIGHT.  凡例: A = 1 OBS, B = 2 OBS, ...
             (NOTE: 30 オブザベーションが欠損値です.)
            |
      R  50 +
      e     |
      s     |                                                A
      i  25 +                                     A
      d     |                                      A   A A A     A
      u     |                  A  AA   A B BAA B ABCCC B A A B        A
      a   0 +        A   AAA   AAABA ABD C D  CF FBIFH GFFBB ABD A  AA
      l     |                A     A     A ABACB DAADBAA CB  B BAB A
            |                                                   A
        -25 +
            ---+-----------+-----------+-----------+-----------+-----------+--
              140         150         160         170         180         190
                                          HEIGHT
      
                                    SAS システム                            10
                                                 21:24 Thursday, June 28, 2001
      
             プロット : RESID1*WEIGHT.  凡例: A = 1 OBS, B = 2 OBS, ...
                 (NOTE: 30 オブザベーションが欠損値です.)
                |
          R  50 +
          e     |
          s     |                                                      A
          i  25 +                                               A
          d     |                                     A BA       A
          u     |                         AAABCAFBBAFAA  B A
          a   0 +              A A ACBCCGCHDGONFJAF B
          l     |                AA AD DHBDDBDBAA
                |                         A
            -25 +
                ---+------------+------------+------------+------------+--
                  20           40           60           80           100
                                          WEIGHT
      

    3. 結果の見方
      • 説明変量が予測に役立っているか?
        回帰に役立っているか : Prob>F : 小さいと有意(役立っている)
      • 決定係数 : R-Square ( 相関係数 : R )
        1 に近いほど当てはまりが良いと言える。
      • 回帰係数 : Parameter Estimate
      • 説明変数が予測に役立っているか?
        回帰係数の検定(係数=0 か?) : Prob>|T| : 小さいと有意(ゼロではないと言える)
      • 残差の性質 ===> 正規性 : 残差プロット、残差解析
        • 残差(予測誤差)は正規分布をしていると仮定してモデルが構築されている。
        • この仮定が覆ると、回帰分析として成立していないことになる。
        • 残差が正規分布をしているか確認する必要がある。
        • 均等に散らばっているか?
        • 傾向はないか?
        • ...

  4. 次回は、... : 7月12日 14:45
おまけ : 視覚的に捉えると? by Mathematica
  1. 1 dim. Normal Distribution 1次元正規分布 N(0,1)
  2. 2 dim. Normal Distribution 2次元正規分布 N({0,0},{1,1}, ρ=0.0)
  3. 2 dim. Normal Distribution 2次元正規分布 N({0,0},{1,1}, ρ=0.7)
  4. 2 dim. Normal Distribution 2次元正規分布 N({0,0},{1,1}, ρ=0.7)、y=1 で切り出し
  5. 2 dim. Normal Distribution 2次元正規分布 N({0,0},{1,1}, ρ=0.7)、x+y=2 で切り出し
[DIR]講義のホームページへ戻ります