20160311 基礎からのベイズ統計学輪読会第6章...

Post on 21-May-2020

10 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

第6章 正規分布に関する推測

基礎からのベイズ統計学 輪読会 第4回 2016/03/11

@kashitan

この本の 輪読会資料です

基礎からのベイズ統計学 豊⽥ 秀樹 (著) 朝倉書店 (2015/6/25) ISBN-10: 4254122128

⾃⼰紹介> me $Name [1] "Takashi Kitano"

$Twitter [1] "@kashitan"

$Occupation [1] "データマエショリスト@某通信会社"

本書の構成1. 確率に関するベイズの定理

2. 確率変数と確率分布

3. ベイズ推定

4. メトロポリス・ヘイスティングス法

5. ハミルトニアンモンテカルロ法

6. 正規分布に関する推測

7. さまざまな分布を⽤いた推測

8. ⽐率・相関・信頼性

9. 付録

本書の構成1. 確率に関するベイズの定理

2. 確率変数と確率分布

3. ベイズ推定

4. メトロポリス・ヘイスティングス法

5. ハミルトニアンモンテカルロ法

6. 正規分布に関する推測

7. さまざまな分布を⽤いた推測

8. ⽐率・相関・信頼性

9. 付録

基本部

サンプリング部

実践部

本書の構成1. 確率に関するベイズの定理

2. 確率変数と確率分布

3. ベイズ推定

4. メトロポリス・ヘイスティングス法

5. ハミルトニアンモンテカルロ法

6. 正規分布に関する推測

7. さまざまな分布を⽤いた推測

8. ⽐率・相関・信頼性

9. 付録

基本部

サンプリング部

実践部

本発表の範囲

第6章⽬次1. 正規分布モデルにおける基本的な推測

1.1.平均に関する推測

1.2.分散に関する推測

1.3.分位に関する推測

2. 2群の平均値の⽐較

2.1.独⽴な2群の平均値差に関する推測

2.2.対応のある2群の平均値差に関する推測

3. 章末問題

第6章⽬次1. 正規分布モデルにおける基本的な推測

1.1.平均に関する推測

1.2.分散に関する推測

1.3.分位に関する推測

2. 2群の平均値の⽐較

2.1.独⽴な2群の平均値差に関する推測

2.2.対応のある2群の平均値差に関する推測

3. 章末問題

6.1.1 平均に関する推測

ある企業Oは、売り上げの向上を⽬的に製品カタログの⾒直しを始めました。従来のカタログAと新たに作成したカタログBの⽐較を⾏うため、20⼈の顧客にカタログBをしようしてもらい、そのときの平均購⼊⾦額を従来のものと⽐較しようと考

えました。カタログAをしようしていた期間の顧客の平均購⼊⾦額は2500円であり、20⼈の顧客それぞれの購⼊⾦額は表6.1に⽰したようになりました。

顧客 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

購⼊⾦額

3060 2840 1780 3280 3550 2450 2200 3070 2100 4100 3630 3060 3280 1870 2980 3120 2150 3830 4300 1880

6.1.1 平均に関する推測

1.カタログBにおける平均購⼊⾦額が従来のものと⽐べて⾼い確率はどのくらいでしょうか。

2.企業Oは刷新時にかかるコストを勘案してカタログBにおける平均購⼊⾦額が

3000円を超える確率が70%以上であるときのみ、カタログを刷新する予定で

あるとします。カタログBにおける平均購⼊⾦額が3000円を超える確率はどのくらいでしょうか。

3.カタログBにおける平均購⼊⾦額の2500円に対する効果量※が0.8より⼤きくなる確率はどのくらいでしょうか

6.1.1 平均に関する推測

カタログAの平均購⼊⾦額 カタログBの平均購⼊⾦額

6.1.1 平均に関する推測

効果量は、平均値間の差や、⽬標値と平均値との差を標準偏差の単位で評価する指標(p.127)

6.1.1 平均に関する推測

カタログBを使⽤した20⼈の顧客それぞれの購⼊⾦額Xが

• 平均 μ

• 分散 σ2

の正規分布に従うと仮定

6.1.1 平均に関する推測

カタログBを使⽤した20⼈の顧客それぞれの購⼊⾦額Xが

• 平均 μ

• 分散 σ2

の正規分布に従うと仮定

今回興味があるパラメータ

6.1.1 平均に関する推測

「カタログBにおける平均購⼊⾦額が⼀定の値cより⾼い」という研究仮説「μ > c」を検討するため、以下の⽣成量を定義

「es > 0.8」を検討する⽣成量を以下のように定義

6.1.1 平均に関する推測

6.1.1 平均に関する推測

###6.1.1 正規分布の平均に関する推測

library(rstan)source("data611.R")scr<-"model611.stan"data <-list(N=N, x=x)

par<-c("mu","mu_over","mu_over2","es_over")

war<-1000               #バーンイン期間ite<-11000              #サンプル数see<-12345              #シードdig<-3                  #有効数字cha<-1                  #チェーンの数

fit <- stan(file = scr, data = data, iter=ite, seed=see, warmup=war,            pars=par,chains=cha)

6.1.1 平均に関する推測

###6.1.1 正規分布の平均に関する推測

library(rstan)source("data611.R")scr<-"model611.stan"data <-list(N=N, x=x)

par<-c("mu","mu_over","mu_over2","es_over")

war<-1000               #バーンイン期間ite<-11000              #サンプル数see<-12345              #シードdig<-3                  #有効数字cha<-1                  #チェーンの数

fit <- stan(file = scr, data = data, iter=ite, seed=see, warmup=war,            pars=par,chains=cha)

N <- 20x <- c(3060, 2840, 1780, 3280, 3550, 2450, 2200,       3070, 2100, 4100, 3630, 3060, 3280, 1870,       2980, 3120, 2150, 3830, 4300, 1880)

6.1.1 平均に関する推測

###6.1.1 正規分布の平均に関する推測

library(rstan)source("data611.R")scr<-"model611.stan"data <-list(N=N, x=x)

par<-c("mu","mu_over","mu_over2","es_over")

war<-1000               #バーンイン期間ite<-11000              #サンプル数see<-12345              #シードdig<-3                  #有効数字cha<-1                  #チェーンの数

fit <- stan(file = scr, data = data, iter=ite, seed=see, warmup=war,            pars=par,chains=cha)

> data$N[1] 20

$x [1] 3060 2840 1780 3280 3550 2450 2200 3070 2100 4100 3630 3060 3280 1870 2980 3120 2150[18] 3830 4300 1880

6.1.1 平均に関する推測

data { int  N;    real x[N]; 

}

parameters {real    mu;real    sigma;

}

model {for(n in 1:N) {x[n] ~ normal(mu,sigma);

}}

6.1.1 平均に関する推測

data { int  N;    real x[N]; 

}

parameters {real    mu;real    sigma;

}

model {for(n in 1:N) {x[n] ~ normal(mu,sigma);

}}

変数宣⾔のみを⾏うブロック Stan外部からの⼊⼒データについての変数を記述

6.1.1 平均に関する推測

data { int  N;    real x[N]; 

}

parameters {real    mu;real    sigma;

}

model {for(n in 1:N) {x[n] ~ normal(mu,sigma);

}}

サンプリングしたいパラメータの宣⾔を⾏うブロック

6.1.1 平均に関する推測

data { int  N;    real x[N]; 

}

parameters {real    mu;real    sigma;

}

model {for(n in 1:N) {x[n] ~ normal(mu,sigma);

}}

モデルを記述するブロック

6.1.1 平均に関する推測

generated quantities{real mu_over;real mu_over2;real es;real es_over;

mu_over  <- step(mu - 2500);mu_over2 <- step(mu - 3000);es       <- (mu - 2500)/sigma;es_over  <- step(es - 0.8);

}

6.1.1 平均に関する推測

generated quantities{real mu_over;real mu_over2;real es;real es_over;

mu_over  <- step(mu - 2500);mu_over2 <- step(mu - 3000);es       <- (mu - 2500)/sigma;es_over  <- step(es - 0.8);

}

⽣成量を記述するブロック

6.1.1 平均に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model611.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

             mean se_mean      sd     2.5%      25%      50%      75%    97.5% n_eff  Rhatmu       2926.340   3.015 191.703 2557.658 2801.398 2925.455 3048.533 3304.018  4043 1.001mu_over     0.987   0.002   0.115    1.000    1.000    1.000    1.000    1.000  3328 1.000mu_over2    0.343   0.006   0.475    0.000    0.000    0.000    1.000    1.000  5382 1.001es_over     0.148   0.005   0.355    0.000    0.000    0.000    0.000    1.000  4656 1.000

Samples were drawn using NUTS(diag_e) at Wed Mar  9 19:51:43 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

6.1.1 平均に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model611.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

             mean se_mean      sd     2.5%      25%      50%      75%    97.5% n_eff  Rhatmu       2926.340   3.015 191.703 2557.658 2801.398 2925.455 3048.533 3304.018  4043 1.001mu_over     0.987   0.002   0.115    1.000    1.000    1.000    1.000    1.000  3328 1.000mu_over2    0.343   0.006   0.475    0.000    0.000    0.000    1.000    1.000  5382 1.001es_over     0.148   0.005   0.355    0.000    0.000    0.000    0.000    1.000  4656 1.000

Samples were drawn using NUTS(diag_e) at Wed Mar  9 19:51:43 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

カタログBにおける平均購⼊⾦額のEAP推定値

6.1.1 平均に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model611.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

             mean se_mean      sd     2.5%      25%      50%      75%    97.5% n_eff  Rhatmu       2926.340   3.015 191.703 2557.658 2801.398 2925.455 3048.533 3304.018  4043 1.001mu_over     0.987   0.002   0.115    1.000    1.000    1.000    1.000    1.000  3328 1.000mu_over2    0.343   0.006   0.475    0.000    0.000    0.000    1.000    1.000  5382 1.001es_over     0.148   0.005   0.355    0.000    0.000    0.000    0.000    1.000  4656 1.000

Samples were drawn using NUTS(diag_e) at Wed Mar  9 19:51:43 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

Uμ>2500のEAP推定値 μ > 2500が正しい確率は98.7%

6.1.1 平均に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model611.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

             mean se_mean      sd     2.5%      25%      50%      75%    97.5% n_eff  Rhatmu       2926.340   3.015 191.703 2557.658 2801.398 2925.455 3048.533 3304.018  4043 1.001mu_over     0.987   0.002   0.115    1.000    1.000    1.000    1.000    1.000  3328 1.000mu_over2    0.343   0.006   0.475    0.000    0.000    0.000    1.000    1.000  5382 1.001es_over     0.148   0.005   0.355    0.000    0.000    0.000    0.000    1.000  4656 1.000

Samples were drawn using NUTS(diag_e) at Wed Mar  9 19:51:43 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

Uμ>3000のEAP推定値 μ > 3000が正しい確率は34.3%

カタログ刷新は控えた⽅が賢明

6.1.1 平均に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model611.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

             mean se_mean      sd     2.5%      25%      50%      75%    97.5% n_eff  Rhatmu       2926.340   3.015 191.703 2557.658 2801.398 2925.455 3048.533 3304.018  4043 1.001mu_over     0.987   0.002   0.115    1.000    1.000    1.000    1.000    1.000  3328 1.000mu_over2    0.343   0.006   0.475    0.000    0.000    0.000    1.000    1.000  5382 1.001es_over     0.148   0.005   0.355    0.000    0.000    0.000    0.000    1.000  4656 1.000

Samples were drawn using NUTS(diag_e) at Wed Mar  9 19:51:43 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

Ues > 0.8のEAP推定値 es > 0.8が正しい確率は14.8%

6.1.1 平均に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model611.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

             mean se_mean      sd     2.5%      25%      50%      75%    97.5% n_eff  Rhatmu       2926.340   3.015 191.703 2557.658 2801.398 2925.455 3048.533 3304.018  4043 1.001mu_over     0.987   0.002   0.115    1.000    1.000    1.000    1.000    1.000  3328 1.000mu_over2    0.343   0.006   0.475    0.000    0.000    0.000    1.000    1.000  5382 1.001es_over     0.148   0.005   0.355    0.000    0.000    0.000    0.000    1.000  4656 1.000

Samples were drawn using NUTS(diag_e) at Wed Mar  9 19:51:43 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

μの95%確信区間 カタログBにおける平均購⼊⾦額が2557円から3304円の間に存在する確率が95%

6.1.1 平均に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model611.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

             mean se_mean      sd     2.5%      25%      50%      75%    97.5% n_eff  Rhatmu       2926.340   3.015 191.703 2557.658 2801.398 2925.455 3048.533 3304.018  4043 1.001mu_over     0.987   0.002   0.115    1.000    1.000    1.000    1.000    1.000  3328 1.000mu_over2    0.343   0.006   0.475    0.000    0.000    0.000    1.000    1.000  5382 1.001es_over     0.148   0.005   0.355    0.000    0.000    0.000    0.000    1.000  4656 1.000

Samples were drawn using NUTS(diag_e) at Wed Mar  9 19:51:43 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

収束判定指標 1.1ないし1.2以下であればよいとされる

6.1.1 平均に関する推測

> traceplot(fit,inc_warmup=F)

6.1.1 平均に関する推測

> plot(fit, pars=par)ci_level: 0.8 (80% intervals)outer_level: 0.95 (95% intervals)

第6章⽬次1. 正規分布モデルにおける基本的な推測

1.1.平均に関する推測

1.2.分散に関する推測

1.3.分位に関する推測

2. 2群の平均値の⽐較

2.1.独⽴な2群の平均値差に関する推測

2.2.対応のある2群の平均値差に関する推測

3. 章末問題

6.1.2 分散に関する推測

T社は⼤⼿⾃動⾞メーカーの下請けとして、ベアリングを製造しています。⼯場で使っている機器は製造品の内径の平均を⼀定に保てることが技術的な持ち味なのですが、残念ながら内径のばらつき具合はある時期を境に⼤きくなることがわかっています。⼯場では、同じ機器を10年間使っています。ここのところ製品の内径のばらつき具合が以前より⼤きいような気がします。そこで、検品してみてこれまでの精度が得られていないようであれば、買い換えを検討することにしました。これま

でのベアリングの内径の平均は規格に準拠した145mmであり、分散は0.10でした。検品⽤のベアリング40個の内径が表6.3に⽰されるものであった(以下略)

no 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

内径 145.55145.41144.26145.05145.84145.06145.19 145.3 144.47144.84145.18 145 144.95144.88145.25145.38145.28144.66145.26144.47

no 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

内径 145.24144.29145.21144.77145.51144.33144.47144.9144.76145.46145.04144.98145.41145.45144.83144.71144.65144.21145.1 145.1

6.1.2 分散に関する推測

1.検品⽤のベアリングの内径の分散が0.10を超える確率はどのくらいでしょうか

2.内径の分散が0.15を超える確率はどのくらいでしょうか。

6.1.2 分散に関する推測

これまでのベアリングの分散検品⽤ベアリングの分散

6.1.2 分散に関する推測

ベアリングの内径Xが

• 平均 145.0

• 分散 σ2

の正規分布に従うと仮定

6.1.2 分散に関する推測

ベアリングの内径Xが

• 平均 145.0

• 分散 σ2

の正規分布に従うと仮定

今回興味があるパラメータ

6.1.2 分散に関する推測

「検品⽤のベアリングの内径の分散が⼀定の値cより⼤きい」という研究仮説「σ2 > c」を検討するため、以下の⽣成量を定義

6.1.2 分散に関する推測

###6.1.2 正規分布の分散に関する推測

source("data612.R")scr<-"model612.stan"data <-list(N=N, x=x)var(x)datapar<-c("sigmasq","sigmasq_over","sigmasq_over2")

war<-1000              ite<-11000            see<-12345              dig<-3                 cha<-1                 

fit <- stan(file = scr, data = data, iter=ite, seed=see, warmup=war,            pars=par,chains=cha)

6.1.2 分散に関する推測

data { int  N;    real x[N];  

}

parameters {real    sigma;

}

transformed parameters {real sigmasq;sigmasq <- pow(sigma,2);

}

model {for(n in 1:N){x[n] ~ normal(145.00, sigma);

}}

6.1.2 分散に関する推測

data { int  N;    real x[N];  

}

parameters {real    sigma;

}

transformed parameters {real sigmasq;sigmasq <- pow(sigma,2);

}

model {for(n in 1:N){x[n] ~ normal(145.00, sigma);

}}

パラメータブロックで宣⾔した変数に対し 変換を施すオプションブロック

6.1.2 分散に関する推測

generated quantities{  real sigmasq_over;  real sigmasq_over2;   sigmasq_over  <- step(sigmasq - 0.10);  sigmasq_over2 <- step(sigmasq - 0.15);}

6.1.2 分散に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model612.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

               mean se_mean    sd  2.5%   25%  50%   75% 97.5% n_eff Rhatsigmasq       0.166   0.001 0.040 0.106 0.137 0.16 0.188  0.26  3183    1sigmasq_over  0.987   0.001 0.112 1.000 1.000 1.00 1.000  1.00  7391    1sigmasq_over2 0.613   0.006 0.487 0.000 0.000 1.00 1.000  1.00  5711    1

Samples were drawn using NUTS(diag_e) at Wed Mar  9 23:57:40 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

6.1.2 分散に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model612.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

               mean se_mean    sd  2.5%   25%  50%   75% 97.5% n_eff Rhatsigmasq       0.166   0.001 0.040 0.106 0.137 0.16 0.188  0.26  3183    1sigmasq_over  0.987   0.001 0.112 1.000 1.000 1.00 1.000  1.00  7391    1sigmasq_over2 0.613   0.006 0.487 0.000 0.000 1.00 1.000  1.00  5711    1

Samples were drawn using NUTS(diag_e) at Wed Mar  9 23:57:40 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

検品⽤ベアリングの分散のEAP推定値

6.1.2 分散に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model612.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

               mean se_mean    sd  2.5%   25%  50%   75% 97.5% n_eff Rhatsigmasq       0.166   0.001 0.040 0.106 0.137 0.16 0.188  0.26  3183    1sigmasq_over  0.987   0.001 0.112 1.000 1.000 1.00 1.000  1.00  7391    1sigmasq_over2 0.613   0.006 0.487 0.000 0.000 1.00 1.000  1.00  5711    1

Samples were drawn using NUTS(diag_e) at Wed Mar  9 23:57:40 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

Uσ2>0.10のEAP推定値 σ2 > 0.10が正しい確率は98.7%

6.1.2 分散に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model612.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

               mean se_mean    sd  2.5%   25%  50%   75% 97.5% n_eff Rhatsigmasq       0.166   0.001 0.040 0.106 0.137 0.16 0.188  0.26  3183    1sigmasq_over  0.987   0.001 0.112 1.000 1.000 1.00 1.000  1.00  7391    1sigmasq_over2 0.613   0.006 0.487 0.000 0.000 1.00 1.000  1.00  5711    1

Samples were drawn using NUTS(diag_e) at Wed Mar  9 23:57:40 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

Uσ2>0.15のEAP推定値 σ2 > 0.15が正しい確率は61.3%

6.1.2 分散に関する推測

> traceplot(fit,inc_warmup=F)

6.1.2 分散に関する推測

> plot(fit, pars=par)ci_level: 0.8 (80% intervals)outer_level: 0.95 (95% intervals)

第6章⽬次1. 正規分布モデルにおける基本的な推測

1.1.平均に関する推測

1.2.分散に関する推測

1.3.分位に関する推測

2. 2群の平均値の⽐較

2.1.独⽴な2群の平均値差に関する推測

2.2.対応のある2群の平均値差に関する推測

3. 章末問題

6.1.3 分位に関する推測

K君は⾛り幅跳びのオリンピック代表を⽬指して、⽇々練習に励んでいます。K君が出場する次の⼤会はオリンピックの代表選考会として⾮常に重要なもので、⼤会の上位25%の選⼿だげか最終選考に残れます。K君としては、具体的なボーダーラインを意識して練習に励みたいところです。前年度のこの⼤会の出場者全20名の記録を表6.5に⽰しました。

選⼿ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

記録 775 779 799 794 770 790 775 778 808 802 776 775 799 787 825 785 775 762 782 788

6.1.3 分位に関する推測

1.これらの記録から、具体的な⽬標をK君に伝えてあげましょう。

2.K君の練習記録が平均8m05cm、標準偏差10cmのとき、K君が最終選考に残る確率はどのくらいでしょう。

6.1.3 分位に関する推測

K君の練習記録

前年度の出場者の箱ひげ図

6.1.3 分位に関する推測

⾛り幅跳びの記録Xが

• 平均μ

• 分散σ2

の正規分布に従うと仮定

6.1.3 分位に関する推測

今回興味があるのは0.75分位数

6.1.3 分位に関する推測

正規分布の0.75分位数を⽣成量として以下のように定義

   は標準正規分布の0.75分位数

( では以下のコマンドで算出することができる)

> qnorm(0.75, mean=0.0, sd=1.0)[1] 0.6744898

6.1.3 分位に関する推測

K君の練習記録の分布が昨年度の⼤会の0.75分位数を超える確率を以下の⽣成量として定義

ψは平均805、標準偏差10の正規分布の分布関数

6.1.3 分位に関する推測

###6.1.3 正規分布の分位に関する推測

source("data613.R")   scr<-"model613.stan"  data <-list(N=N, x=x) 

par <- c("quantile_3rd", "prob_over") 

war <- 1000               ite <- 11000              see <- 12345               dig <- 3                  cha <- 1                  

fit <- stan(file = scr, data = data, iter=ite, seed=see, warmup=war,            pars=par,chains=cha)

6.1.3 分位に関する推測

data {                         int     N;      real  x[N];    }

parameters {                    real    mu;   real    sigma; }

model {  for(n in 1:N){    x[n]~normal(mu, sigma); }}

generated quantities { real quantile_3rd; real<lower=0, upper=1> prob_over;

quantile_3rd <- mu + 0.675 * sigma; prob_over <- 1 - normal_cdf(quantile_3rd, 805, 10); }

6.1.3 分位に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model613.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

                mean se_mean    sd    2.5%     25%     50%     75%   97.5% n_eff Rhatquantile_3rd 797.066   0.061 4.110 789.950 794.218 796.732 799.642 806.162  4541    1prob_over      0.769   0.002 0.124   0.454   0.704   0.796   0.860   0.934  4072    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:07:03 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

6.1.3 分位に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model613.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

                mean se_mean    sd    2.5%     25%     50%     75%   97.5% n_eff Rhatquantile_3rd 797.066   0.061 4.110 789.950 794.218 796.732 799.642 806.162  4541    1prob_over      0.769   0.002 0.124   0.454   0.704   0.796   0.860   0.934  4072    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:07:03 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

昨年度の記録の0.75分位数が789.95mから806.16mの間に存在する確率が95%

6.1.3 分位に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model613.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

                mean se_mean    sd    2.5%     25%     50%     75%   97.5% n_eff Rhatquantile_3rd 797.066   0.061 4.110 789.950 794.218 796.732 799.642 806.162  4541    1prob_over      0.769   0.002 0.124   0.454   0.704   0.796   0.860   0.934  4072    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:07:03 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

K君が最終選考に残る平均的な確率は76.9%

6.1.3 分位に関する推測

> traceplot(fit,inc_warmup=F)

6.1.3 分位に関する推測

> plot(fit, pars=par)ci_level: 0.8 (80% intervals)outer_level: 0.95 (95% intervals)

第6章⽬次1. 正規分布モデルにおける基本的な推測

1.1.平均に関する推測

1.2.分散に関する推測

1.3.分位に関する推測

2. 2群の平均値の⽐較

2.1.独⽴な2群の平均値差に関する推測

2.2.対応のある2群の平均値差に関する推測

3. 章末問題

6.2.1 独⽴な2群の平均値差に関する推測

⼤学⽣のRさんは、授業で⾃分の体内時計に関する実験を⾏うことになりました。そこで、安静時(対照群)と運動後(実験群)で⾃分の体内時計がどのように変化をするかを調べるために、ストップウォッチを利⽤した実験を⾏います。スタートボタンを押した後、時計を⾒ずに30秒経ったと思った時点でストップウォッチを押して、時間を計測します。計測回数は、各群20回です。Rさんは実験群の運動として、うさぎ跳びをして脈が速くなっている状況を設定しました。対照群と実験群のデータをまとめると表6.7のようになります。

実験群

30.8629.7531.5532.29 29.9 31.7131.3529.0330.3731.5529.2632.29 29.9 30.1830.7232.2830.72 29.9 31.5531.55

対照群

31.3633.3433.1631.3636.19 29.8 31.1135.2331.3631.2731.6331.63 32 31.1131.6331.3631.8131.6329.2133.37

6.2.1 独⽴な2群の平均値差に関する推測

1.Rさんの安静時と運動後では、体内時計に違いがあるでしょうか

2.2つの群の⺟平均の差が1秒以上となる確率はどのくらいでしょうか

6.2.1 独⽴な2群の平均値差に関する推測

6.2.1 独⽴な2群の平均値差に関する推測

2つの群の平均値の差を以下のような⽣成量として定義

「μ2-μ1>0」を検討するために、 という⽣成量を定義

6.2.1 独⽴な2群の平均値差に関する推測

2群の平均値の差がある⼀定の値cより⼤きいという研究仮説を検討する⽣成量を以下のように定義

6.2.1 独⽴な2群の平均値差に関する推測

###6.2.1 独立な2群の平均値差に関する推測

source("data621.R")scr <- "model621.stan"data <- list(N1=N1, N2=N2, x1=x1, x2=x2)

par <- c("mu1", "mu2", "sigma1", "sigma2", "delta", "delta_over", "delta_over1")

war <- 1000               ite <- 11000              see <- 1234               dig <- 3                  cha <- 1                  

fit <- stan(file=scr, data=data, iter=ite, seed=see, warmup=war,            pars=par,chains=cha)

6.2.1 独⽴な2群の平均値差に関する推測

data { int<lower=0> N1; int<lower=0> N2; real<lower=0> x1[N1]; real<lower=0> x2[N2];

}parameters {

real mu1;real mu2;real<lower=0> sigma1;real<lower=0> sigma2;

}transformed parameters {

real<lower=0> sigma1sq;real<lower=0> sigma2sq;

sigma1sq <- pow(sigma1,2);sigma2sq <- pow(sigma2,2);

}

6.2.1 独⽴な2群の平均値差に関する推測

model {x1 ~ normal(mu1,sigma1);x2 ~ normal(mu2,sigma2);

}

generated quantities{real delta;real delta_over;real delta_over1;

delta <- mu2 - mu1;delta_over <- step(delta);delta_over1 <- if_else(delta>1,1,0);

}

6.2.1 独⽴な2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model621.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu1         30.835   0.004 0.251 30.347 30.671 30.834 30.999 31.328  5046    1mu2         31.969   0.005 0.396 31.181 31.710 31.971 32.227 32.755  5876    1sigma1       1.095   0.003 0.199  0.785  0.956  1.065  1.205  1.562  4197    1sigma2       1.739   0.004 0.308  1.257  1.519  1.699  1.912  2.458  4877    1delta        1.134   0.007 0.470  0.212  0.823  1.141  1.441  2.055  5199    1delta_over   0.990   0.001 0.102  1.000  1.000  1.000  1.000  1.000  5504    1delta_over1  0.615   0.006 0.487  0.000  0.000  1.000  1.000  1.000  7102    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:23:07 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

6.2.1 独⽴な2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model621.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu1         30.835   0.004 0.251 30.347 30.671 30.834 30.999 31.328  5046    1mu2         31.969   0.005 0.396 31.181 31.710 31.971 32.227 32.755  5876    1sigma1       1.095   0.003 0.199  0.785  0.956  1.065  1.205  1.562  4197    1sigma2       1.739   0.004 0.308  1.257  1.519  1.699  1.912  2.458  4877    1delta        1.134   0.007 0.470  0.212  0.823  1.141  1.441  2.055  5199    1delta_over   0.990   0.001 0.102  1.000  1.000  1.000  1.000  1.000  5504    1delta_over1  0.615   0.006 0.487  0.000  0.000  1.000  1.000  1.000  7102    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:23:07 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

実験群の平均時間

6.2.1 独⽴な2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model621.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu1         30.835   0.004 0.251 30.347 30.671 30.834 30.999 31.328  5046    1mu2         31.969   0.005 0.396 31.181 31.710 31.971 32.227 32.755  5876    1sigma1       1.095   0.003 0.199  0.785  0.956  1.065  1.205  1.562  4197    1sigma2       1.739   0.004 0.308  1.257  1.519  1.699  1.912  2.458  4877    1delta        1.134   0.007 0.470  0.212  0.823  1.141  1.441  2.055  5199    1delta_over   0.990   0.001 0.102  1.000  1.000  1.000  1.000  1.000  5504    1delta_over1  0.615   0.006 0.487  0.000  0.000  1.000  1.000  1.000  7102    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:23:07 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

対照群の平均時間

6.2.1 独⽴な2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model621.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu1         30.835   0.004 0.251 30.347 30.671 30.834 30.999 31.328  5046    1mu2         31.969   0.005 0.396 31.181 31.710 31.971 32.227 32.755  5876    1sigma1       1.095   0.003 0.199  0.785  0.956  1.065  1.205  1.562  4197    1sigma2       1.739   0.004 0.308  1.257  1.519  1.699  1.912  2.458  4877    1delta        1.134   0.007 0.470  0.212  0.823  1.141  1.441  2.055  5199    1delta_over   0.990   0.001 0.102  1.000  1.000  1.000  1.000  1.000  5504    1delta_over1  0.615   0.006 0.487  0.000  0.000  1.000  1.000  1.000  7102    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:23:07 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

実験群と対照群の標準偏差(対照群の⽅が散らばりが⼤きい)

6.2.1 独⽴な2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model621.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu1         30.835   0.004 0.251 30.347 30.671 30.834 30.999 31.328  5046    1mu2         31.969   0.005 0.396 31.181 31.710 31.971 32.227 32.755  5876    1sigma1       1.095   0.003 0.199  0.785  0.956  1.065  1.205  1.562  4197    1sigma2       1.739   0.004 0.308  1.257  1.519  1.699  1.912  2.458  4877    1delta        1.134   0.007 0.470  0.212  0.823  1.141  1.441  2.055  5199    1delta_over   0.990   0.001 0.102  1.000  1.000  1.000  1.000  1.000  5504    1delta_over1  0.615   0.006 0.487  0.000  0.000  1.000  1.000  1.000  7102    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:23:07 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

実験群の⽅が1.13秒早い

6.2.1 独⽴な2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model621.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu1         30.835   0.004 0.251 30.347 30.671 30.834 30.999 31.328  5046    1mu2         31.969   0.005 0.396 31.181 31.710 31.971 32.227 32.755  5876    1sigma1       1.095   0.003 0.199  0.785  0.956  1.065  1.205  1.562  4197    1sigma2       1.739   0.004 0.308  1.257  1.519  1.699  1.912  2.458  4877    1delta        1.134   0.007 0.470  0.212  0.823  1.141  1.441  2.055  5199    1delta_over   0.990   0.001 0.102  1.000  1.000  1.000  1.000  1.000  5504    1delta_over1  0.615   0.006 0.487  0.000  0.000  1.000  1.000  1.000  7102    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:23:07 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

「μ2-μ1 > 0」が正しい確率は99%

6.2.1 独⽴な2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model621.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu1         30.835   0.004 0.251 30.347 30.671 30.834 30.999 31.328  5046    1mu2         31.969   0.005 0.396 31.181 31.710 31.971 32.227 32.755  5876    1sigma1       1.095   0.003 0.199  0.785  0.956  1.065  1.205  1.562  4197    1sigma2       1.739   0.004 0.308  1.257  1.519  1.699  1.912  2.458  4877    1delta        1.134   0.007 0.470  0.212  0.823  1.141  1.441  2.055  5199    1delta_over   0.990   0.001 0.102  1.000  1.000  1.000  1.000  1.000  5504    1delta_over1  0.615   0.006 0.487  0.000  0.000  1.000  1.000  1.000  7102    1

Samples were drawn using NUTS(diag_e) at Thu Mar 10 23:23:07 2016.For each parameter, n_eff is a crude measure of effective sample size,and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1).

「μ2-μ1 > 1」が正しい確率は61.5%

6.2.1 独⽴な2群の平均値差に関する推測

Rで事後分布を描画するには以下のコードを実⾏する

library(ggplot2)

# サンプリングした値の抽出delta <- rstan::extract(fit, permuted=TRUE)$delta

# ヒストグラムのプロットggplot(data.frame(delta = delta), aes(delta)) +  geom_histogram(aes(y=..density..), bins=30, alpha=0.5)

6.2.1 独⽴な2群の平均値差に関する推測

Rで事後分布を描画するには以下のコードを実⾏する

library(ggplot2)

# サンプリングした値の抽出delta <- rstan::extract(fit, permuted=TRUE)$delta

# ヒストグラムのプロットggplot(data.frame(delta = delta), aes(delta)) +  geom_histogram(aes(y=..density..), bins=30, alpha=0.5)

magrittrやtidyrパッケージにも同名の関数があるので 動作しない場合は明⽰的に”rstan::”を指定する

6.2.1 独⽴な2群の平均値差に関する推測

μ2-μ1>0

μ2-μ1>1

6.2.1 独⽴な2群の平均値差に関する推測

• 伝統的な統計学の場合

群Aと群Bは同じ⺟集団から抽出されたと仮定

同じ⺟集団だから群Aと群Bの平均値は同じ

検定統計量を計算

検定統計量が有意⽔準以下であれば群Aと群Bが同じ⺟集団であることはめったに起きない

同じ⺟集団であることはめったに起きないから群Aと群Bは異なるといっていい群A 群B

6.2.1 独⽴な2群の平均値差に関する推測

• 伝統的な統計学の場合

条件によって適⽤する⼿法が異なる

Studentの t検定

Welchの t検定

等分散が 認められる

等分散が 認められない

⺟分散の⽐のF検定

6.2.1 独⽴な2群の平均値差に関する推測

• 伝統的な統計学の場合

条件によって適⽤する⼿法が異なる

Studentの t検定

Welchの t検定

等分散が 認められる

等分散が 認められない

⺟分散の⽐のF検定

わかりづらい

説明しても理解してもらえない

6.2.1 独⽴な2群の平均値差に関する推測

• ベイズ統計学の場合

群Aと群Bの平均値を直接推定

群Aと群Bの平均値の差が0でない確率を

直接推定

0でない確率が⾼ければ群Aと群Bは異なるといっていい

群A 群B

平均値μ1 平均値μ2

推定 推定

6.2.1 独⽴な2群の平均値差に関する推測

• ベイズ統計学の場合

群Aと群Bの平均値を直接推定

群Aと群Bの平均値の差が0でない確率を

直接推定

0でない確率が⾼ければ群Aと群Bは異なるといっていい

群A 群B

平均値μ1 平均値μ2

推定 推定 簡単!

理解しやすい!

第6章⽬次1. 正規分布モデルにおける基本的な推測

1.1.平均に関する推測

1.2.分散に関する推測

1.3.分位に関する推測

2. 2群の平均値の⽐較

2.1.独⽴な2群の平均値差に関する推測

2.2.対応のある2群の平均値差に関する推測

3. 章末問題

6.2.2 対応のある2群の平均値差に関する推測

Y社の営業部には2年⽬の社員が20⼈います。毎年の傾向として、4⽉から9⽉にかけての営業成績(契約件数)はほとんど変わりはありません。そこで今年から6⽉の終わりに営業成績を向上させるための研修を実施し、その結果を測定することにしました。20⼈の4⽉から6⽉までの営業成績と7⽉から9⽉までの成績は表6.9のようになりました。

4-6⽉

6 11 10 13 17 10 10 7 9 1 14 7 7 11 12 12 14 12 7 13

7-9⽉

7 11 14 13 16 12 8 15 12 3 17 11 9 11 14 12 11 15 11 17

6.2.2 対応のある2群の平均値差に関する推測

1.Y社の営業部が⾏った研修は効果があったか上層部に報告する必要があります。効果があったといえるでしょうか。

6.2.2 対応のある2群の平均値差に関する推測

6.2.2 対応のある2群の平均値差に関する推測

対応があるデータの場合は同時分布を利⽤する

ここでは、2つの変数が

• 平均 μ1、μ2

• 分散 σ12、σ2

2

• 相関係数 ρ

の2変量正規分布に従うと仮定

6.2.2 対応のある2群の平均値差に関する推測

以下の3つの⽣成量を定義

6.2.2 対応のある2群の平均値差に関する推測

以下の3つの⽣成量を定義

契約件数が2件を上回れば研修の効果があったと考える

6.2.2 対応のある2群の平均値差に関する推測

###6.2.2 対応のある2群の平均値差に関する推測

source("data622.R")scr <- "model622.stan"data <- list(N=N, x=x)

par <- c("mu","Sigma","rho","delta","delta_over","delta_over2","rho_over","rho_over05")

war <- 1000              ite <- 11000              see <- 12345               dig <- 3                  cha <- 1                  

fit <- stan(file = scr, data = data, iter=ite, seed=see, warmup=war,            pars=par,chains=cha)

6.2.2 対応のある2群の平均値差に関する推測

data { int<lower=0> N; vector[2] x[N];

}parameters {

vector[2] mu;vector<lower=0>[2] sigma;real<lower=-1,upper=1> rho;

}transformed parameters {

vector<lower=0>[2] sigmasq;matrix[2,2] Sigma;

sigmasq[1] <- pow(sigma[1],2);sigmasq[2] <- pow(sigma[2],2);Sigma[1,1] <- sigmasq[1];Sigma[2,2] <- sigmasq[2];Sigma[1,2] <- sigma[1]*sigma[2]*rho;Sigma[2,1] <- sigma[1]*sigma[2]*rho;

}

6.2.2 対応のある2群の平均値差に関する推測

model {for(i in 1:N){

x[i] ~ multi_normal(mu,Sigma);}

}

generated quantities{real delta;real delta_over;real delta_over2;real rho_over;real rho_over05;

delta <- mu[2] - mu[1];delta_over <- step(delta);delta_over2 <- if_else(delta>2,1,0);rho_over <- step(rho);rho_over05 <- if_else(rho>0.5,1,0);

}

6.2.2 対応のある2群の平均値差に関する推測

model {for(i in 1:N){

x[i] ~ multi_normal(mu,Sigma);}

}

generated quantities{real delta;real delta_over;real delta_over2;real rho_over;real rho_over05;

delta <- mu[2] - mu[1];delta_over <- step(delta);delta_over2 <- if_else(delta>2,1,0);rho_over <- step(rho);rho_over05 <- if_else(rho>0.5,1,0);

}

normalでないことに注意

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

研修前の平均契約件数は10.16件

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

研修後の平均契約件数は11.96件

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

相関係数は0.694(研修前に成績が良かった⼈は研修後も成績が良い)

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

研修後は平均して契約件数が1.8件伸びる

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

μ2-μ1>0が正しい確率は99.4%

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

μ2-μ1>2が正しい確率は37.3%

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

μ2-μ1>2が正しい確率は37.3%

6.2.2 対応のある2群の平均値差に関する推測

以下の2つの⽣成量を定義

6.2.2 対応のある2群の平均値差に関する推測

model {for(i in 1:N){

x[i] ~ multi_normal(mu,Sigma);}

}

generated quantities{real delta;real delta_over;real delta_over2;real rho_over;real rho_over05;

delta <- mu[2] - mu[1];delta_over <- step(delta);delta_over2 <- if_else(delta>2,1,0);rho_over <- step(rho);rho_over05 <- if_else(rho>0.5,1,0);

}

この部分

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

相関係数ρ>0が正しい確率は99.9%

6.2.2 対応のある2群の平均値差に関する推測

> print(fit,pars=par,digits_summary=dig)Inference for Stan model: model622.1 chains, each with iter=11000; warmup=1000; thin=1; post-warmup draws per chain=10000, total post-warmup draws=10000.

              mean se_mean    sd   2.5%    25%    50%    75%  97.5% n_eff Rhatmu[1]       10.169   0.015 0.867  8.466  9.608 10.175 10.737 11.860  3495    1mu[2]       11.960   0.014 0.838 10.302 11.415 11.970 12.520 13.612  3634    1Sigma[1,1]  15.281   0.101 5.674  7.692 11.399 14.154 17.833 29.417  3175    1Sigma[1,2]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,1]  10.328   0.083 4.590  4.080  7.202  9.443 12.377 22.016  3033    1Sigma[2,2]  14.220   0.089 5.296  7.257 10.596 13.098 16.643 27.593  3550    1rho          0.694   0.002 0.125  0.401  0.625  0.715  0.783  0.880  3985    1delta        1.791   0.008 0.672  0.456  1.358  1.793  2.228  3.116  7350    1delta_over   0.994   0.001 0.077  1.000  1.000  1.000  1.000  1.000  5688    1delta_over2  0.373   0.005 0.484  0.000  0.000  0.000  1.000  1.000  8076    1rho_over     0.999   0.000 0.024  1.000  1.000  1.000  1.000  1.000  6003    1rho_over05   0.929   0.004 0.257  0.000  1.000  1.000  1.000  1.000  4659    1

相関係数ρ>0.5が正しい確率は92.9%

6.2.2 対応のある2群の平均値差に関する推測

ρ>0

ρ > 0.5

まとめ

平均や分散などの EAP推定値の算出

研究仮説が正しい確率の評価 相関係数の無相関検定

⾃主規制 ⾃主規制 ⾃主規制

http://amstat.tandfonline.com/doi/abs/10.1080/00031305.2016.1154108

top related