This page contains full statistical result of the paper “MOAD: Modeling Observation-based Approximate Depedency”, in the proceedings of the 19th IEEE international Working Conference on Source Code Analysis and Manipulation (SCAM 2019).

1. Model Comparison (RQ2, Page 7)

Summary of data:

slice_size <- read.csv("data/slice_size.csv")
summary(slice_size)
##        X                   proj           crit             scheme    
##  Min.   :  0.0   replace     :1518   Min.   :  1.00   2hot_0  :2700  
##  1st Qu.: 76.0   totinfo     :1260   1st Qu.: 26.00   onehot_0:2700  
##  Median :173.0   printtokens : 588   Median : 58.00                  
##  Mean   :233.0   schedule2   : 486   Mean   : 78.32                  
##  3rd Qu.:356.2   printtokens2: 450   3rd Qu.:119.25                  
##  Max.   :758.0   schedule    : 450   Max.   :253.00                  
##                  (Other)     : 648                                   
##           infer           size        
##  logistic    :1800   Min.   :0.06202  
##  once_success:1800   1st Qu.:0.42210  
##  simple_bayes:1800   Median :0.52756  
##                      Mean   :0.52483  
##                      3rd Qu.:0.63327  
##                      Max.   :0.92580  
## 

1-1. On onehot data

onehot_size_data <- slice_size[slice_size$scheme=='onehot_0',]
anova1 <- aov(size ~ infer, data = onehot_size_data)
summary(anova1)
##               Df Sum Sq Mean Sq F value Pr(>F)    
## infer          2   6.53   3.263   217.7 <2e-16 ***
## Residuals   2697  40.43   0.015                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova1, 'infer', group=TRUE))
## $statistics
##      MSerror   Df      Mean       CV        MSD
##   0.01498974 2697 0.5680238 21.55413 0.01353422
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey  infer   3         3.316328  0.05
## 
## $means
##                   size        std   r       Min       Max       Q25
## logistic     0.6315512 0.09280558 900 0.3387097 0.9257951 0.5686901
## once_success 0.5117917 0.14759745 900 0.1136951 0.9257951 0.4002892
## simple_bayes 0.5607285 0.12071174 900 0.2459016 0.9257951 0.4664537
##                    Q50       Q75
## logistic     0.6299213 0.6823956
## once_success 0.4814815 0.6102236
## simple_bayes 0.5527157 0.6329775
## 
## $comparison
## NULL
## 
## $groups
##                   size groups
## logistic     0.6315512      a
## simple_bayes 0.5607285      b
## once_success 0.5117917      c
## 
## attr(,"class")
## [1] "group"

1-2. On 2hot data

twohot_size_data <- slice_size[slice_size$scheme=='2hot_0',]
anova2 <- aov(size ~ infer, data = twohot_size_data)
summary(anova2)
##               Df Sum Sq Mean Sq F value Pr(>F)    
## infer          2   8.88   4.440   173.5 <2e-16 ***
## Residuals   2697  69.03   0.026                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova2, 'infer', group=TRUE))
## $statistics
##      MSerror   Df     Mean       CV        MSD
##   0.02559619 2697 0.481633 33.21784 0.01768576
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey  infer   3         3.316328  0.05
## 
## $means
##                   size       std   r       Min       Max       Q25
## logistic     0.4644182 0.1771996 900 0.1487805 0.9257951 0.3481386
## once_success 0.4216035 0.1786931 900 0.0620155 0.9257951 0.2834646
## simple_bayes 0.5588774 0.1160072 900 0.2741935 0.9257951 0.4746377
##                    Q50       Q75
## logistic     0.4440895 0.5902439
## once_success 0.3850129 0.5826772
## simple_bayes 0.5467850 0.6134185
## 
## $comparison
## NULL
## 
## $groups
##                   size groups
## simple_bayes 0.5588774      a
## logistic     0.4644182      b
## once_success 0.4216035      c
## 
## attr(,"class")
## [1] "group"

1-3. Overall

a_both <- aov(size ~ infer * scheme, data = slice_size)
summary(a_both)
##                Df Sum Sq Mean Sq F value Pr(>F)    
## infer           2   9.25   4.625   227.9 <2e-16 ***
## scheme          1  10.08  10.076   496.5 <2e-16 ***
## infer:scheme    2   6.16   3.078   151.7 <2e-16 ***
## Residuals    5394 109.46   0.020                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(a_both, c('infer', 'scheme'), group=TRUE))
## $statistics
##      MSerror   Df      Mean       CV        MSD
##   0.02029296 5394 0.5248284 27.14285 0.01914357
## 
## $parameters
##    test       name.t ntr StudentizedRange alpha
##   Tukey infer:scheme   6         4.031544  0.05
## 
## $means
##                            size        std   r       Min       Max
## logistic:2hot_0       0.4644182 0.17719961 900 0.1487805 0.9257951
## logistic:onehot_0     0.6315512 0.09280558 900 0.3387097 0.9257951
## once_success:2hot_0   0.4216035 0.17869305 900 0.0620155 0.9257951
## once_success:onehot_0 0.5117917 0.14759745 900 0.1136951 0.9257951
## simple_bayes:2hot_0   0.5588774 0.11600715 900 0.2741935 0.9257951
## simple_bayes:onehot_0 0.5607285 0.12071174 900 0.2459016 0.9257951
##                             Q25       Q50       Q75
## logistic:2hot_0       0.3481386 0.4440895 0.5902439
## logistic:onehot_0     0.5686901 0.6299213 0.6823956
## once_success:2hot_0   0.2834646 0.3850129 0.5826772
## once_success:onehot_0 0.4002892 0.4814815 0.6102236
## simple_bayes:2hot_0   0.4746377 0.5467850 0.6134185
## simple_bayes:onehot_0 0.4664537 0.5527157 0.6329775
## 
## $comparison
## NULL
## 
## $groups
##                            size groups
## logistic:onehot_0     0.6315512      a
## simple_bayes:onehot_0 0.5607285      b
## simple_bayes:2hot_0   0.5588774      b
## once_success:onehot_0 0.5117917      c
## logistic:2hot_0       0.4644182      d
## once_success:2hot_0   0.4216035      e
## 
## attr(,"class")
## [1] "group"

2. Miss and excess (RQ3, Page 8)

Summary of data:

miss_excess <- read.csv("data/miss_excess.csv")
summary(miss_excess)
##       X.1               X                doe                infer     
##  Min.   : 12961   Min.   : 10530   2hot_0  :8037   logistic    :5358  
##  1st Qu.:390281   1st Qu.: 61510   onehot_0:8037   once_success:5358  
##  Median :394300   Median :169568                   simple_bayes:5358  
##  Mean   :439261   Mean   :127238                                      
##  3rd Qu.:696362   3rd Qu.:205465                                      
##  Max.   :754362   Max.   :209483                                      
##                                                                       
##       idx           level          common          excess      
##  Min.   :  1.00   tline:5358   Min.   :  0.0   Min.   :  0.00  
##  1st Qu.: 26.00   tstmt:5358   1st Qu.: 54.0   1st Qu.:  3.00  
##  Median : 58.00   wline:5358   Median :109.0   Median : 12.00  
##  Mean   : 78.65                Mean   :120.6   Mean   : 28.83  
##  3rd Qu.:120.00                3rd Qu.:161.0   3rd Qu.: 42.00  
##  Max.   :253.00                Max.   :392.0   Max.   :324.00  
##                                                                
##       miss             sim            succ                 proj     
##  Min.   :  0.00   Min.   :0.0000   False:10338   replace     :4554  
##  1st Qu.: 27.00   1st Qu.:0.3655   True : 5736   totinfo     :3762  
##  Median : 53.00   Median :0.5637                 printtokens :1764  
##  Mean   : 63.98   Mean   :0.5443                 schedule2   :1386  
##  3rd Qu.: 88.00   3rd Qu.:0.7446                 printtokens2:1350  
##  Max.   :333.00   Max.   :0.9805                 schedule    :1314  
##                                                  (Other)     :1944

2-1. Miss between inference models

anova_miss <- aov(miss ~ infer, data = miss_excess)
summary(anova_miss)
##                Df   Sum Sq Mean Sq F value Pr(>F)    
## infer           2  3853187 1926594   899.8 <2e-16 ***
## Residuals   16071 34409091    2141                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova_miss, 'infer', group=TRUE))
## $statistics
##    MSerror    Df     Mean       CV      MSD
##   2141.067 16071 63.98252 72.31923 2.095421
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey  infer   3         3.314801  0.05
## 
## $means
##                  miss      std    r Min Max Q25 Q50 Q75
## logistic     75.52613 54.54067 5358   0 333  36  65 100
## once_success 42.09761 30.68412 5358   0 170  18  35  61
## simple_bayes 74.32381 50.06997 5358   0 244  36  67 103
## 
## $comparison
## NULL
## 
## $groups
##                  miss groups
## logistic     75.52613      a
## simple_bayes 74.32381      a
## once_success 42.09761      b
## 
## attr(,"class")
## [1] "group"

2-1-1. On line-level W-ORBS data

me_W_line <- miss_excess[miss_excess$level == 'wline',]
anova <- aov(miss ~ infer * doe * proj, data = me_W_line)
summary(anova)
##                  Df  Sum Sq Mean Sq F value Pr(>F)    
## infer             2 1045585  522792  597.94 <2e-16 ***
## doe               1  802969  802969  918.38 <2e-16 ***
## proj              9 4358385  484265  553.87 <2e-16 ***
## infer:doe         2  449810  224905  257.23 <2e-16 ***
## infer:proj       18  591003   32833   37.55 <2e-16 ***
## doe:proj          9  159021   17669   20.21 <2e-16 ***
## infer:doe:proj   18  128887    7160    8.19 <2e-16 ***
## Residuals      5298 4632193     874                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, c('infer', 'doe'), group=TRUE))
## $statistics
##    MSerror   Df     Mean       CV      MSD
##   874.3286 5298 78.63792 37.60151 3.989201
## 
## $parameters
##    test    name.t ntr StudentizedRange alpha
##   Tukey infer:doe   6         4.031571  0.05
## 
## $means
##                            miss      std   r Min Max Q25 Q50 Q75
## logistic:2hot_0        66.90146 32.14934 893   6 172  42  62  91
## logistic:onehot_0     111.31019 62.89789 893   6 329  70  96 143
## once_success:2hot_0    44.45801 20.50478 893   2 105  30  41  60
## once_success:onehot_0  73.33035 33.07421 893   6 170  50  71  98
## simple_bayes:2hot_0    87.82867 47.58281 893   5 244  54  83 112
## simple_bayes:onehot_0  87.99888 47.91923 893   6 240  56  84 111
## 
## $comparison
## NULL
## 
## $groups
##                            miss groups
## logistic:onehot_0     111.31019      a
## simple_bayes:onehot_0  87.99888      b
## simple_bayes:2hot_0    87.82867      b
## once_success:onehot_0  73.33035      c
## logistic:2hot_0        66.90146      d
## once_success:2hot_0    44.45801      e
## 
## attr(,"class")
## [1] "group"

2-1-2. On line-level T-ORBS data

me_T_line <- miss_excess[miss_excess$level == 'tline',]
anova <- aov(miss ~ infer * doe * proj, data = me_T_line)
summary(anova)
##                  Df  Sum Sq Mean Sq F value  Pr(>F)    
## infer             2 1842399  921200 770.963 < 2e-16 ***
## doe               1  820571  820571 686.745 < 2e-16 ***
## proj              9 3695552  410617 343.650 < 2e-16 ***
## infer:doe         2  414518  207259 173.458 < 2e-16 ***
## infer:proj       18  726220   40346  33.766 < 2e-16 ***
## doe:proj          9  154432   17159  14.361 < 2e-16 ***
## infer:doe:proj   18   97191    5399   4.519 6.1e-10 ***
## Residuals      5298 6330415    1195                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, c('infer', 'doe'), group=TRUE))
## $statistics
##    MSerror   Df     Mean       CV      MSD
##   1194.869 5298 63.46491 54.46612 4.663464
## 
## $parameters
##    test    name.t ntr StudentizedRange alpha
##   Tukey infer:doe   6         4.031571  0.05
## 
## $means
##                            miss      std   r Min Max Q25 Q50 Q75
## logistic:2hot_0        57.44569 34.31192 893   2 170  31  48  86
## logistic:onehot_0     100.41433 66.74735 893   2 333  50  80 140
## once_success:2hot_0    22.23404 12.01009 893   1  72  14  21  27
## once_success:onehot_0  52.54759 29.09292 893   2 159  31  49  74
## simple_bayes:2hot_0    73.58903 53.61656 893   2 241  35  60 105
## simple_bayes:onehot_0  74.55879 53.27493 893   2 237  36  65  99
## 
## $comparison
## NULL
## 
## $groups
##                            miss groups
## logistic:onehot_0     100.41433      a
## simple_bayes:onehot_0  74.55879      b
## simple_bayes:2hot_0    73.58903      b
## logistic:2hot_0        57.44569      c
## once_success:onehot_0  52.54759      d
## once_success:2hot_0    22.23404      e
## 
## attr(,"class")
## [1] "group"

2-1-3. On statement-level T-ORBS data

me_T_stmt <- miss_excess[miss_excess$level == 'tstmt',]
anova <- aov(miss ~ infer * doe * proj, data = me_T_stmt)
summary(anova)
##                  Df  Sum Sq Mean Sq F value   Pr(>F)    
## infer             2 1059513  529757 520.527  < 2e-16 ***
## doe               1  675840  675840 664.065  < 2e-16 ***
## proj              9 1804725  200525 197.031  < 2e-16 ***
## infer:doe         2  321280  160640 157.841  < 2e-16 ***
## infer:proj       18  352581   19588  19.247  < 2e-16 ***
## doe:proj          9  111476   12386  12.170  < 2e-16 ***
## infer:doe:proj   18   72592    4033   3.963 3.11e-08 ***
## Residuals      5298 5391944    1018                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, c('infer', 'doe'), group=TRUE))
## $statistics
##    MSerror   Df     Mean       CV      MSD
##   1017.732 5298 49.84472 64.00259 4.303931
## 
## $parameters
##    test    name.t ntr StudentizedRange alpha
##   Tukey infer:doe   6         4.031571  0.05
## 
## $means
##                           miss      std   r Min Max Q25 Q50 Q75
## logistic:2hot_0       40.19149 25.30022 893   0 136  22  33  60
## logistic:onehot_0     76.89362 55.19823 893   0 290  32  66 119
## once_success:2hot_0   15.13102 10.26945 893   0  51   7  13  21
## once_success:onehot_0 44.88466 28.66435 893   0 129  23  41  64
## simple_bayes:2hot_0   60.51848 45.02596 893   0 209  25  52  92
## simple_bayes:onehot_0 61.44905 45.03610 893   0 208  25  52  94
## 
## $comparison
## NULL
## 
## $groups
##                           miss groups
## logistic:onehot_0     76.89362      a
## simple_bayes:onehot_0 61.44905      b
## simple_bayes:2hot_0   60.51848      b
## once_success:onehot_0 44.88466      c
## logistic:2hot_0       40.19149      d
## once_success:2hot_0   15.13102      e
## 
## attr(,"class")
## [1] "group"

2-2. Excess between inference models

anova_excess <- aov(excess ~ infer, data = miss_excess)
summary(anova_excess)
##                Df   Sum Sq Mean Sq F value Pr(>F)    
## infer           2   164377   82188   58.62 <2e-16 ***
## Residuals   16071 22530816    1402                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova_excess, 'infer', group=TRUE))
## $statistics
##    MSerror    Df     Mean       CV      MSD
##   1401.955 16071 28.83483 129.8523 1.695599
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey  infer   3         3.314801  0.05
## 
## $means
##                excess      std    r Min Max Q25 Q50 Q75
## logistic     33.15398 39.67437 5358   0 324   4  16  52
## once_success 27.83632 38.31679 5358   0 257   3  11  38
## simple_bayes 25.51418 34.11206 5358   0 184   3   9  38
## 
## $comparison
## NULL
## 
## $groups
##                excess groups
## logistic     33.15398      a
## once_success 27.83632      b
## simple_bayes 25.51418      c
## 
## attr(,"class")
## [1] "group"

2-2-1. On line-level W-ORBS data

me_W_line <- miss_excess[miss_excess$level == 'wline',]
anova <- aov(excess ~ infer * doe * proj, data = me_W_line)
summary(anova)
##                  Df  Sum Sq Mean Sq  F value   Pr(>F)    
## infer             2   34152   17076   28.270 6.13e-13 ***
## doe               1   70018   70018  115.918  < 2e-16 ***
## proj              9 6400049  711117 1177.277  < 2e-16 ***
## infer:doe         2   70797   35399   58.604  < 2e-16 ***
## infer:proj       18  121587    6755   11.183  < 2e-16 ***
## doe:proj          9   40484    4498    7.447 6.89e-11 ***
## infer:doe:proj   18   97418    5412    8.960  < 2e-16 ***
## Residuals      5298 3200177     604                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, c('infer', 'doe'), group=TRUE))
## $statistics
##    MSerror   Df    Mean       CV      MSD
##   604.0349 5298 58.3156 42.14502 3.315733
## 
## $parameters
##    test    name.t ntr StudentizedRange alpha
##   Tukey infer:doe   6         4.031571  0.05
## 
## $means
##                         excess      std   r Min Max Q25 Q50 Q75
## logistic:2hot_0       68.33259 48.31075 893   0 324  28  64  94
## logistic:onehot_0     51.10078 39.09685 893   0 176  24  37  69
## once_success:2hot_0   62.60470 47.54987 893   0 228  30  47  76
## once_success:onehot_0 58.31355 41.81081 893   0 199  29  46  76
## simple_bayes:2hot_0   54.85442 39.97560 893   0 181  27  44  67
## simple_bayes:onehot_0 54.68757 39.79721 893   0 184  27  44  68
## 
## $comparison
## NULL
## 
## $groups
##                         excess groups
## logistic:2hot_0       68.33259      a
## once_success:2hot_0   62.60470      b
## once_success:onehot_0 58.31355      c
## simple_bayes:2hot_0   54.85442      d
## simple_bayes:onehot_0 54.68757      d
## logistic:onehot_0     51.10078      e
## 
## attr(,"class")
## [1] "group"

2-2-2. On line-level T-ORBS data

me_T_line <- miss_excess[miss_excess$level == 'tline',]
anova <- aov(excess ~ infer * doe * proj, data = me_T_line)
summary(anova)
##                  Df  Sum Sq Mean Sq F value Pr(>F)    
## infer             2  113158   56579  158.98 <2e-16 ***
## doe               1   64944   64944  182.48 <2e-16 ***
## proj              9  838772   93197  261.87 <2e-16 ***
## infer:doe         2   94529   47264  132.80 <2e-16 ***
## infer:proj       18  151357    8409   23.63 <2e-16 ***
## doe:proj          9   41898    4655   13.08 <2e-16 ***
## infer:doe:proj   18   89002    4945   13.89 <2e-16 ***
## Residuals      5298 1885528     356                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, c('infer', 'doe'), group=TRUE))
## $statistics
##    MSerror   Df     Mean       CV      MSD
##   355.8943 5298 18.26017 103.3132 2.545125
## 
## $parameters
##    test    name.t ntr StudentizedRange alpha
##   Tukey infer:doe   6         4.031571  0.05
## 
## $means
##                         excess      std   r Min Max Q25 Q50 Q75
## logistic:2hot_0       33.99440 36.45833 893   0 240   7  17  63
## logistic:onehot_0     15.32251 16.63224 893   0 145   6  10  19
## once_success:2hot_0   15.49832 24.55052 893   0 257   4   8  18
## once_success:onehot_0 12.64838 18.95237 893   0 192   4   6  14
## simple_bayes:2hot_0   15.73236 19.82092 893   0 156   4   6  24
## simple_bayes:onehot_0 16.36506 20.24721 893   0 156   4   7  25
## 
## $comparison
## NULL
## 
## $groups
##                         excess groups
## logistic:2hot_0       33.99440      a
## simple_bayes:onehot_0 16.36506      b
## simple_bayes:2hot_0   15.73236      b
## once_success:2hot_0   15.49832      b
## logistic:onehot_0     15.32251      b
## once_success:onehot_0 12.64838      c
## 
## attr(,"class")
## [1] "group"

2-2-3. On statement-level T-ORBS data

me_T_stmt <- miss_excess[miss_excess$level == 'tstmt',]
anova <- aov(excess ~ infer * doe * proj, data = me_T_stmt)
summary(anova)
##                  Df  Sum Sq Mean Sq F value Pr(>F)    
## infer             2   80730   40365  141.74 <2e-16 ***
## doe               1   79463   79463  279.02 <2e-16 ***
## proj              9  200322   22258   78.16 <2e-16 ***
## infer:doe         2   86894   43447  152.56 <2e-16 ***
## infer:proj       18  109362    6076   21.33 <2e-16 ***
## doe:proj          9   45025    5003   17.57 <2e-16 ***
## infer:doe:proj   18   99679    5538   19.45 <2e-16 ***
## Residuals      5298 1508802     285                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, c('infer', 'doe'), group=TRUE))
## $statistics
##    MSerror   Df     Mean       CV      MSD
##   284.7871 5298 9.928705 169.9682 2.276715
## 
## $parameters
##    test    name.t ntr StudentizedRange alpha
##   Tukey infer:doe   6         4.031571  0.05
## 
## $means
##                          excess      std   r Min Max Q25 Q50 Q75
## logistic:2hot_0       24.510638 33.49214 893   0 215   2   7  50
## logistic:onehot_0      5.662934 12.30077 893   0 116   1   2   5
## once_success:2hot_0   11.058231 20.39330 893   0 229   2   5  12
## once_success:onehot_0  6.894737 13.64032 893   0 154   2   3   7
## simple_bayes:2hot_0    5.770437 12.83755 893   0 143   1   3   5
## simple_bayes:onehot_0  5.675252 12.69272 893   0 143   1   2   5
## 
## $comparison
## NULL
## 
## $groups
##                          excess groups
## logistic:2hot_0       24.510638      a
## once_success:2hot_0   11.058231      b
## once_success:onehot_0  6.894737      c
## simple_bayes:2hot_0    5.770437      c
## simple_bayes:onehot_0  5.675252      c
## logistic:onehot_0      5.662934      c
## 
## attr(,"class")
## [1] "group"

3. Sampling effect (RQ4, Page 9)

Summary of data:

sample_size <- read.csv("data/sample.csv")
summary(sample_size)
##        X                   proj           crit              scheme     
##  Min.   :  0.0   replace     :7590   Min.   :  1.00   2hot_.1_0: 2700  
##  1st Qu.: 76.0   totinfo     :6300   1st Qu.: 26.00   2hot_.2_0: 2700  
##  Median :173.0   printtokens :2940   Median : 58.00   2hot_.3_0: 2700  
##  Mean   :233.0   schedule2   :2430   Mean   : 78.32   2hot_.4_0: 2700  
##  3rd Qu.:356.2   printtokens2:2250   3rd Qu.:119.25   2hot_.5_0: 2700  
##  Max.   :758.0   schedule    :2250   Max.   :253.00   2hot_.6_0: 2700  
##                  (Other)     :3240                    (Other)  :10800  
##           infer           size        
##  logistic    :9000   Min.   :0.06202  
##  once_success:9000   1st Qu.:0.39617  
##  simple_bayes:9000   Median :0.50160  
##                      Mean   :0.50202  
##                      3rd Qu.:0.61342  
##                      Max.   :0.92580  
## 

3-1. On Once-Success model data

sample_size_O <- sample_size[sample_size$infer == 'once_success',]
anova <- aov(size ~ scheme, data = sample_size_O)
summary(anova)
##               Df Sum Sq Mean Sq F value Pr(>F)    
## scheme         9   3.61  0.4006   13.65 <2e-16 ***
## Residuals   8990 263.85  0.0293                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, 'scheme', group=TRUE))
## $statistics
##      MSerror   Df      Mean       CV        MSD
##   0.02934889 8990 0.4456162 38.44456 0.02555597
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey scheme  10         4.475256  0.05
## 
## $means
##                size       std   r        Min       Max       Q25       Q50
## 2hot_.1_0 0.4880421 0.1587421 900 0.10335917 0.9257951 0.3731884 0.4520241
## 2hot_.2_0 0.4697844 0.1648237 900 0.10077519 0.9257951 0.3562992 0.4440895
## 2hot_.3_0 0.4581279 0.1691248 900 0.08536585 0.9257951 0.3322684 0.4237726
## 2hot_.4_0 0.4486385 0.1708800 900 0.08010336 0.9257951 0.3226837 0.4121406
## 2hot_.5_0 0.4435669 0.1712949 900 0.07751938 0.9257951 0.3180212 0.4089457
## 2hot_.6_0 0.4370940 0.1725848 900 0.07751938 0.9257951 0.3041868 0.4057508
## 2hot_.7_0 0.4340090 0.1740101 900 0.07235142 0.9257951 0.2966889 0.4057508
## 2hot_.8_0 0.4309716 0.1750216 900 0.06829268 0.9257951 0.2962963 0.3984610
## 2hot_.9_0 0.4243241 0.1770567 900 0.06201550 0.9257951 0.2907348 0.3851894
## 2hot_0    0.4216035 0.1786931 900 0.06201550 0.9257951 0.2834646 0.3850129
##                 Q75
## 2hot_.1_0 0.6134185
## 2hot_.2_0 0.6070288
## 2hot_.3_0 0.6006390
## 2hot_.4_0 0.5942492
## 2hot_.5_0 0.5910543
## 2hot_.6_0 0.5834914
## 2hot_.7_0 0.5826772
## 2hot_.8_0 0.5826772
## 2hot_.9_0 0.5826772
## 2hot_0    0.5826772
## 
## $comparison
## NULL
## 
## $groups
##                size groups
## 2hot_.1_0 0.4880421      a
## 2hot_.2_0 0.4697844     ab
## 2hot_.3_0 0.4581279     bc
## 2hot_.4_0 0.4486385    bcd
## 2hot_.5_0 0.4435669    cde
## 2hot_.6_0 0.4370940    cde
## 2hot_.7_0 0.4340090    cde
## 2hot_.8_0 0.4309716     de
## 2hot_.9_0 0.4243241     de
## 2hot_0    0.4216035      e
## 
## attr(,"class")
## [1] "group"

3-2. On Logistic model data

sample_size_L <- sample_size[sample_size$infer == 'logistic',]
anova <- aov(size ~ scheme, data = sample_size_L)
summary(anova)
##               Df Sum Sq Mean Sq F value Pr(>F)    
## scheme         9    7.1  0.7890    30.5 <2e-16 ***
## Residuals   8990  232.5  0.0259                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, 'scheme', group=TRUE))
## $statistics
##      MSerror   Df      Mean       CV       MSD
##   0.02586684 8990 0.4971709 32.34938 0.0239921
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey scheme  10         4.475256  0.05
## 
## $means
##                size       std   r       Min       Max       Q25       Q50
## 2hot_.1_0 0.5676679 0.1403551 900 0.2492013 0.9257951 0.4822835 0.5555556
## 2hot_.2_0 0.5190294 0.1535375 900 0.2492013 0.9257951 0.4291339 0.4870127
## 2hot_.3_0 0.5051204 0.1579299 900 0.1565495 0.9257951 0.4122216 0.4680920
## 2hot_.4_0 0.4953881 0.1623954 900 0.1501597 0.9257951 0.3865815 0.4665354
## 2hot_.5_0 0.4944689 0.1602018 900 0.1487805 0.9257951 0.3876812 0.4658537
## 2hot_.6_0 0.4895547 0.1599495 900 0.1565495 0.9257951 0.3769968 0.4527559
## 2hot_.7_0 0.4868893 0.1601321 900 0.1521739 0.9257951 0.3801241 0.4440895
## 2hot_.8_0 0.4820671 0.1614374 900 0.1739130 0.9257951 0.3692471 0.4440895
## 2hot_.9_0 0.4671049 0.1724195 900 0.1501597 0.9257951 0.3557828 0.4440895
## 2hot_0    0.4644182 0.1771996 900 0.1487805 0.9257951 0.3481386 0.4440895
##                 Q75
## 2hot_.1_0 0.6666667
## 2hot_.2_0 0.6590009
## 2hot_.3_0 0.6371981
## 2hot_.4_0 0.6253230
## 2hot_.5_0 0.6219512
## 2hot_.6_0 0.6223514
## 2hot_.7_0 0.6149871
## 2hot_.8_0 0.6089765
## 2hot_.9_0 0.5891473
## 2hot_0    0.5902439
## 
## $comparison
## NULL
## 
## $groups
##                size groups
## 2hot_.1_0 0.5676679      a
## 2hot_.2_0 0.5190294      b
## 2hot_.3_0 0.5051204     bc
## 2hot_.4_0 0.4953881     bc
## 2hot_.5_0 0.4944689      c
## 2hot_.6_0 0.4895547     cd
## 2hot_.7_0 0.4868893    cde
## 2hot_.8_0 0.4820671    cde
## 2hot_.9_0 0.4671049     de
## 2hot_0    0.4644182      e
## 
## attr(,"class")
## [1] "group"

3-3. On Bayesian model data

sample_size_B <- sample_size[sample_size$infer == 'simple_bayes',]
anova <- aov(size ~ scheme, data = sample_size_B)
summary(anova)
##               Df Sum Sq Mean Sq F value   Pr(>F)    
## scheme         9   0.47 0.05201   4.195 1.98e-05 ***
## Residuals   8990 111.47 0.01240                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, 'scheme', group=TRUE))
## $statistics
##      MSerror   Df      Mean       CV       MSD
##   0.01239903 8990 0.5632614 19.76897 0.0166108
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey scheme  10         4.475256  0.05
## 
## $means
##                size       std   r       Min       Max       Q25       Q50
## 2hot_.1_0 0.5835505 0.1019548 900 0.2459016 0.9257951 0.5079589 0.5560041
## 2hot_.2_0 0.5657777 0.1056181 900 0.2903226 0.9257951 0.4891304 0.5354331
## 2hot_.3_0 0.5648956 0.1076096 900 0.3064516 0.9257951 0.4921260 0.5360092
## 2hot_.4_0 0.5621720 0.1097663 900 0.3064516 0.9257951 0.4842520 0.5382130
## 2hot_.5_0 0.5616209 0.1105143 900 0.2741935 0.9257951 0.4881890 0.5359931
## 2hot_.6_0 0.5596227 0.1138995 900 0.2741935 0.9257951 0.4783465 0.5426357
## 2hot_.7_0 0.5593674 0.1147504 900 0.3043478 0.9257951 0.4756882 0.5432190
## 2hot_.8_0 0.5584849 0.1160022 900 0.2741935 0.9257951 0.4763780 0.5413386
## 2hot_.9_0 0.5582443 0.1163769 900 0.2741935 0.9257951 0.4740241 0.5431310
## 2hot_0    0.5588774 0.1160072 900 0.2741935 0.9257951 0.4746377 0.5467850
##                 Q75
## 2hot_.1_0 0.6291816
## 2hot_.2_0 0.6134185
## 2hot_.3_0 0.6134185
## 2hot_.4_0 0.6134185
## 2hot_.5_0 0.6134185
## 2hot_.6_0 0.6134185
## 2hot_.7_0 0.6134185
## 2hot_.8_0 0.6134185
## 2hot_.9_0 0.6134185
## 2hot_0    0.6134185
## 
## $comparison
## NULL
## 
## $groups
##                size groups
## 2hot_.1_0 0.5835505      a
## 2hot_.2_0 0.5657777      b
## 2hot_.3_0 0.5648956      b
## 2hot_.4_0 0.5621720      b
## 2hot_.5_0 0.5616209      b
## 2hot_.6_0 0.5596227      b
## 2hot_.7_0 0.5593674      b
## 2hot_0    0.5588774      b
## 2hot_.8_0 0.5584849      b
## 2hot_.9_0 0.5582443      b
## 
## attr(,"class")
## [1] "group"

3-4. Overall

anova <- aov(size ~ scheme * infer, data = sample_size)
summary(anova)
##                 Df Sum Sq Mean Sq F value   Pr(>F)    
## scheme           9    8.9   0.993   44.07  < 2e-16 ***
## infer            2   62.6  31.299 1388.72  < 2e-16 ***
## scheme:infer    18    2.2   0.124    5.51 3.34e-13 ***
## Residuals    26970  607.9   0.023                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print(HSD.test(anova, c('infer', 'scheme'), group=TRUE))
## $statistics
##      MSerror    Df      Mean       CV        MSD
##   0.02253825 26970 0.5020162 29.90491 0.02652897
## 
## $parameters
##    test       name.t ntr StudentizedRange alpha
##   Tukey infer:scheme  30          5.30129  0.05
## 
## $means
##                             size       std   r        Min       Max
## logistic:2hot_.1_0     0.5676679 0.1403551 900 0.24920128 0.9257951
## logistic:2hot_.2_0     0.5190294 0.1535375 900 0.24920128 0.9257951
## logistic:2hot_.3_0     0.5051204 0.1579299 900 0.15654952 0.9257951
## logistic:2hot_.4_0     0.4953881 0.1623954 900 0.15015974 0.9257951
## logistic:2hot_.5_0     0.4944689 0.1602018 900 0.14878049 0.9257951
## logistic:2hot_.6_0     0.4895547 0.1599495 900 0.15654952 0.9257951
## logistic:2hot_.7_0     0.4868893 0.1601321 900 0.15217391 0.9257951
## logistic:2hot_.8_0     0.4820671 0.1614374 900 0.17391304 0.9257951
## logistic:2hot_.9_0     0.4671049 0.1724195 900 0.15015974 0.9257951
## logistic:2hot_0        0.4644182 0.1771996 900 0.14878049 0.9257951
## once_success:2hot_.1_0 0.4880421 0.1587421 900 0.10335917 0.9257951
## once_success:2hot_.2_0 0.4697844 0.1648237 900 0.10077519 0.9257951
## once_success:2hot_.3_0 0.4581279 0.1691248 900 0.08536585 0.9257951
## once_success:2hot_.4_0 0.4486385 0.1708800 900 0.08010336 0.9257951
## once_success:2hot_.5_0 0.4435669 0.1712949 900 0.07751938 0.9257951
## once_success:2hot_.6_0 0.4370940 0.1725848 900 0.07751938 0.9257951
## once_success:2hot_.7_0 0.4340090 0.1740101 900 0.07235142 0.9257951
## once_success:2hot_.8_0 0.4309716 0.1750216 900 0.06829268 0.9257951
## once_success:2hot_.9_0 0.4243241 0.1770567 900 0.06201550 0.9257951
## once_success:2hot_0    0.4216035 0.1786931 900 0.06201550 0.9257951
## simple_bayes:2hot_.1_0 0.5835505 0.1019548 900 0.24590164 0.9257951
## simple_bayes:2hot_.2_0 0.5657777 0.1056181 900 0.29032258 0.9257951
## simple_bayes:2hot_.3_0 0.5648956 0.1076096 900 0.30645161 0.9257951
## simple_bayes:2hot_.4_0 0.5621720 0.1097663 900 0.30645161 0.9257951
## simple_bayes:2hot_.5_0 0.5616209 0.1105143 900 0.27419355 0.9257951
## simple_bayes:2hot_.6_0 0.5596227 0.1138995 900 0.27419355 0.9257951
## simple_bayes:2hot_.7_0 0.5593674 0.1147504 900 0.30434783 0.9257951
## simple_bayes:2hot_.8_0 0.5584849 0.1160022 900 0.27419355 0.9257951
## simple_bayes:2hot_.9_0 0.5582443 0.1163769 900 0.27419355 0.9257951
## simple_bayes:2hot_0    0.5588774 0.1160072 900 0.27419355 0.9257951
##                              Q25       Q50       Q75
## logistic:2hot_.1_0     0.4822835 0.5555556 0.6666667
## logistic:2hot_.2_0     0.4291339 0.4870127 0.6590009
## logistic:2hot_.3_0     0.4122216 0.4680920 0.6371981
## logistic:2hot_.4_0     0.3865815 0.4665354 0.6253230
## logistic:2hot_.5_0     0.3876812 0.4658537 0.6219512
## logistic:2hot_.6_0     0.3769968 0.4527559 0.6223514
## logistic:2hot_.7_0     0.3801241 0.4440895 0.6149871
## logistic:2hot_.8_0     0.3692471 0.4440895 0.6089765
## logistic:2hot_.9_0     0.3557828 0.4440895 0.5891473
## logistic:2hot_0        0.3481386 0.4440895 0.5902439
## once_success:2hot_.1_0 0.3731884 0.4520241 0.6134185
## once_success:2hot_.2_0 0.3562992 0.4440895 0.6070288
## once_success:2hot_.3_0 0.3322684 0.4237726 0.6006390
## once_success:2hot_.4_0 0.3226837 0.4121406 0.5942492
## once_success:2hot_.5_0 0.3180212 0.4089457 0.5910543
## once_success:2hot_.6_0 0.3041868 0.4057508 0.5834914
## once_success:2hot_.7_0 0.2966889 0.4057508 0.5826772
## once_success:2hot_.8_0 0.2962963 0.3984610 0.5826772
## once_success:2hot_.9_0 0.2907348 0.3851894 0.5826772
## once_success:2hot_0    0.2834646 0.3850129 0.5826772
## simple_bayes:2hot_.1_0 0.5079589 0.5560041 0.6291816
## simple_bayes:2hot_.2_0 0.4891304 0.5354331 0.6134185
## simple_bayes:2hot_.3_0 0.4921260 0.5360092 0.6134185
## simple_bayes:2hot_.4_0 0.4842520 0.5382130 0.6134185
## simple_bayes:2hot_.5_0 0.4881890 0.5359931 0.6134185
## simple_bayes:2hot_.6_0 0.4783465 0.5426357 0.6134185
## simple_bayes:2hot_.7_0 0.4756882 0.5432190 0.6134185
## simple_bayes:2hot_.8_0 0.4763780 0.5413386 0.6134185
## simple_bayes:2hot_.9_0 0.4740241 0.5431310 0.6134185
## simple_bayes:2hot_0    0.4746377 0.5467850 0.6134185
## 
## $comparison
## NULL
## 
## $groups
##                             size groups
## simple_bayes:2hot_.1_0 0.5835505      a
## logistic:2hot_.1_0     0.5676679      a
## simple_bayes:2hot_.2_0 0.5657777      a
## simple_bayes:2hot_.3_0 0.5648956      a
## simple_bayes:2hot_.4_0 0.5621720      a
## simple_bayes:2hot_.5_0 0.5616209      a
## simple_bayes:2hot_.6_0 0.5596227      a
## simple_bayes:2hot_.7_0 0.5593674      a
## simple_bayes:2hot_0    0.5588774      a
## simple_bayes:2hot_.8_0 0.5584849      a
## simple_bayes:2hot_.9_0 0.5582443      a
## logistic:2hot_.2_0     0.5190294      b
## logistic:2hot_.3_0     0.5051204     bc
## logistic:2hot_.4_0     0.4953881    bcd
## logistic:2hot_.5_0     0.4944689    bcd
## logistic:2hot_.6_0     0.4895547    cde
## once_success:2hot_.1_0 0.4880421    cde
## logistic:2hot_.7_0     0.4868893    cde
## logistic:2hot_.8_0     0.4820671   cdef
## once_success:2hot_.2_0 0.4697844   defg
## logistic:2hot_.9_0     0.4671049    efg
## logistic:2hot_0        0.4644182    efg
## once_success:2hot_.3_0 0.4581279    fgh
## once_success:2hot_.4_0 0.4486385    ghi
## once_success:2hot_.5_0 0.4435669   ghij
## once_success:2hot_.6_0 0.4370940    hij
## once_success:2hot_.7_0 0.4340090    hij
## once_success:2hot_.8_0 0.4309716     ij
## once_success:2hot_.9_0 0.4243241     ij
## once_success:2hot_0    0.4216035      j
## 
## attr(,"class")
## [1] "group"