From: John Darrington <john@darrington.wattle.id.au>
Date: Sat, 25 May 2013 10:54:57 +0000 (+0200)
Subject: Regression: Use alternative formula for adjusted R-square
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09a2c6d005e5a94b68653e36d27309e249798173;p=pspp

Regression: Use alternative formula for adjusted R-square

This is the formula given in SPSS Statistical Algorithms Ed 20.
---

diff --git a/src/language/stats/regression.c b/src/language/stats/regression.c
index 46853b7f99..e32abb3eb5 100644
--- a/src/language/stats/regression.c
+++ b/src/language/stats/regression.c
@@ -729,7 +729,8 @@ reg_stats_r (linreg *c, void *aux UNUSED, const struct variable *var)
 
   assert (c != NULL);
   rsq = linreg_ssreg (c) / linreg_sst (c);
-  adjrsq = 1.0 - (1.0 - rsq) * (linreg_n_obs (c) - 1.0) / (linreg_n_obs (c) - linreg_n_coeffs (c));
+  adjrsq = rsq - 
+    (1.0 - rsq) * linreg_n_coeffs (c) / (linreg_n_obs (c) - linreg_n_coeffs (c) - 1);
   std_error = sqrt (linreg_mse (c));
   t = tab_create (n_cols, n_rows);
   tab_box (t, TAL_2, TAL_2, -1, TAL_1, 0, 0, n_cols - 1, n_rows - 1);