Confusion regarding correlation and mse I have a dataset containing three variables. I have this confusion, low mse means higher correlation isn't it? Now when I calculate the mse for variable two and three where the third variable is my ground truth, I get higher mse than the one I get by comparing variable one and variable three (ground truth).
However, when I calculate the correlation using corr function in matlab, I get higher correlation between variable two and three around .78. On the other hand, the correlation between variable one and three is .76. Why is it so?
Let me tell you I have different number of variable1-variable3 and variable2-variable3 set. I meant to say sometimes the values of the variables are missing. So altogether, I have 1280 sets of variable1-variable 3 pairs and 400 of variable2-variable 3 pairs. As I have said I have higher mse for the variable1-variable 3 set than variable2-variable3 set calculating for the number of pair points 400 and 1280 respectively.
I am a bit confused. Any insights?
 A: I suggest we look at the definitions.
$$ MSE = \frac{1}{n-2}\sum_{i=1}^n (Y_i -\hat{Y}_i)^2. $$
Again, by definition
$$ \hat{Y}_i = r\frac{S_y}{S_x}(X_i - \bar{X}) + \bar{Y}, $$
so
$$SSE = \sum_{i=1}^n \left( (Y_i - \bar{Y}) - r\frac{S_y}{S_x}(X_i - \bar{X}) \right) ^2  = (n-1)S_y^2 + (n-1)r^2S_y^2 - 2(n-1)r^2S_y^2,$$
so that
$$ MSE = \frac{n-1}{n-2}S_y^2 \left(1-r^2\right).$$
MSE depends on $r^2$, and as you mentioned, the lower the correlation, the higher MSE, but as you can see it depends as well on the variance of the response variable $S_y^2$. Actually, this is expected, because MSE has a unit (the square of the unit of $Y$) and the coefficient of correltion does not. For that reason you cannot usually compare MSE of different regressions models (for the same reason you cannot compare km2 and kg2).
Also note that multiplying the values of $Y$ by 10 would not change the coefficient of correlation between $Y$ and $X$ (what I think you call your ground truth), but it would multiply MSE by 100.
In short, you can use MSE to compare different predictors (the name of "ground truths" in regression models) to model the same response variable, but you cannot use MSE to compare different response variables modeled by the same predictor.
Update: after looking at your data directly (thanks for sending) I computed the following measures with complete cases (the ones where all three variables are observed which is only 163 out of 5,374,625):
$$MSE(Y_1|Y_3) = 0.00275; cor(Y1,Y3) = 0.85 \\
MSE(Y_2|Y_3) = 0.0208; cor(Y2, Y3) = 0.61$$
On the other hand, when taking only the pairwise complete cases needed for the computation I obtained the following:
$$MSE(Y1|Y3) = 0.00323; cor(Y2, Y3) = 0.766 \; (n=464) \\
MSE(Y2|Y3) = 0.0117; cor(Y2, Y3) = 0.785 \; (n=1280)$$
Notice how the correlation changes when taken on different datasets (and the order actually changes). Even though I believe that the upper part of my answer is correct, @whuber is right in his comment that you cannot draw any conclusion if your measures are taken on different datasets.
A: Correlation: The degree or extent to which variables are linearly related is called the correlation among variables.
MSE: If $T$ be an estimator of $\theta$. $MSE(T)$ is a measure of the spread of the values of $T$ around $\theta$
These two are different so don't be confused 
