R stanをM1 MAC OS(big sur)にインストール [データサイエンス、統計モデル]
ここの手順に従ってインストールしていきます。
インストールガイド
https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started-(Japanese)
1. RStanのインストール
install.packages('rstan', repos='https://cloud.r-project.org/', dependencies=TRUE)
エラーなく、無事に終了
2. C++コンパイラ
pkgbuild::has_build_tools(debug = TRUE)
[1] TRUE
となり、特に問題なし
3. RStanの実行テスト
ということで、M1チップになったことで、MCMCも劇的に早くなりました!
インストールガイド
https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started-(Japanese)
1. RStanのインストール
install.packages('rstan', repos='https://cloud.r-project.org/', dependencies=TRUE)
エラーなく、無事に終了
2. C++コンパイラ
pkgbuild::has_build_tools(debug = TRUE)
[1] TRUE
となり、特に問題なし
3. RStanの実行テスト
library(rstan)
# 並列処理
options(mc.cores = parallel::detectCores())
rstan_options(auto_write = TRUE)
# データの準備
A.sales <- c(1000, 980, 1200, 1260, 1500, 1005, 820, 1490, 1500, 960)
B.sales <- c(880, 1080, 1580, 2180, 1900, 1950, 1200, 910, 2100, 1890)
sales <- c(A.sales, B.sales)
campaign.B <- c(rep(0,length(A.sales)), rep(1,length(B.sales)))
data_stan_ttest <- list(N=length(sales), sales=sales, campaignB=campaign.B)
data_stan_ttest
# stan モデルの定義
stan_code <- '
data{
int N;
int campaignB[N];
real sales[N];
}
parameters{
real mean_All;
real effect_B;
real sigma;
}
model{
for(n in 1:N){
sales[n] ~ normal(mean_All+effect_B*campaignB[n], sigma);
}
}
'
model.mcmc = rstan::stan_model(model_code = stan_code)
# MCMCサンプリング
res_mcmc_ttest <- rstan::sampling(model.mcmc, data = data_stan_ttest, iter = 10000, chains = 4)
# 結果の確認
res_mcmc_ttest
stan_hist(res_mcmc_ttest, pars=c("mean_All","effect_B", "sigma"))
mean(rstan::extract(res_mcmc_ttest)$effect_B<=0)
ということで、M1チップになったことで、MCMCも劇的に早くなりました!