如果是randomized design的话,而你的目的是为了估计Treatment effect的话,加一些covariate可以让treatment effect的standard error更小一些,估计更精确一些。这些covariates之间correlation太大的话就属于multicolinearity的问题。一般就是三种思路:1. Backward/forward/stepwise selection, 2. Shrinkage methods: ridge/lasso, 3. PCA/PLS.
如果不是randomized design而你却是要估计treatment effect的话这就是属于causal effect on observational data了,有很多方法可以用来去掉confounding, 例如G-computation.
如果不管是不是randomized design, 你的目的是要做prediction的话,那就做cross validation,问题就简单的多了,哪个预测的好就用哪个