Adding Noise Cannot Lower It

An OLS fit on 200 training rows has TSS=∑i(yi−yˉ)2=800\text{TSS} = \sum_i (y_i - \bar y)^2 = 800 and RSS=∑i(yi−y^i)2=120\text{RSS} = \sum_i (y_i - \hat y_i)^2 = 120, where R2=1−RSS/TSSR^2 = 1 - \text{RSS}/\text{TSS}.

You then append one extra column of np.random.randn(200) to X and refit on the same 200 rows. What is the training R2R^2 before and after?

A

0.15 before, since R2R^2 is the ratio RSS/TSS\text{RSS}/\text{TSS} of error left in the model.

B

0.85 before; at least 0.85 after, and almost surely a little higher, since the old fit is still reachable with a zero coefficient on the new column.

C

0.85 before and 0.85 after, because least squares gives a pure-noise column a coefficient of exactly zero.

D

0.85 before and lower after, because an irrelevant feature adds variance and degrades the fit.