R Programming By Example
上QQ阅读APP看书,第一时间看更新

Checking model assumptions

Linear models, as with any kind of models, require that we check their assumptions to justify their application. The accuracy and interpretability of the results comes from adhering to a model's assumptions. Sometimes these will be rigorous assumptions in the sense that if they are not strictly met, then the model is not considered to be valid at all. Other times, we will be working with more flexible assumptions in which a degree of criteria from the analyst will come into play.

For those of you interested, a great article about models' assumptions is David Robinson's, K-means clustering is not free lunch, 2015 (http://varianceexplained.org/r/kmeans-free-lunch/).

For linear models, the following are some of the core assumptions:

  • Linearity: There is a linear relation among the variables
  • Normality: Residuals are normally distributed
  • Homoscedasticity: Residuals have constant variance
  • No collinearity: Variables are not linear combinations of each other
  • Independence: Residuals are independent or at least not correlated

We will show how to briefly check four of the them: linearity, normality, homoscedasticity, and no collinearity. We should mention that the independence assumption is probably the most difficult assumption to test, and you can generally handle it with common sense and understanding how the data was collected. We will not get into that here as it's more in the statistics side of things and we want to keep the book focused on programming techniques. For the statistically-interested reader, we recommend looking at Jeffrey M. Wooldridge's, Introductory Econometrics, 2013 and Joshua D. Angrist and Jorn-Steffen Pischke's, Mostly Harmless Econometrics, 2008.