Should we include random error term when doing prediction using regression models I have been confused by this problem for a long time. That is when we are making prediction using regression models, the regression function only tells us the predicted mean value of the dependent variable. I am not sure if we should also include a random error term (e.g. usually assumed to be Gaussian with zero mean and standard deviation equals to the RMSE value), which is an approach widely used in my field by other researchers.
 A: It depends on what you want to predict.


*

*If you simply plug in coefficient estimates and the future values of the design matrix, you get a point forecast, i.e., the conditional mean.

*However, some more statistical knowledge will show that you can actually predict the distribution of future observations using a $t$ distribution with the appropriate number of degrees of freedom, scaled by an estimate of the standard deviation. This is a predictive density.

*You can also derive a prediction-interval from this predictive $t$ distribution, of course.


Either one of these may be what you need to answer the substantive questions you are interested in. More information is available at the Wikipedia entry for "Prediction interval".
A: Interesting question, which already generated some interesting answers. 
In the simplest of cases, regression is used to help uncover the linear relationship between two quantitative variables X and Y in a population of subjects. For example, we can use regression to estimate the relationship between X = Age and Y = Blood Pressure in a population of patients, assuming the relationship is linear (e.g., Blood Pressure tends to increase with Age for patients in this population). 
For this example, assume we randomly select a sample of 100 patients from the population and measure their Age and Blood Pressure. Using the data from these subjects, we can estimate the intercept and slope describing the linear relationship between the two variables in the population of patients.  
In a prediction setting, we would select an additional patient from the population at random and record his/her Age. (Let's say that this patient has an Age of 60 years and this age falls within the range of observed ages for the 100 patients in the sample.) Then we would want to predict the patient's Blood Pressure using what we learned about the relationship between Age and Blood Pressure in the population from which the patient came from.  
Our best guess of what the unknown Blood Pressure value would be for this patient would indeed be given by a + bx60 where a and b are the estimated values of the intercept and slope describing the linear relationship between the Age and Blood Pressure in the population of patients. This guess is what we refer to as a point prediction (i.e., a single, known value used as a guess for the unknown Blood Pressure of the randomly selected patient with known Age). 
We cannot add a random error term to this guess as that would make it unknown, which defeats the whole purpose of the prediction exercise. However, we can construct a a so-called *prediction interval" where we have a high degree of confidence that the unknown Blood Pressure value can be expected to lie. The range of values encompassed by this prediction interval will incorporate information about the variability of Blood Pressure values for patients with age 60 about the average Blood Pressure value for these patients.  This variability is unknown but can be estimated from the data contributed by the sample of 100 patients. 
A: Say you have a model $y_i = f(X_i;\beta) + e_i$, where $e_i \sim N(0,\sigma^2)$, and you obtain an estimate of $\beta$, ($\hat \beta$). Then, by definition, you also have a "predicted error term" $\hat e_i$, which is
$$ \hat e_i \equiv  y_i - f(X_i;\hat \beta) $$
When it comes to "predicting" $y_i$, I can distinguish two scenarios:


*

*If you are predicting $y_i$ "in sample", i.e. based on observed values $X_i$, then you are thinking on 


$$ \hat y_i = f(X_i;\hat \beta)  $$
It is obvious you should not include the predicted error term $\hat e_i$ above, because you will get the exact observed data, i.e. $y_i$. 


*If you are predicting $y_i$ "out of sample", i.e. based on a given value of $X_i$ which is of interest to you but not part of the sample (i.e. they do not belong to an observed individual/unit) then you "should" predict the error term too. However, in most applications (e.g. when the model includes a constant term), your best prediction for such error is zero! So here you just want to predict using


$$ \hat y_i = f(Z_i;\hat \beta)  $$
where $Z_i$ is a given set of values for $X_i$ of your interest.
A: If the model you propose to describe your process neglects an error term,
$y = \beta x$
You are stating the model is 100% perfectly accurate and the process that generates $y$ will never deviate from the value $\beta x$. For example, your data may look like:
 y  x 
 5  1
 10 2
 15 3

If the model you propose includes an error term:
$y = \beta x + \epsilon$
You are stating the model is not 100% perfectly accurate and the process that generates $y$ will sometimes deviate from the value $\beta x$. For example, your data may look like:
 y  x 
 6  1
 11 2
 14 3


TLDR; Yes, it is prudent to assume an error term when modeling a real life data generating process. 
