いい加減時代の潮流に乗ろうということで機械学習を学びたいと思う。またRはともかくとしてPythonは未経験であるため、丁度良い書籍として
を用いることにする。
1. 線形回帰
1.5
の分布
1.5.2 決定係数
に
を代入したものの分布を導くことにする。
その前にの性質を考える。
である。更にとおくとき、
である。
(
であるから、
が成り立つ。
またについても同様に
次に
更に任意の
が成り立つため、と
で固有値
の固有空間が入れ替わる。
)
1.5.3 RSSの分布(続き)
について
と実対称行列である。したがってある直交行列が存在しそれを用いて対角行列
また
が成り立つ。またの最初の
個の成分のみからなるベクトルを
とおけば、
である。またを対角成分の最初の
個が
、残り
個が
であるような対角行列として
であるから、である。
したがって
が成り立つ。
1.5.4 カイ二乗分布の確率密度

1.6
の仮説検定
の仮説検定、すなわち
を考える。
および
が固定されているとして
が得られる。
#################### ### 推定のテスト ### #################### library("ggplot2") # テスト回数の設定 num_test <- 1000 # テスト結果を格納 df_results <- data.frame(matrix(NA, nrow = num_test, ncol = 2)) colnames(df_results) <- c("beta_0","beta_1") # テストの試行 for(i in 1:num_test){ # 乱数シードの設定 set.seed(i) # 標本数の設定 num_samples <- 1000 # 観測値の生成 vc_x_obs <- rnorm(num_samples, mean = 2, sd = 1) vc_res <- rnorm(num_samples, mean = 0, sd = 1) # 母数の真の値 num_beta_0 <- 1 num_beta_1 <- 1 # y = 1 + x + e というモデルを考える vc_y <- num_beta_0 + num_beta_0 * vc_x_obs + vc_res # モデルの指定 frml_model <- formula(vc_y~vc_x_obs) # 推定 lst_lm <- lm(formula = frml_model,data = data.frame(vc_x_obs,vc_y)) df_results[i,] <- lst_lm$coefficients } # g <- ggplot(data = df_results,aes(x = beta_0, y = beta_1)) + geom_point() g <- g + theme_bw(base_family = "") + labs(x = expression(beta[0]),y = expression(beta[1]),color = "") g <- g + theme(plot.title = element_text(hjust = 0.5),legend.position = "none", legend.title=element_text(size = 7), legend.text=element_text(size = 6)) g <- g + xlim(num_beta_0*c(0.7,1.3)) + ylim(num_beta_1*c(0.7,1.3)) g
