I would like to run an prediction model and have a set of continuous independent variables. They are all important but highly correlated. How can I effectively reduce collinearity and still use these variables in my prediction model?
You can reduce multicollinearity using PCA. There are lots of questions/answers about how to implement PCA. This method allows you to group similar covariates into independent "Principal Components" which can give insight into the relative relatedness of your covariates.
Also, check into Variance Inflation Factor (VIF) protocols. There are ways to use stepwise VIF reduction to rid yourself of highly collinear variables in the dataset. However, if you need to keep every covariate for some reason, a clustering approach like PCA or PLS would do the trick.
If you are solely interested in prediction, then you probably don't need to reduce the collinearity among variables. You can test this with the
perturbpackage in R.
Collinearity will increase the variance of the parameter estimates, but the predictions won't be affected; this is sort of the nature of collinearity: When you have collinear variables, two (or more) different ways of combining them will give nearly identical results. That matters a lot for explanation, but not for prediction.
Also, as @whuber pointed out in a comment, selecting variables by
keep[ing] all variables jointly significant at p<0.05
is problematic, regardless of collinearity and regardless of whether you are interested in prediction, explanation or both.