From 22ce970062568f52a752897f37c50f49cfbd790a Mon Sep 17 00:00:00 2001 From: Taylor Oshan Date: Tue, 29 Nov 2016 13:22:42 -0700 Subject: [PATCH] add bandwidth column --- src/pg/sql/21_gwr.sql | 2 +- src/py/crankshaft/crankshaft/regression/gwr_cs.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pg/sql/21_gwr.sql b/src/pg/sql/21_gwr.sql index cfabb9b..9676486 100644 --- a/src/pg/sql/21_gwr.sql +++ b/src/pg/sql/21_gwr.sql @@ -1,7 +1,7 @@ CREATE OR REPLACE FUNCTION CDB_GWR(subquery text, dep_var text, ind_vars text[], fixed boolean default False, kernel text default 'bisquare') -RETURNS table(coeffs JSON, stand_errs JSON, t_vals JSON, predicted numeric, residuals numeric, r_squared numeric, rowid bigint) +RETURNS table(coeffs JSON, stand_errs JSON, t_vals JSON, predicted numeric, residuals numeric, r_squared numeric, rowid bigint, bandwidth numeric) AS $$ from crankshaft.regression import gwr_cs diff --git a/src/py/crankshaft/crankshaft/regression/gwr_cs.py b/src/py/crankshaft/crankshaft/regression/gwr_cs.py index 5be4630..656436b 100644 --- a/src/py/crankshaft/crankshaft/regression/gwr_cs.py +++ b/src/py/crankshaft/crankshaft/regression/gwr_cs.py @@ -72,6 +72,7 @@ def gwr(subquery, dep_var, ind_vars, predicted = model.predy.flatten() residuals = model.resid_response r_squared = model.localR2.flatten() + bw = np.repeat(bw, n) for idx in xrange(n): coefficients.append(json.dumps({var: model.params[idx, k] @@ -82,6 +83,6 @@ def gwr(subquery, dep_var, ind_vars, for k, var in enumerate(ind_vars)})) plpy.notice(str(zip(coefficients, stand_errs, t_vals, - predicted, residuals, r_squared, rowid))) + predicted, residuals, r_squared, rowid, bw))) return zip(coefficients, stand_errs, t_vals, - predicted, residuals, r_squared, rowid) + predicted, residuals, r_squared, rowid, bw)