# Feature selection (backward elimination) in polynomial regression

I have a polynomial multiple (univariate) regression with 2nd degree (for example) as below.

Question. When I execute backward elimination to select features, should I remove features from the highest degree of polynomials to low in order? Or, can I remove features regardless of polynomial degree, solely depending on pvalue (>0.05) from t-statistics?

I have seen this learning material, and here that removes features regardless of polynomial degree order meaning e.g. low degree terms can be removed when high degree terms kept.

• Please edit your question to say a bit more about how you intend to use your model and why you need to try to remove features. For example, if you intend to use your model for prediction it might be better to keep all terms, even those whose coefficients don’t pass an arbitrary p-value cutoff. – EdM Sep 23 '19 at 13:39
• I am going to predict dependent variable in the regression, and try remove features not statistically significant since ones significant will be visualised. – Yohan Chung Sep 23 '19 at 13:56

There are several issues here that you should consider, depending on the details of how you wish to use and present your model.

First, if you want to use your model to predict values of $$y$$ for new cases based on their values of $$a$$ and $$b$$, then you might be best off retaining the complete model. As Frank Harrell put it:

First you have to decide if you really need model selection, or you just need to model. In the majority of situations, depending on dimensionality, fitting a flexible comprehensive model is preferred.

Whether a coefficient for a particular predictor passes a test of statistical significance can be more a measure of the size of your data sample than a measure of the importance of that predictor. Some argue that following the traditional $$p<0.05$$ criterion for statistical significance is not always a good way to proceed. See this page for an introduction with references into this issue. This is particularly important if your main interest is predicting future cases, where throwing out a "non-significant" predictor might still be throwing away useful information.

Second, before you start throwing away features, at least see how stable your feature-selection process is. Try repeating your modeling on multiple bootstrap resamples (say a few hundred) from your data, and keep track of the coefficient values for each resample. Very often the identities of the "significant" predictors will change from sample to sample. If so, you might want to reconsider the wisdom of throwing away predictors that happened to be "insignificant" in the original model.

Third, automated methods for model selection can pose serious problems. At the least, once you start using your data to select coefficients, the assumptions underlying calculations of p-values and the like no longer apply. See this page for extensive discussion and references. Backward elimination as you propose might be among the least objectionable, but there could still be a question of how much your results will only apply to your original data set rather than be generalizable to other data samples from the same population.

Fourth, the decision matters somewhat on how you will be interpreting your model. For example, were you to omit either or both of the $$\beta_2 a$$ or $$\beta_3 b$$ terms but keep the $$\beta_5 ab$$ term, you would be keeping an interaction term without the main effect. That might or might not be a good idea, as discussed on this page. If your sole interest was in prediction you might get away with keeping only the interaction term in some circumstances, but it can be difficult to interpret the physical meaning of the coefficients in that case.

Finally, however you choose to proceed, double-check your entire model building process with bootstrapping. For example if you choose to do backward selection without regard to polynomial degree based on nominal p-values (which I would not recommend), repeat that entire modeling procedure on a few hundred bootstrap samples and evaluate each model's performance on your entire original data sample. That provides perhaps the best estimate of how well your model-building process would work on a new data sample from the same population.