今日の基礎統計学はDISASTERになった。安全・安心のデータ共有などのためにgoogle documentsの設定など学生にさせたが…さまざまなトラブルで、講義の大半はセットアップでおわった。 ラボではうまくいったのに、本番はまったく。 ちなみに、基礎統計学はRをつかって教えているつもりです。 今日の授業に紹介したコードは最尤法についてです。 # 正規分布から尤度比を計算するための関数 llN = function(theta1, theta2, X) { # This is the log-likelihood function for the normal distribution. # X is the data (データのベクター) # theta1 is the mean (i.e., average) (平均値) # theta2 is the standard deviation (標準偏差) # n is the length of the X vector (データの数) # m is the length of the theta1 vector (推測したシータ1の値) # pi is the circumference to diameter ratio (円周率) n = length(X) m = length(theta1) if(length(theta1) == 1) { # The log-likelihood function (尤度比関数) L = -n/2*log(2*pi*theta2) + (-sum((X-theta1)^2) / (2*theta2)) } else { L = rep(0, m) for(i in 1:m) { L[i] = -n/2*log(2*pi*theta2) + (-sum((X-theta1[i])^2) / (2*theta2)) } } return(L) } # 真の平均と標準偏差を指定 TRUE_MEAN = 2 TRUE_SD = 1 # シミュレーションデータを作成 DATA = rnorm(n = 50, mean = TRUE_MEAN