Regression: Use alternative formula for adjusted R-square
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 25 May 2013 10:54:57 +0000 (12:54 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 25 May 2013 11:00:04 +0000 (13:00 +0200)
This is the formula given in SPSS Statistical Algorithms Ed 20.

src/language/stats/regression.c

index 46853b7f990099dcd3738d898a95da2772b8358c..e32abb3eb57485313a3a13a6aa94b82ae71f76da 100644 (file)
@@ -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);