R で回帰を実行し、タイプ ファクターを使用すると、データにカテゴリ変数を設定するのを避けることができます。しかし、重要でない変数を回帰から削除して、重要な変数だけを表示するにはどうすればよいでしょうか?
例えば:
dependent <- c(1:10)
independent1 <- as.factor(c('d','a','a','a','a','a','a','b','b','c'))
independent2 <- c(-0.71,0.30,1.32,0.30,2.78,0.85,-0.25,-1.08,-0.94,1.33)
output <- lm(dependent ~ independent1+independent2)
summary(output)
次の回帰モデルが得られます。
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.6180 1.0398 4.441 0.00676 **
independent1b 3.7471 2.1477 1.745 0.14148
independent1c 5.5597 2.0736 2.681 0.04376 *
independent1d -3.7129 2.3984 -1.548 0.18230
independent2 -0.1336 0.7880 -0.170 0.87203
重要でない独立した 1 レベル (b、d) を引き出したい場合、それを行う方法はありますか?
この場合、カテゴリ変数を持つようにデータを設定するのは簡単ですが、週番号や多くのレベルを持つ別の要因を含めると不便になります。
カテゴリ変数を使用してモデルを構築する方法は次のとおりです。ご覧のとおり、データを構造化するのは面倒ですが、より多くの制御が可能になります。
regressionData <- data.frame(cbind(1:10,c(-0.71,0.30,1.32,0.30,2.78,0.85,-0.25,-1.08,-0.94,1.33),c(0,1,1,1,1,1,1,0,0,0),c(0,0,0,0,0,0,0,1,1,0),c(0,0,0,0,0,0,0,0,0,1),c(1,0,0,0,0,0,0,0,0,0)))
names(output) = c('dependent','independent2','independenta', 'independentb','independentc','independentd')
attach(regressionData)
result <- lm(dependent~independent2+independentb+independentc+independentd)
summary(result)
これで、independent2 は重要ではないので削除できます
result <- lm(dependent~independentb+independentc+independentd)
summary(result)
重要ではないため、独立したものを削除します
result <- lm(dependent~independentb+independentc)
summary(result)
しかし、この場合、調整済み R 2 乗は有意であるため低下します (部分 F 検定は実行しません)。しかし、多くの場合、これは正しくなく、回帰からカテゴリカルを削除する必要があります。この場合に重要な自由度を食い尽くし、重要な他の変数の値を覆い隠す可能性があります。