SSブログ

多重共線性の話 〜その3 一般的な問題点 [データサイエンス、統計モデル]

実験3: 実験2のデータを1000回発生させ、回帰分析を行う

x1とx2の回帰係数に強い負の相関がある(x1, x2が正の相関であるため)
x1とx2の平均は、おおむね正しい結果となっている



## シミュレーション
# 多重共線性が起こっているデータ
para <- matrix(0, nrow=1000, ncol=4, byrow = T)
colnames(para) <- c("Intercept", "x1", "x2", "x3")

for (i in 1:1000) {
  x1 <- rnorm(N)
  x2 <- x1 + 0.4*rnorm(N)
  x3 <- rnorm(N)
  e <- rnorm(N)
  y  <- 1000 + 100*x1 + 80*x2 + 60*x3 + 100*e
  df.2 <- data.frame(x1, x2, x3, e, y)

  model_lm2 <- lm(y~x1+x2+x3, data=df.2)
  para[i,1] <- model_lm2$coefficients[1]
  para[i,2] <- model_lm2$coefficients[2]
  para[i,3] <- model_lm2$coefficients[3]
  para[i,4] <- model_lm2$coefficients[4]
}

> summary(para)
   Intercept            x1               x2               x3       
 Min.   : 982.7   Min.   : 52.87   Min.   : 35.02   Min.   :38.31  
 1st Qu.: 995.8   1st Qu.: 89.81   1st Qu.: 69.83   1st Qu.:56.61  
 Median :1000.1   Median :100.46   Median : 79.96   Median :60.07  
 Mean   : 999.9   Mean   :100.64   Mean   : 79.45   Mean   :60.07  
 3rd Qu.:1003.7   3rd Qu.:111.33   3rd Qu.: 89.68   3rd Qu.:63.94  
 Max.   :1021.0   Max.   :145.30   Max.   :126.07   Max.   :77.15 


nice!(0)  コメント(0) 
共通テーマ:学問

nice! 0

コメント 0