平均値の比較、if文

統計解析 02 クラス : 第10回 (06/23/05)

 今回は、単変量の集計としてよく利用される平均値の検定方法について紹介する。 仮定条件や判断基準等、一見複雑に見える論理展開なので、 混乱しないように理解してほしい。
 後半では、条件に合致した場合に、特定の処理を実行するための if 文について紹介する。
  1. 平均値の比較 : 2つのグループの「平均値」に差があると言えるのか?

  2. 正規性の確認
    各分布を正規分布と見て良いかは、 第4回 の第1節で説明した「proc univariate」の「Normal Probability Plot」で判断する。 「plot オプション」を忘れないように。
    1. プログラム : les1001.sas
       /* Lesson 10-1 */
       /*    File Name = les1001.sas   06/23/05   */
      
      data gakusei;
        infile 'all05a.prn'
          firstobs=2;
        input sex $ shintyou taijyuu kyoui 
              jitaku $ kodukai carryer $ tsuuwa;
      
      if sex^='M' & sex^='F' then delete;          : 性別不明は除外する
      
      proc print data=gakusei(obs=5);
      run;
      
      proc sort data=gakusei;
        by sex;
      run;
      proc univariate data=gakusei plot;
        var shintyou taijyuu kyoui kodukai;
        by sex;
      run;
      
    2. 出力結果 : les1001.lst
                                    SAS システム                             8
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=SHINTYOU
                                   Normal Probability Plot              
               172.5+                                             ++*++*
                    |                                  *****+*+**+*     
                    |                         **********+               
                    |                 *********+                        
                    |         +*******+                                 
               147.5+*++*+*++**                                         
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
                                    SAS システム                            15
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=TAIJYUU
                                   Normal Probability Plot              
                57.5+                                      ***+**+*+++* 
                    |                          ***********+*            
                47.5+                **********++                       
                    |       **+***+**++                                 
                37.5++*+++*+                                            
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
                                    SAS システム                            22
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=KYOUI
                                   Normal Probability Plot              
                92.5+                                           +++*++++
                    |                          **********+**+++*        
                82.5+              *****+***+*+++++                     
                    |     +++*+*+**++++                                 
                72.5+++++*                                              
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
                                    SAS システム                            29
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=KODUKAI
                                   Normal Probability Plot              
              325000+                                                  *
                    |                                                   
                    |                                              *    
              175000+                                          ***  ++++
                    |                                     *****+++++    
                    |                          +**********              
               25000+*   * *********************                        
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
                                    SAS システム                            36
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=SHINTYOU
                                   Normal Probability Plot              
               187.5+                                                 **
                    |                                      *******+**+  
                    |                              *********+           
               172.5+                    ***********                    
                    |           *********++                             
                    |   ********++                                      
               157.5+**+                                                
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
                                    SAS システム                            43
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=TAIJYUU
                                   Normal Probability Plot              
                 105+                                                  *
                    |                                               * * 
                    |                                             ** +++
                  75+                                   +*******+*+++   
                    |                     ***************               
                    |      ****************+                            
                  45+**++*+++++                                         
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
                                    SAS システム                            50
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=KYOUI
                                   Normal Probability Plot              
                 115+                                             *  *  
                    |                                       ****++++++++
                    |                         ************+*            
                  85+            *************++                        
                    |    +*++***+++++                                   
                    |++++                                               
                  55+  *                                                
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
                                    SAS システム                            57
                                                   21:12 Monday, June 20, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=KODUKAI
                                   Normal Probability Plot              
              325000+                                                  *
                    |                                                   
                    |                                                 * 
              175000+                                       ***** ***+++
                    |                                 ******+++++++     
                    |                          ++******++               
               25000+** **************************                      
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
    3. 解釈
      • 基準線にどの程度乗っているかで判断する

      • 正規分布と言っても良さそう : 身長(男, 女)、体重(女)
      • 正規分布から若干離れてる : 体重(男)、胸囲(男、女)
      • 正規分布とは言えなさそう : 小遣い額(男, 女)

      • 比較する両群ともが正規分布の場合は、パラメトリック検定が使える。<=== 身長
      • 比較する両群の少なくとも片方が正規分布でない場合は、ノンパラメトリック検定を使う。<=== 体重、胸囲、小遣い額

  3. パラメトリック検定 : t 検定、Welch の検定
    1. プログラム : les1002.sas
       /* Lesson 10-2 */
       /*    File Name = les1002.sas   06/23/05   */
      
      data gakusei;
        infile 'all05a.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 ttest data=gakusei;               : t検定
        class sex;                           : 分類したい特性変数の指定
        var shintyou taijyuu kyoui kodukai;  : 比較したい変量名
      run;                                   : 
      
    2. 出力結果 : les1002.lst
                                    SAS システム                             2
                                                   21:12 Monday, June 20, 2005
                                  TTEST PROCEDURE
      Variable: SHINTYOU                                             
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F       105        159.07809524          5.48715249          0.53549125
      M       207        172.05555556          5.45567804          0.37919584
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal   -19.7780    208.0      0.0001
      Equal     -19.8154    310.0      0.0000
      
      For H0: Variances are equal, F' = 1.01    DF = (104,206)  Prob>F' = 0.9313
      
                                    SAS システム                             3
                                                   21:12 Monday, June 20, 2005
                                  TTEST PROCEDURE
      Variable: TAIJYUU                                              
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F        74         48.61081081          4.76435301          0.55384479
      M       207         62.11497585          7.95609419          0.55298677
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal   -17.2544    215.3      0.0001
      Equal     -13.7375    279.0      0.0000
      
      For H0: Variances are equal, F' = 2.79    DF = (206,73)  Prob>F' = 0.0000
      
                                    SAS システム                             4
                                                   21:12 Monday, June 20, 2005
                                  TTEST PROCEDURE
      Variable: KYOUI                                                
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F        39         83.10256410          4.03142179          0.64554413
      M        65         88.52307692          8.55333943          1.06091119
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal    -4.3648     97.6      0.0001
      Equal      -3.7126    102.0      0.0003
      
      For H0: Variances are equal, F' = 4.50    DF = (64,38)  Prob>F' = 0.0000
      
                                    SAS システム                             5
                                                   21:12 Monday, June 20, 2005
                                  TTEST PROCEDURE
      Variable: KODUKAI                                              
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F       102      49044.11764706      46049.91388717       4559.62090897
      M       198      48176.76767677      50521.18282832       3590.38412338
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal     0.1495    221.4      0.8813
      Equal       0.1451    298.0      0.8847
      
      For H0: Variances are equal, F' = 1.20    DF = (197,101)  Prob>F' = 0.2987
      
    3. 結果の見方 : 二段階、このデータでは?
      • 等分散と言えるか? : Prob> F'
        • 身長(93.1%)と小遣い(29.9%)は等分散であると言える ===> t検定 : Equal の項
        • 体重(0.00%)と胸囲(0.00%)は等分散であると言えない ===> Welchの検定 : Unequal の項
      • 平均に差があると言えるか? : Prob>|T|
        • 身長(0.00%, Equal の項)や体重(0.01%, Unequal の項)、胸囲(0.01%, Unequal の項)は性別によって平均に差があると言える。
        • 小遣い(88.5%, Equal の項)は性別によって平均に差があるとは言えない。
        • ただし、体重、胸囲、小遣い額の分布のどちらか一方、または両方が 正規分布とは言えないので、身長以外の結論は信憑性に欠ける。 よって、体重、胸囲、小遣い額については次節で説明するノンパラメトリック検定の結果を待つ必要がある。

      • 検定基準
        • どれくらいの割合(確率)でその仮説が発生するか?
        • 確率が小さい ==> 稀なこと(普通ではない) ==> 有意(分散が等しいとは言えない、平均に差がある)
        • 5% 有意、1% 有意 : 今までの慣習から

    4. [演習1] 上記の結果を、自宅生/下宿生間の差として 検定した場合、身長、体重、胸囲、小遣い額に差があると言えるか 各自で結論づけてみよ

  4. ノンパラメトリック検定 : Wilcoxon 検定
    1. プログラム : les1003.sas

       /* Lesson 10-3 */
       /*    File Name = les1003.sas   06/23/05   */
      
      data gakusei;
        infile 'all05a.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 npar1way data=gakusei wilcoxon;   : wilcoxon 検定
        class sex;                           : 分類したい特性変数の指定
        var shintyou taijyuu kyoui kodukai;  : 比較したい変量名
      run;                                   : 
      
    2. 出力結果 : les1003.lst
                                    SAS システム                             2
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
                 Wilcoxon Scores (Rank Sums) for Variable SHINTYOU
                             Classified by Variable SEX
      
                              Sum of     Expected      Std Dev         Mean
         SEX          N       Scores     Under H0     Under H0        Score
      
         F          105       6514.0   16432.5000   752.445341    62.038095
         M          207      42314.0   32395.5000   752.445341   204.415459
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             3
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  6514.00   Z = -13.1810   Prob > |Z| = 0.0001
      
               T-Test Approx. Significance = 0.0001
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  173.76   DF =  1   Prob > CHISQ = 0.0001
      
                                    SAS システム                             4
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
                  Wilcoxon Scores (Rank Sums) for Variable TAIJYUU
                             Classified by Variable SEX
      
                              Sum of     Expected      Std Dev         Mean
         SEX          N       Scores     Under H0     Under H0        Score
      
         F           74    3483.5000      10434.0   599.430726    47.074324
         M          207   36137.5000      29187.0   599.430726   174.577295
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             5
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  3483.50   Z = -11.5943   Prob > |Z| = 0.0001
      
               T-Test Approx. Significance = 0.0001
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  134.45   DF =  1   Prob > CHISQ = 0.0001
      
                                    SAS システム                             6
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
                   Wilcoxon Scores (Rank Sums) for Variable KYOUI
                             Classified by Variable SEX
      
                              Sum of     Expected      Std Dev         Mean
         SEX          N       Scores     Under H0     Under H0        Score
      
         F           39       1377.0   2047.50000   148.164652   35.3076923
         M           65       4083.0   3412.50000   148.164652   62.8153846
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             7
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  1377.00   Z = -4.52200   Prob > |Z| = 0.0001
      
               T-Test Approx. Significance = 0.0001
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  20.479   DF =  1   Prob > CHISQ = 0.0001
      
                                    SAS システム                             8
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
                  Wilcoxon Scores (Rank Sums) for Variable KODUKAI
                             Classified by Variable SEX
      
                              Sum of     Expected      Std Dev         Mean
         SEX          N       Scores     Under H0     Under H0        Score
      
         F          102      16198.0      15351.0   708.064743   158.803922
         M          198      28952.0      29799.0   708.064743   146.222222
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             9
                                                   21:13 Monday, June 20, 2005
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  16198.0   Z =  1.19551   Prob > |Z| = 0.2319
      
               T-Test Approx. Significance = 0.2328
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  1.4309   DF =  1   Prob > CHISQ = 0.2316
      
    3. 結果の見方 : Prob>|Z|
      • この手法では身長/体重/胸囲/小遣いの検定結果はパラメトリック手法と同じであった。

      • 身長(0.01%)や体重(0.01%)、胸囲(0.01%)は性別によって平均に差があると言える。
      • 小遣い(23.2%)は性別によって平均に差があるとは言えない。

    4. [演習2] 上記の結果を、自宅生/下宿生間の差として 検定した場合、身長、体重、胸囲、小遣い額に差があると言えるか 各自で結論づけてみよ

  5. 対応のある 2群の検定
    1. プログラム : les1004.sas

       /* Lesson 10-4 */
       /*    File Name = les1004.sas   06/23/05   */
      
      data pair;                                     :
        input x y @@;                                : @@ は 1行に複数のデータがあることを示す 
        dif=x-y;                                     : 差(difference)を計算する
      cards;                                         : データをプログラム内に記述する
        3.51 3.39  3.07 3.39  3.29 3.20  3.03 3.11   : x1,y1,  x2,y2,  x3,y3,  x4,y4,
        3.38 3.17  3.30 3.09  3.15 3.17  3.25 3.09   : x5,y5,  x6,y6,  x7,y7,  x8,y8
      ;                                              :
                                                     :
      proc print data=pair;                          :
      run;                                           :
      proc univariate data=pair plot;                :
        var dif;                                     : 差について
      run;                                           :
      
    2. 出力結果 : les1004.lst
                                    SAS システム                             1
                                                   21:13 Monday, June 20, 2005
      
                            OBS      X       Y      DIF
      
                             1     3.51    3.39     0.12
                             2     3.07    3.39    -0.32
                             3     3.29    3.20     0.09
                             4     3.03    3.11    -0.08
                             5     3.38    3.17     0.21
                             6     3.30    3.09     0.21
                             7     3.15    3.17    -0.02
                             8     3.25    3.09     0.16
      
                                    SAS システム                             2
                                                   21:13 Monday, June 20, 2005
                                Univariate Procedure
      Variable=DIF
                                      Moments
      
                      N                 8  Sum Wgts          8
                      Mean        0.04625  Sum            0.37
                      Std Dev    0.180629  Variance   0.032627
                      Skewness   -1.31523  Kurtosis   1.511099
                      USS          0.2455  CSS        0.228388
                      CV         390.5489  Std Mean   0.063862
                      T:Mean=0   0.724218  Pr>|T|       0.4924
                      Num ^= 0          8  Num > 0           5
                      M(Sign)           1  Pr>=|M|      0.7266
                      Sgn Rank          7  Pr>=|S|      0.3594
      
                                    SAS システム                             5
                                                   21:13 Monday, June 20, 2005
                                Univariate Procedure
      Variable=DIF
                  Stem Leaf                     #             Boxplot
                     2 11                       2                |   
                     1 26                       2             +-----+
                     0 9                        1             |  +  |
                    -0 82                       2             +-----+
                    -1                                           |   
                    -2                                           |   
                    -3 2                        1                |   
                       ----+----+----+----+              
                   Multiply Stem.Leaf by 10**-1          
      
                                    SAS システム                             6
                                                   21:13 Monday, June 20, 2005
                                Univariate Procedure
      Variable=DIF
                                   Normal Probability Plot              
                0.25+                                  *++++*           
                    |                           *++*+++                 
                    |                       *++++                       
               -0.05+                *+++*++                            
                    |            +++++                                  
                    |      ++++++                                       
               -0.35+ +++++     *                                       
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
    3. 結果の見方 :
      • T:Mean=0 : 平均=0 (帰無仮説)の検定のための t 統計量
      • Pr>=|T| : t 統計量の両側有意確率
        • t 統計量を適用する場合は、差の分布が正規分布に従っていることを仮定している
        • 差の分布が正規分布をしているかを確認するには : Normal Probability Plot
      • M(Sign) : 母集団の中央値がゼロであるという仮説を検定するための符合付き順位和検定統計量
      • Pr>=|M| : 母集団の中央値がゼロであるという仮説の下で、その符合統計量よりも大きい絶対値が得られる確率
      • Sgn Rank : 平均=0 (帰無仮説)の検定のための符合付き順位和検定統計量
      • Pr>=|S| : 符合付き順位和検定統計量のための近似的有意確率

      • この例では、ほぼ正規分布と言えそうだ。少数サンプルなので確度は低い。
      • どの統計指標を用いても、差がゼロであることが結構な確率で起りそう : 49.2%(Pr>=|T| の項), 72.7%(Pr>=|M| の項), 35.9%(Pr>=|S| の項)。
        つまり、差があるとは言えない。薬が効いているとは断定できない。

  6. if 文 : ある条件に合致した場合に、特定の処理を実行する。
    [例1] 目的のサンプルだけを抽出する : 条件を書き並べる
    [例2] 変量の値を割り当てなおす : 新しい値を右辺に書く
    [例3] 新しい変量を定義する : 新しい変量を左辺に書く

    [例4] 複数の処理をさせたい場合 : do 〜 end で囲む

    [比較演算子]

    = : 等しい
    ^= : 等しくない
    > : より大きい
    < : より小さい
    >= : 以上
    <= : 以下

    [論理演算子]

    ^ : 否定(NOT)
    & : 論理和(AND)
    | : 論理積(OR)

  7. 次回は、... : 06月30日 14:45
    • 二変量の関係
    • 多変量解析 : 単回帰分析、重回帰分析、...
    • ...

  8. [おまけ] 単変量、二変量を視覚的に捉えると? by Mathematica
    1. 1 dim. Normal Distribution [式(a)] 1次元正規分布 N(0,1)
    2. 2 dim. Normal Distribution [式(b)] 2次元正規分布 N({0,0},{1,1}, ρ=0.0)
    3. 2 dim. Normal Distribution [式(c)] 2次元正規分布 N({0,0},{1,1}, ρ=0.7)
    4. 2 dim. Normal Distribution [式(d)] 2次元正規分布 N({0,0},{1,1}, ρ=0.7)、y=1 で切り出し
    5. 2 dim. Normal Distribution [式(e)] 2次元正規分布 N({0,0},{1,1}, ρ=0.7)、x+y=2 で切り出し
[DIR]講義のホームページへ戻ります