I have examined the linear regression module of the DAAL 2018 (Windows version)
1) In the "single_beta" submodule, the RMS error and the variance are inconsistent, i.e. var(j) != rms2(j)*n/(m-p-1)
IMO, in linear_regression_single_beta_dense_default_batch_impl.i, line #316 should be
2) The "group_of_betas" submodule contains an unusual definition of the goodness parameter R2
To my best knowledge, R2 runs from 0 ("no fit") to 1 ("perfect fit"). In the DAAL implementation (and documentation),
R2 runs from 0 ("no fit") to 1/n ("perfect fit"). I don't whether this is a buf or a feature
Topic 1: The file is "linear_regression_single_beta_dense_default_batch_impl.i", line #316
Topic 2: IMO, the regression sum of squares RegSS is just the squares and not the mean square. Therefore,
RegSS != TSS - ResSS;
In your example, TSS-ResSS ≈ n*RegSS. I think, this is the root cause if the R^2 issue.
Both of your observations are correct –there are bugs in the quality metrics for linear regression in Intel DAAL 2018 Gold. We will fix them in one of future releases of the library.