成績評価に使うので、以下の課題に回答してください。 ・提出締切日: 11/30 ・メイルで kubo@ees.hokudai.ac.jp に送信してください ・メイルの件名は kubostat としてください 不明な点は久保までおたずねください。 課題 1 あなたの研究に必要とされるデータ解析はどういったものでしょうか。 できるだけわかりやすく説明してみてください。 今まで使ったことのあるデータ解析の手法やソフトウェアについて 簡単に説明してみてください。 また授業でわかりにくかった点,とりあげてほしかった統計モデルや 手法などがあれば,教えてください. 課題 2 まず,今回の例題データ data をよみこんでください (下記のどちらかの方法で): 方法 1: 授業 web page (b) から data.RData をダウンローどして load("data.RData") 方法 2: 以下のようにして R で直接ダウンロード load(url("http://hosho.ees.hokudai.ac.jp/~kubo/stat/2017/Fig/distribution/data.RData")) 課題 2 R で data をよみこんだあと,次の R コードを実行してください. 各行で何をやっているのか,簡単に説明してください. 説明するときに R の出力 (output) を使ってもいいです. sample.mean <- mean(data) print(sample.mean) rpois(50, lambda = sample.mean) mean(rpois(50, lambda = sample.mean)) replicate(10, mean(rpois(50, lambda = sample.mean))) hist(replicate(3000, mean(rpois(50, lambda = sample.mean)))) 上の [課題 2-1] で出力されたヒストグラムは何をあらわしている のか,授業で説明した内容と関連づけて説明してみてください. このようなシミュレイションが何の役にたつのでしょうか? 課題 3 次の 3 行の R の関数の挙動や最終行で得られたアウトプットについて, 説明してください. d <- read.csv("http://hosho.ees.hokudai.ac.jp/~kubo/stat/2017/Fig/poisson/data3a.csv") d$y.new <- rpois(nrow(d), lambda = exp(1 + 0.1 * d$x + c(0, 0.8)[d$f])) summary(glm(y.new ~ x + f, data = d, family = poisson)) 上の [課題 3-1] で得られた推定の結果を使って,モデル による定量的な予測とデータを表示する図を使う R コードを書いて みてください.plot() や lines() などを使ってください. 課題 4 次の 5 行の R コードは自動的に AIC 最小のモデルを見つける関数 stepAIC() の使用例です.4 行目で途中経過が表示されますが,そこ で何が表示されているのか説明してみてください. d <- read.csv("http://hosho.ees.hokudai.ac.jp/~kubo/stat/2017/Fig/poisson/data3a.csv") fit <- glm(y ~ x + f, data = d, family = poisson) library(MASS) # これは MASS package のよみこみ fit.best <- stepAIC(fit) summary(fit.best) 課題 5 次の R コードを実行すると,ロジスティック回帰の例題データ に対して AIC 最良のモデルが選択されて,その結果が fit.best に格納 されます. d <- read.csv("http://hosho.ees.hokudai.ac.jp/~kubo/stat/2017/Fig/binomial/data4a.csv") fit <- glm(cbind(y, N - y) ~ x + f, data = d, family = binomial) library(MASS) fit.best <- stepAIC(fit) また,R では logistic 関数を logistic <- function(z) { 1 / (1 + exp(-z)) } このように自分で定義できます.さて, plot(d$x, d$y, pch = c(21, 19)[d$f]) この図の上に f = C の場合・f = T の場合のモデルの 予測 (生存種子数の期待値) を曲線として図示する にはどのようなコードを書けばいいでしょうか. lines() 関数や上で定義した logistic() 関数などを使っ て R コードを書き,それに簡単な説明もつけてくだ さい. 課題 6 下の R コードを実行してみてください. # [Code 6-1] logistic <- function(z) 1 / (1 + exp(-z)) n <- 200 n.seed <- 8 par(mfrow = c(2, 2)) # 作図画面を 2x2 に分割している for (s in c(0.2, 0.5, 1.0, 2.0)) { # binomial prob.binom <- dbinom(0:n.seed, size = n.seed, prob = logistic(0)) plot( 0:n.seed, n * prob.binom, type = "b", # both, lines and points ylim = c(0, max(n * prob.binom) * 1.2), main = paste("s =", s), col = "blue" ) # binomial + Gaussian r <- rnorm(n, mean = 0, sd = s) y <- rbinom(n, size = n.seed, prob = logistic(r)) table.y <- table(y) print(table.y) px <- as.numeric(names(table.y)) points(px, table.y, col = "red", pch = 19) } 出力された図が何をあらわしているのか,簡単に説明してください. 課題 7 # [R-code 7] # read data and plot d1 <- read.csv("http://hosho.ees.hokudai.ac.jp/~kubo/stat/2017/Ees/g/fig/nested/d1.csv") # install and load packages install.packages("lme4") # if you have not installed lme4 package yet. library(lme4) # load lme4 # plot data plot(d1$pot, d1$y, col = rep(c("blue", "red"), each = 5)) # fit GLMM (i.e., hierarchical Bayesian model) fit1 <- glmer( y ~ f + (1 | id) + (1 | pot), family = poisson, data = d1 ) print(summary(fit1))