I have been thinking about this question for a while: We assume that $E[u_i] = 0$. What are the implications for the OLS estimator if this assumption is not valid? Explain why this may or not be the case, with some specific examples.
If I'm understanding the question correctly, you're curious about if the expectation of the error terms in the model is non zero?
At a base level this means the model regressors are endogenous, and essentially the model becomes invalid. Essentially the OLS (and as a consequence usually the ANOVA) will give a biased result.
There are ways to deal with this though when the data cannot be changed. Look at Instrumental variables estimation if you want to know more.
The model is
$$y_i = \alpha + \beta x_i + u_i$$
which can be rewritten as
$$y_i = (\alpha + E[u_i]) + \beta x_i + (u_i - E[u_i])$$
This is of the same form as the original model, which we can see by defining
$$\alpha' = \alpha + E[u_i]$$
$$u_i'=u_i - E[u_i]$$
so that we get
$$y_i = \alpha' + \beta x_i + u_i'$$
Unlike the original model, however, $E[u_i']=0$. Since the parameter $\beta$ is the same as the original model, any conclusions we draw about $\beta$ are the same. So, $E[u_i] \ne 0$ didn't really make a difference for understanding the correlation between $x$ and $y$.
However, in the above I assumed that $E[u_i]$ is the same for each $i$.
One consequence is that the parameter estimate will be biased. Which estimates will be biased surely depends on the exact problems with the error term. If the only issue is that the expected value of the errors is nonzero (but it's constant, has equal variance and so on) then I believe that only the intercept estimator will be biased. We can test this for at least one way that such bias could be introduced (this is R code, anything after a # is a comment):
set.seed(1234) x <- rnorm(1000) y <- 3*x + rnorm(1000, 0, 5) #correct y ybias <- y + 5 #Biased Y correct.model <- lm(y~x) biased.model <- lm(ybias~x) summary(correct.model) # Y = 0.08 + 3.27x, Rsquare = 0.31 summary(biased.model) #Y = 5.08 + 3.27x, Rsquare = 0.31
and it is correct in this case.
But if you have a problem with the expectation of the error being 0, then you likely have other issues as well and those issues could have other effects.
Is u the true disturbance for this model or the estimated residual? If u is the true disturbance, then the model is misspecified, perhaps due to an excluded predictor or to a misspecification as to functional form.
It could be a challenge to make the estimated residuals have nonzero mean (hat tip to Peter's answer), because the point of OLS estimation is to achieve zero estimated residuals, whether or not the estimated model matches the data generating process.
In that regard, imagine that you are replicating someone else's analysis. You have their estimated model (somehow without rounding error) and their dataset. Now suppose that you compute estimated residuals and estimate E[u] as not 0. One might conclude that the dataset was incomplete, with some cases excluded which had been used in the analysis, or else that the dataset has been transformed in some way.