平均値の比較、if文

統計解析 06 クラス : 第11回 (12/22/05)

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

  2. 正規性の確認
    各分布を正規分布と見て良いかは、 第7回 の第1節で説明した「proc univariate」の「Normal Probability Plot」で判断する。 「plot オプション」を忘れないように。
    1. プログラム : les1101.sas
       /* Lesson 11-1 */
       /*    File Name = les1101.sas   12/22/05   */
      
      data gakusei;
        infile 'all05be.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. 出力結果 : les1101.lst
                                    SAS システム                             8
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=SHINTYOU
                                   Normal Probability Plot              
               172.5+                                             ++*++*
                    |                                  *****+*+**+*     
                    |                         *********++               
                    |                 *********+                        
                    |         +*******+                                 
               147.5+*++*+*++**                                         
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
                                    SAS システム                            15
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=TAIJYUU
                                   Normal Probability Plot              
                57.5+                                       *****+*+++* 
                    |                          **********+*+            
                47.5+                ***********++                      
                    |       ****+**+*++                                 
                37.5++*+++*+                                            
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
                                    SAS システム                            22
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=KYOUI
                                   Normal Probability Plot              
                92.5+                                           ++++*+++
                    |                          **********+*+*+++*       
                82.5+              *****+**+**+*+++                     
                    |     ++*++**+*++++                                 
                72.5++++*+                                              
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
                                    SAS システム                            29
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=F ---------------------------------
                                Univariate Procedure
      Variable=KODUKAI
                                   Normal Probability Plot              
              325000+                                                  *
                    |                                                   
                    |                                               *   
              175000+                                          ** *  +++
                    |                                     *****++++++   
                    |                          +**********              
               25000+*  * * ********************                        
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
                                    SAS システム                            36
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=SHINTYOU
                                   Normal Probability Plot              
               187.5+                                                 **
                    |                                      *********++  
                    |                             **********+           
               172.5+                   ***********+                    
                    |           *********++                             
                    |  *+*******+                                       
               157.5+**+                                                
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
                                    SAS システム                            43
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=TAIJYUU
                                   Normal Probability Plot              
                 105+                                                  *
                    |                                                ** 
                    |                                             ** +++
                  75+                                    *********+++   
                    |                     ****************              
                    |      ****************+                            
                  45+**++*+++++                                         
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
                                    SAS システム                            50
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=KYOUI
                                   Normal Probability Plot              
                 115+                                             *   * 
                    |                                       ***+*+++++++
                    |                         **********+*+*            
                  85+            *************++                        
                    |    +*+*+**++++                                    
                    |++++                                               
                  55+ *                                                 
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
                                    SAS システム                            57
                                            21:26 Wednesday, December 21, 2005
      -------------------------------- SEX=M ---------------------------------
                                Univariate Procedure
      Variable=KODUKAI
                                   Normal Probability Plot              
              325000+                                                  *
                    |                                                   
                    |                                                 * 
              175000+                                       ****** **+++
                    |                                 *******++++++     
                    |                          ++******++               
               25000+** **************************                      
                     +----+----+----+----+----+----+----+----+----+----+
                         -2        -1         0        +1        +2     
      
    3. 解釈
      • 基準線にどの程度乗っているかで判断する

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

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

  3. パラメトリック検定 : t 検定、Welch の検定
    1. プログラム : les1102.sas
       /* Lesson 11-2 */
       /*    File Name = les1102.sas   12/22/05   */
      
      data gakusei;
        infile 'all05be.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. 出力結果 : les1102.lst
                                    SAS システム                             2
                                            21:26 Wednesday, December 21, 2005
                                  TTEST PROCEDURE
      Variable: SHINTYOU                                             
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F       108        159.12222222          5.44071417          0.52353297
      M       219        172.12557078          5.45652408          0.36871773
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal   -20.3068    213.7      0.0001
      Equal     -20.2868    325.0      0.0000
      
      For H0: Variances are equal, F' = 1.01    DF = (218,107)  Prob>F' = 0.9875
      
                                    SAS システム                             3
                                            21:26 Wednesday, December 21, 2005
                                  TTEST PROCEDURE
      Variable: TAIJYUU                                              
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F        77         48.57142857          4.67993638          0.53332825
      M       219         62.01735160          7.93620032          0.53627872
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal   -17.7779    226.6      0.0001
      Equal     -14.0248    294.0      0.0000
      
      For H0: Variances are equal, F' = 2.88    DF = (218,76)  Prob>F' = 0.0000
      
                                    SAS システム                             4
                                            21:26 Wednesday, December 21, 2005
                                  TTEST PROCEDURE
      Variable: KYOUI                                                
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F        41         83.02439024          3.95908957          0.61830591
      M        67         88.49253731          8.43580596          1.03059773
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal    -4.5498    100.6      0.0001
      Equal      -3.8914    106.0      0.0002
      
      For H0: Variances are equal, F' = 4.54    DF = (66,40)  Prob>F' = 0.0000
      
                                    SAS システム                             5
                                            21:26 Wednesday, December 21, 2005
                                  TTEST PROCEDURE
      Variable: KODUKAI                                              
      
      SEX       N                Mean             Std Dev           Std Error
      -----------------------------------------------------------------------
      F       105      49238.09523810      45543.57039176       4444.59736677
      M       210      47852.38095238      50103.26292794       3457.45361572
      
      Variances        T       DF    Prob>|T|
      ---------------------------------------
      Unequal     0.2461    226.7      0.8058
      Equal       0.2384    313.0      0.8117
      
      For H0: Variances are equal, F' = 1.21    DF = (209,104)  Prob>F' = 0.2753
      
    3. 結果の見方 : 二段階、このデータでは?
      • 等分散と言えるか? : Prob> F'
        • 身長(98.8%)と小遣い(27.5%)は等分散であると言える ===> t検定 : Equal の項
        • 体重(0.00%)と胸囲(0.00%)は等分散であると言えない ===> Welchの検定 : Unequal の項
      • 平均に差があると言えるか? : Prob>|T|
        • 身長(0.00%, Equal の項)や体重(0.01%, Unequal の項)、胸囲(0.01%, Unequal の項)は性別によって平均に差があると言える。
        • 小遣い(81.2%, Equal の項)は性別によって平均に差があるとは言えない。
        • ただし、体重、胸囲、小遣い額の分布のどちらか一方、または両方が 正規分布とは言えないので、身長以外の結論は信憑性に欠ける。 よって、体重、胸囲、小遣い額については次節で説明するノンパラメトリック検定の結果を待つ必要がある。

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

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

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

       /* Lesson 11-3 */
       /*    File Name = les1103.sas   12/22/05   */
      
      data gakusei;
        infile 'all05be.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. 出力結果 : les1103.lst
                                    SAS システム                             2
                                            21:26 Wednesday, December 21, 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          108    6903.5000      17712.0   803.510230    63.921296
         M          219   46724.5000      35916.0   803.510230   213.353881
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             3
                                            21:26 Wednesday, December 21, 2005
      
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  6903.50   Z = -13.4510   Prob > |Z| = 0.0001
      
               T-Test Approx. Significance = 0.0001
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  180.95   DF =  1   Prob > CHISQ = 0.0001
      
                                    SAS システム                             4
                                            21:26 Wednesday, December 21, 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           77    3782.5000   11434.5000   645.450003    49.123377
         M          219   40173.5000   32521.5000   645.450003   183.440639
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             5
                                            21:26 Wednesday, December 21, 2005
      
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  3782.50   Z = -11.8545   Prob > |Z| = 0.0001
      
               T-Test Approx. Significance = 0.0001
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  140.55   DF =  1   Prob > CHISQ = 0.0001
      
                                    SAS システム                             6
                                            21:26 Wednesday, December 21, 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           41   1493.50000   2234.50000   157.094830   36.4268293
         M           67   4392.50000   3651.50000   157.094830   65.5597015
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             7
                                            21:26 Wednesday, December 21, 2005
      
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  1493.50   Z = -4.71371   Prob > |Z| = 0.0001
      
               T-Test Approx. Significance = 0.0001
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  22.249   DF =  1   Prob > CHISQ = 0.0001
      
                                    SAS システム                             8
                                            21:26 Wednesday, December 21, 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          105      17613.0      16590.0   758.145796   167.742857
         M          210      32157.0      33180.0   758.145796   153.128571
                         Average Scores Were Used for Ties
      
               Wilcoxon 2-Sample Test (Normal Approximation)
               (with Continuity Correction of .5)
      
                                    SAS システム                             9
                                            21:26 Wednesday, December 21, 2005
      
                         N P A R 1 W A Y  P R O C E D U R E
      
               S =  17613.0   Z =  1.34869   Prob > |Z| = 0.1774
      
               T-Test Approx. Significance = 0.1784
      
               Kruskal-Wallis Test (Chi-Square Approximation)
               CHISQ =  1.8207   DF =  1   Prob > CHISQ = 0.1772
      
    3. 結果の見方 : Prob>|Z|
      • この手法では身長/体重/胸囲/小遣いの検定結果はパラメトリック手法と同じであった。

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

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

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

       /* Lesson 11-4 */
       /*    File Name = les1104.sas   12/22/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. 出力結果 : les1104.lst
                                    SAS システム                             1
                                            21:26 Wednesday, December 21, 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:26 Wednesday, December 21, 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:26 Wednesday, December 21, 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:26 Wednesday, December 21, 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. 次回は、... : 01月12日 13:10
    • 二変量の関係
    • 多変量解析 : 単回帰分析、重回帰分析、...
    • ...
    • 良い年をお迎え下さい。

  8. [おまけ1] 変数変換 : 新しい変量の算出 : [注意] 以下はあくまでも計算できることの例です。
    以下に示したような演算子や関数を使って、新しい変量を生成することができる。 利用可能なものの一部を掲載しておく。
    data gakusei;
      infile 'all05a.prn' firstobs=2;
      input sex $ shintyou taijyuu kyoui jitaku $ kodukai carryer $ tsuuwa;
    
      dekasa=shintyou+taijyuu+kyoui;                        : 変量間の加減乗除
      kyo_2=kyoui**2;                                       : 二乗
      kyo_sr=sqrt(kyoui);                                   : ルート
    

    [算術演算子]

    + : 足し算を算出します。
    - : 引き算を算出します。
    * : 掛け算を算出します。
    / : 割り算を算出します。
    ** : 巾乗を算出します。
    sqrt : 平方根(ルート)を算出します。

    [数値関数]

    arcos : 逆余弦(アークコサイン)を算出します。
    arsin : 逆正弦(アークサイン)を算出します。
    atan : 逆正接(アークタンジェント)を算出します。
    cos : 三角関数の余弦(コサイン)を求めます。
    cosh : 双曲線の余弦(コサイン)を求めます。
    sin : 正弦(サイン)を算出します。
    sinh : 双曲線正弦を算出します。
    tan : 正接(タンジェント)を算出します。
    tanh : 双曲線正接の値を算出します。
    ceil : 引数より大きいかまたは等しい整数のうち最小の値を戻します。
    floor : 引数より小さいかまたは等しい整数のうち最大のものを戻します。
    fuzz : 引数と最も近い整数との差が10^-12以内のときに、その整数を戻します。
    int : 小数部を切り捨てて、整数値を戻します。
    round : 四捨五入します。
    tranc : 指定された長さに切り捨てた数値を戻します。

  9. [おまけ2] データの生成 : 乱数で(正規乱数) : 種(seed)の指定。種は任意の数値(普通は整数)。
    data randnum;
     do i=1 to 200;
       x=rannor(12345);
       output;
     end;
    run;
    
    プログラム例 : les1105.sas、 出力結果 : les1105.lst

    [乱数関数] : 乱数を生成する関数

      rannor : 正規乱数を生威します。
      ranuni : (0,1)の間の一様乱数を生成します。
      ranbin : 二項分布に従う乱数を生成します。
      rancau : コーシー乱数を生成します。
      ranexp : 指数乱数を生成します。
      rangam : ガンマ分布に従う乱数を生成します。
      ranpoi : ポアソン分布に従う乱数を生成します。
      rantbl : 指定した確率重み関数から、乱数を生成します。
      rantri : 三角分布に従う乱数を生成します。

  10. [おまけ3] 単変量、二変量を視覚的に捉えると? 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]講義のホームページへ戻ります