Run 2to3
This commit is contained in:
@@ -15,7 +15,6 @@ nosetests test/
|
|||||||
- Installed through it
|
- Installed through it
|
||||||
- Tested, when they have a test suite.
|
- Tested, when they have a test suite.
|
||||||
- Fixed in the `requirements.txt`
|
- Fixed in the `requirements.txt`
|
||||||
* At present we use Python version 2.7.3
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -4,4 +4,4 @@ import crankshaft.clustering
|
|||||||
import crankshaft.space_time_dynamics
|
import crankshaft.space_time_dynamics
|
||||||
import crankshaft.segmentation
|
import crankshaft.segmentation
|
||||||
import crankshaft.regression
|
import crankshaft.regression
|
||||||
import analysis_data_provider
|
from . import analysis_data_provider
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"""class for fetching data"""
|
"""class for fetching data"""
|
||||||
import plpy
|
import plpy
|
||||||
import pysal_utils as pu
|
from . import pysal_utils as pu
|
||||||
|
|
||||||
NULL_VALUE_ERROR = ('No usable data passed to analysis. Check your input rows '
|
NULL_VALUE_ERROR = ('No usable data passed to analysis. Check your input rows '
|
||||||
'for null values and fill in appropriately.')
|
'for null values and fill in appropriately.')
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
"""Import all functions from for clustering"""
|
"""Import all functions from for clustering"""
|
||||||
from moran import *
|
from .moran import *
|
||||||
from kmeans import *
|
from .kmeans import *
|
||||||
from getis import *
|
from .getis import *
|
||||||
|
|||||||
@@ -47,4 +47,4 @@ class Getis(object):
|
|||||||
getis = ps.esda.getisord.G_Local(attr_vals, weight,
|
getis = ps.esda.getisord.G_Local(attr_vals, weight,
|
||||||
star=True, permutations=permutations)
|
star=True, permutations=permutations)
|
||||||
|
|
||||||
return zip(getis.z_sim, getis.p_sim, getis.p_z_sim, weight.id_order)
|
return list(zip(getis.z_sim, getis.p_sim, getis.p_z_sim, weight.id_order))
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ class Kmeans(object):
|
|||||||
ids = result[0]['ids']
|
ids = result[0]['ids']
|
||||||
|
|
||||||
km = KMeans(n_clusters=no_clusters, n_init=no_init)
|
km = KMeans(n_clusters=no_clusters, n_init=no_init)
|
||||||
labels = km.fit_predict(zip(xs, ys))
|
labels = km.fit_predict(list(zip(xs, ys)))
|
||||||
return zip(ids, labels)
|
return list(zip(ids, labels))
|
||||||
|
|
||||||
def nonspatial(self, subquery, colnames, no_clusters=5,
|
def nonspatial(self, subquery, colnames, no_clusters=5,
|
||||||
standardize=True, id_col='cartodb_id'):
|
standardize=True, id_col='cartodb_id'):
|
||||||
@@ -75,18 +75,18 @@ class Kmeans(object):
|
|||||||
kmeans = KMeans(n_clusters=no_clusters,
|
kmeans = KMeans(n_clusters=no_clusters,
|
||||||
random_state=0).fit(cluster_columns)
|
random_state=0).fit(cluster_columns)
|
||||||
|
|
||||||
centers = [json.dumps(dict(zip(colnames, c)))
|
centers = [json.dumps(dict(list(zip(colnames, c))))
|
||||||
for c in kmeans.cluster_centers_[kmeans.labels_]]
|
for c in kmeans.cluster_centers_[kmeans.labels_]]
|
||||||
|
|
||||||
silhouettes = metrics.silhouette_samples(cluster_columns,
|
silhouettes = metrics.silhouette_samples(cluster_columns,
|
||||||
kmeans.labels_,
|
kmeans.labels_,
|
||||||
metric='sqeuclidean')
|
metric='sqeuclidean')
|
||||||
|
|
||||||
return zip(kmeans.labels_,
|
return list(zip(kmeans.labels_,
|
||||||
centers,
|
centers,
|
||||||
silhouettes,
|
silhouettes,
|
||||||
[kmeans.inertia_] * kmeans.labels_.shape[0],
|
[kmeans.inertia_] * kmeans.labels_.shape[0],
|
||||||
data[0]['rowid'])
|
data[0]['rowid']))
|
||||||
|
|
||||||
|
|
||||||
# -- Preprocessing steps
|
# -- Preprocessing steps
|
||||||
@@ -99,7 +99,7 @@ def _extract_columns(data):
|
|||||||
# number of columns minus rowid column
|
# number of columns minus rowid column
|
||||||
n_cols = len(data[0]) - 1
|
n_cols = len(data[0]) - 1
|
||||||
return np.array([data[0]['arr_col{0}'.format(i+1)]
|
return np.array([data[0]['arr_col{0}'.format(i+1)]
|
||||||
for i in xrange(n_cols)],
|
for i in range(n_cols)],
|
||||||
dtype=float).T
|
dtype=float).T
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class Moran(object):
|
|||||||
moran_global = ps.esda.moran.Moran(attr_vals, weight,
|
moran_global = ps.esda.moran.Moran(attr_vals, weight,
|
||||||
permutations=permutations)
|
permutations=permutations)
|
||||||
|
|
||||||
return zip([moran_global.I], [moran_global.EI])
|
return list(zip([moran_global.I], [moran_global.EI]))
|
||||||
|
|
||||||
def local_stat(self, subquery, attr,
|
def local_stat(self, subquery, attr,
|
||||||
w_type, num_ngbrs, permutations, geom_col, id_col):
|
w_type, num_ngbrs, permutations, geom_col, id_col):
|
||||||
@@ -139,7 +139,7 @@ class Moran(object):
|
|||||||
lag = ps.weights.spatial_lag.lag_spatial(weight, lisa.y)
|
lag = ps.weights.spatial_lag.lag_spatial(weight, lisa.y)
|
||||||
lag_std = ps.weights.spatial_lag.lag_spatial(weight, lisa.z)
|
lag_std = ps.weights.spatial_lag.lag_spatial(weight, lisa.z)
|
||||||
|
|
||||||
return zip(
|
return list(zip(
|
||||||
quads,
|
quads,
|
||||||
lisa.p_sim,
|
lisa.p_sim,
|
||||||
lag,
|
lag,
|
||||||
@@ -148,7 +148,7 @@ class Moran(object):
|
|||||||
lisa.z,
|
lisa.z,
|
||||||
lisa.Is,
|
lisa.Is,
|
||||||
weight.id_order
|
weight.id_order
|
||||||
)
|
))
|
||||||
|
|
||||||
def global_rate_stat(self, subquery, numerator, denominator,
|
def global_rate_stat(self, subquery, numerator, denominator,
|
||||||
w_type, num_ngbrs, permutations, geom_col, id_col):
|
w_type, num_ngbrs, permutations, geom_col, id_col):
|
||||||
@@ -194,7 +194,7 @@ class Moran(object):
|
|||||||
lisa_rate = ps.esda.moran.Moran_Rate(numer, denom, weight,
|
lisa_rate = ps.esda.moran.Moran_Rate(numer, denom, weight,
|
||||||
permutations=permutations)
|
permutations=permutations)
|
||||||
|
|
||||||
return zip([lisa_rate.I], [lisa_rate.EI])
|
return list(zip([lisa_rate.I], [lisa_rate.EI]))
|
||||||
|
|
||||||
def local_rate_stat(self, subquery, numerator, denominator,
|
def local_rate_stat(self, subquery, numerator, denominator,
|
||||||
w_type, num_ngbrs, permutations, geom_col, id_col):
|
w_type, num_ngbrs, permutations, geom_col, id_col):
|
||||||
@@ -262,7 +262,7 @@ class Moran(object):
|
|||||||
lag = ps.weights.spatial_lag.lag_spatial(weight, lisa.y)
|
lag = ps.weights.spatial_lag.lag_spatial(weight, lisa.y)
|
||||||
lag_std = ps.weights.spatial_lag.lag_spatial(weight, lisa.z)
|
lag_std = ps.weights.spatial_lag.lag_spatial(weight, lisa.z)
|
||||||
|
|
||||||
return zip(
|
return list(zip(
|
||||||
quads,
|
quads,
|
||||||
lisa.p_sim,
|
lisa.p_sim,
|
||||||
lag,
|
lag,
|
||||||
@@ -271,7 +271,7 @@ class Moran(object):
|
|||||||
lisa.z,
|
lisa.z,
|
||||||
lisa.Is,
|
lisa.Is,
|
||||||
weight.id_order
|
weight.id_order
|
||||||
)
|
))
|
||||||
|
|
||||||
def local_bivariate_stat(self, subquery, attr1, attr2,
|
def local_bivariate_stat(self, subquery, attr1, attr2,
|
||||||
permutations, geom_col, id_col,
|
permutations, geom_col, id_col,
|
||||||
@@ -303,7 +303,7 @@ class Moran(object):
|
|||||||
# find clustering of significance
|
# find clustering of significance
|
||||||
lisa_sig = quad_position(lisa.q)
|
lisa_sig = quad_position(lisa.q)
|
||||||
|
|
||||||
return zip(lisa.Is, lisa_sig, lisa.p_sim, weight.id_order)
|
return list(zip(lisa.Is, lisa_sig, lisa.p_sim, weight.id_order))
|
||||||
|
|
||||||
# Low level functions ----------------------------------------
|
# Low level functions ----------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ def get_weight(query_res, w_type='knn', num_ngbrs=5):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
neighbors = {x['id']: x['neighbors'] for x in query_res}
|
neighbors = {x['id']: x['neighbors'] for x in query_res}
|
||||||
print 'len of neighbors: %d' % len(neighbors)
|
print('len of neighbors: %d' % len(neighbors))
|
||||||
|
|
||||||
built_weight = ps.W(neighbors)
|
built_weight = ps.W(neighbors)
|
||||||
built_weight.transform = 'r'
|
built_weight.transform = 'r'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import glm
|
from . import glm
|
||||||
import family
|
from . import family
|
||||||
import utils
|
from . import utils
|
||||||
import iwls
|
from . import iwls
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
|
|
||||||
from __future__ import print_function
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from scipy import stats
|
from scipy import stats
|
||||||
from utils import cache_readonly
|
from .utils import cache_readonly
|
||||||
|
from functools import reduce
|
||||||
|
|
||||||
class Results(object):
|
class Results(object):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ The one parameter exponential family distributions used by GLM.
|
|||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from scipy import special
|
from scipy import special
|
||||||
import links as L
|
from . import links as L
|
||||||
import varfuncs as V
|
from . import varfuncs as V
|
||||||
FLOAT_EPS = np.finfo(float).eps
|
FLOAT_EPS = np.finfo(float).eps
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ import numpy as np
|
|||||||
import numpy.linalg as la
|
import numpy.linalg as la
|
||||||
from pysal.spreg.utils import RegressionPropsY, spdot
|
from pysal.spreg.utils import RegressionPropsY, spdot
|
||||||
import pysal.spreg.user_output as USER
|
import pysal.spreg.user_output as USER
|
||||||
from utils import cache_readonly
|
from .utils import cache_readonly
|
||||||
from base import LikelihoodModelResults
|
from .base import LikelihoodModelResults
|
||||||
import family
|
from . import family
|
||||||
from iwls import iwls
|
from .iwls import iwls
|
||||||
|
|
||||||
__all__ = ['GLM']
|
__all__ = ['GLM']
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import numpy.linalg as la
|
|||||||
from scipy import sparse as sp
|
from scipy import sparse as sp
|
||||||
from scipy.sparse import linalg as spla
|
from scipy.sparse import linalg as spla
|
||||||
from pysal.spreg.utils import spdot, spmultiply
|
from pysal.spreg.utils import spdot, spmultiply
|
||||||
from family import Binomial, Poisson
|
from .family import Binomial, Poisson
|
||||||
|
|
||||||
def _compute_betas(y, x):
|
def _compute_betas(y, x):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
from __future__ import absolute_import, print_function
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ try:
|
|||||||
from scipy.lib._version import NumpyVersion
|
from scipy.lib._version import NumpyVersion
|
||||||
except ImportError:
|
except ImportError:
|
||||||
import re
|
import re
|
||||||
string_types = basestring
|
string_types = str
|
||||||
|
|
||||||
class NumpyVersion():
|
class NumpyVersion():
|
||||||
"""Parse and compare numpy version strings.
|
"""Parse and compare numpy version strings.
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
from base import *
|
from .base import *
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import gwr
|
from . import gwr
|
||||||
import sel_bw
|
from . import sel_bw
|
||||||
import diagnostics
|
from . import diagnostics
|
||||||
import kernels
|
from . import kernels
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ __author__ = "Taylor Oshan Tayoshan@gmail.com"
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import numpy.linalg as la
|
import numpy.linalg as la
|
||||||
from scipy.stats import t
|
from scipy.stats import t
|
||||||
from kernels import *
|
from .kernels import *
|
||||||
from diagnostics import get_AIC, get_AICc, get_BIC
|
from .diagnostics import get_AIC, get_AICc, get_BIC
|
||||||
import pysal.spreg.user_output as USER
|
import pysal.spreg.user_output as USER
|
||||||
from crankshaft.regression.glm.family import Gaussian, Binomial, Poisson
|
from crankshaft.regression.glm.family import Gaussian, Binomial, Poisson
|
||||||
from crankshaft.regression.glm.glm import GLM, GLMResults
|
from crankshaft.regression.glm.glm import GLM, GLMResults
|
||||||
|
|||||||
@@ -117,4 +117,4 @@ class _Kernel(object):
|
|||||||
elif self.function =='exponential':
|
elif self.function =='exponential':
|
||||||
return np.exp(-zs)
|
return np.exp(-zs)
|
||||||
else:
|
else:
|
||||||
print('Unsupported kernel function', self.function)
|
print(('Unsupported kernel function', self.function))
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ def flexible_bw(init, y, X, n, k, family, tol, max_iter, rss_score,
|
|||||||
gwr_func, bw_func, sel_func):
|
gwr_func, bw_func, sel_func):
|
||||||
if init:
|
if init:
|
||||||
bw = sel_func(bw_func(y, X))
|
bw = sel_func(bw_func(y, X))
|
||||||
print bw
|
print(bw)
|
||||||
optim_model = gwr_func(y, X, bw)
|
optim_model = gwr_func(y, X, bw)
|
||||||
err = optim_model.resid_response.reshape((-1,1))
|
err = optim_model.resid_response.reshape((-1,1))
|
||||||
est = optim_model.params
|
est = optim_model.params
|
||||||
@@ -198,7 +198,7 @@ def flexible_bw(init, y, X, n, k, family, tol, max_iter, rss_score,
|
|||||||
new_rss = np.sum((y - predy)**2)
|
new_rss = np.sum((y - predy)**2)
|
||||||
score = np.abs((new_rss - rss)/new_rss)
|
score = np.abs((new_rss - rss)/new_rss)
|
||||||
rss = new_rss
|
rss = new_rss
|
||||||
print score
|
print(score)
|
||||||
scores.append(score)
|
scores.append(score)
|
||||||
delta = score
|
delta = score
|
||||||
BWs.append(bws)
|
BWs.append(bws)
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
|
|
||||||
__author__ = "Taylor Oshan Tayoshan@gmail.com"
|
__author__ = "Taylor Oshan Tayoshan@gmail.com"
|
||||||
|
|
||||||
from kernels import *
|
from .kernels import *
|
||||||
from search import golden_section, equal_interval, flexible_bw
|
from .search import golden_section, equal_interval, flexible_bw
|
||||||
from gwr import GWR
|
from .gwr import GWR
|
||||||
from crankshaft.regression.glm.family import Gaussian, Poisson, Binomial
|
from crankshaft.regression.glm.family import Gaussian, Poisson, Binomial
|
||||||
import pysal.spreg.user_output as USER
|
import pysal.spreg.user_output as USER
|
||||||
from diagnostics import get_AICc, get_AIC, get_BIC, get_CV
|
from .diagnostics import get_AICc, get_AIC, get_BIC, get_CV
|
||||||
from scipy.spatial.distance import pdist, squareform
|
from scipy.spatial.distance import pdist, squareform
|
||||||
from pysal.common import KDTree
|
from pysal.common import KDTree
|
||||||
import numpy as np
|
import numpy as np
|
||||||
@@ -197,7 +197,7 @@ class Sel_BW(object):
|
|||||||
|
|
||||||
if self.fb:
|
if self.fb:
|
||||||
self._fbw()
|
self._fbw()
|
||||||
print self.bw[1]
|
print(self.bw[1])
|
||||||
self.XB = self.bw[4]
|
self.XB = self.bw[4]
|
||||||
self.err = self.bw[5]
|
self.err = self.bw[5]
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import pysal
|
|||||||
class TestGWRGaussian(unittest.TestCase):
|
class TestGWRGaussian(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
data = pysal.open(pysal.examples.get_path('GData_utm.csv'))
|
data = pysal.open(pysal.examples.get_path('GData_utm.csv'))
|
||||||
self.coords = zip(data.by_col('X'), data.by_col('Y'))
|
self.coords = list(zip(data.by_col('X'), data.by_col('Y')))
|
||||||
self.y = np.array(data.by_col('PctBach')).reshape((-1,1))
|
self.y = np.array(data.by_col('PctBach')).reshape((-1,1))
|
||||||
rural = np.array(data.by_col('PctRural')).reshape((-1,1))
|
rural = np.array(data.by_col('PctRural')).reshape((-1,1))
|
||||||
pov = np.array(data.by_col('PctPov')).reshape((-1,1))
|
pov = np.array(data.by_col('PctPov')).reshape((-1,1))
|
||||||
@@ -56,10 +56,10 @@ class TestGWRGaussian(unittest.TestCase):
|
|||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
CV = get_CV(rslt)
|
CV = get_CV(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 894.0)
|
self.assertAlmostEqual(np.floor(AICc), 894.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 890.0)
|
self.assertAlmostEqual(np.floor(AIC), 890.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 944.0)
|
self.assertAlmostEqual(np.floor(BIC), 944.0)
|
||||||
self.assertAlmostEquals(np.round(CV,2), 18.25)
|
self.assertAlmostEqual(np.round(CV,2), 18.25)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
||||||
@@ -107,10 +107,10 @@ class TestGWRGaussian(unittest.TestCase):
|
|||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
CV = get_CV(rslt)
|
CV = get_CV(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 896.0)
|
self.assertAlmostEqual(np.floor(AICc), 896.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 892.0)
|
self.assertAlmostEqual(np.floor(AIC), 892.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 941.0)
|
self.assertAlmostEqual(np.floor(BIC), 941.0)
|
||||||
self.assertAlmostEquals(np.around(CV, 2), 19.19)
|
self.assertAlmostEqual(np.around(CV, 2), 19.19)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
||||||
@@ -159,10 +159,10 @@ class TestGWRGaussian(unittest.TestCase):
|
|||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
CV = get_CV(rslt)
|
CV = get_CV(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 895.0)
|
self.assertAlmostEqual(np.floor(AICc), 895.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 890.0)
|
self.assertAlmostEqual(np.floor(AIC), 890.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 943.0)
|
self.assertAlmostEqual(np.floor(BIC), 943.0)
|
||||||
self.assertAlmostEquals(np.around(CV, 2), 18.21)
|
self.assertAlmostEqual(np.around(CV, 2), 18.21)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
||||||
@@ -211,10 +211,10 @@ class TestGWRGaussian(unittest.TestCase):
|
|||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
CV = get_CV(rslt)
|
CV = get_CV(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 896)
|
self.assertAlmostEqual(np.floor(AICc), 896)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 894.0)
|
self.assertAlmostEqual(np.floor(AIC), 894.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 922.0)
|
self.assertAlmostEqual(np.floor(BIC), 922.0)
|
||||||
self.assertAlmostEquals(np.around(CV, 2), 17.91)
|
self.assertAlmostEqual(np.around(CV, 2), 17.91)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-04)
|
||||||
@@ -314,7 +314,7 @@ class TestGWRGaussian(unittest.TestCase):
|
|||||||
class TestGWRPoisson(unittest.TestCase):
|
class TestGWRPoisson(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
data = pysal.open(pysal.examples.get_path('Tokyomortality.csv'), mode='Ur')
|
data = pysal.open(pysal.examples.get_path('Tokyomortality.csv'), mode='Ur')
|
||||||
self.coords = zip(data.by_col('X_CENTROID'), data.by_col('Y_CENTROID'))
|
self.coords = list(zip(data.by_col('X_CENTROID'), data.by_col('Y_CENTROID')))
|
||||||
self.y = np.array(data.by_col('db2564')).reshape((-1,1))
|
self.y = np.array(data.by_col('db2564')).reshape((-1,1))
|
||||||
self.off = np.array(data.by_col('eb2564')).reshape((-1,1))
|
self.off = np.array(data.by_col('eb2564')).reshape((-1,1))
|
||||||
OCC = np.array(data.by_col('OCC_TEC')).reshape((-1,1))
|
OCC = np.array(data.by_col('OCC_TEC')).reshape((-1,1))
|
||||||
@@ -355,9 +355,9 @@ class TestGWRPoisson(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 13294.0)
|
self.assertAlmostEqual(np.floor(AICc), 13294.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 13247.0)
|
self.assertAlmostEqual(np.floor(AIC), 13247.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 13485.0)
|
self.assertAlmostEqual(np.floor(BIC), 13485.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-05)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-05)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-03)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-03)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-03)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-03)
|
||||||
@@ -404,9 +404,9 @@ class TestGWRPoisson(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 13285)
|
self.assertAlmostEqual(np.floor(AICc), 13285)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 13259.0)
|
self.assertAlmostEqual(np.floor(AIC), 13259.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 13442.0)
|
self.assertAlmostEqual(np.floor(BIC), 13442.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-02)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-02)
|
||||||
@@ -452,9 +452,9 @@ class TestGWRPoisson(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 367.0)
|
self.assertAlmostEqual(np.floor(AICc), 367.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 361.0)
|
self.assertAlmostEqual(np.floor(AIC), 361.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 451.0)
|
self.assertAlmostEqual(np.floor(BIC), 451.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-02,
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-02,
|
||||||
atol=1e-02)
|
atol=1e-02)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02, atol=1e-02)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02, atol=1e-02)
|
||||||
@@ -511,9 +511,9 @@ class TestGWRPoisson(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 11283.0)
|
self.assertAlmostEqual(np.floor(AICc), 11283.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 11211.0)
|
self.assertAlmostEqual(np.floor(AIC), 11211.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 11497.0)
|
self.assertAlmostEqual(np.floor(BIC), 11497.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-03)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-03)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-02)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-02)
|
||||||
@@ -559,9 +559,9 @@ class TestGWRPoisson(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 21070.0)
|
self.assertAlmostEqual(np.floor(AICc), 21070.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 21069.0)
|
self.assertAlmostEqual(np.floor(AIC), 21069.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 21111.0)
|
self.assertAlmostEqual(np.floor(BIC), 21111.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-04)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-02)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-02)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-02)
|
||||||
@@ -583,7 +583,7 @@ class TestGWRPoisson(unittest.TestCase):
|
|||||||
class TestGWRBinomial(unittest.TestCase):
|
class TestGWRBinomial(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
data = pysal.open(pysal.examples.get_path('landslides.csv'))
|
data = pysal.open(pysal.examples.get_path('landslides.csv'))
|
||||||
self.coords = zip(data.by_col('X'), data.by_col('Y'))
|
self.coords = list(zip(data.by_col('X'), data.by_col('Y')))
|
||||||
self.y = np.array(data.by_col('Landslid')).reshape((-1,1))
|
self.y = np.array(data.by_col('Landslid')).reshape((-1,1))
|
||||||
ELEV = np.array(data.by_col('Elev')).reshape((-1,1))
|
ELEV = np.array(data.by_col('Elev')).reshape((-1,1))
|
||||||
SLOPE = np.array(data.by_col('Slope')).reshape((-1,1))
|
SLOPE = np.array(data.by_col('Slope')).reshape((-1,1))
|
||||||
@@ -630,9 +630,9 @@ class TestGWRBinomial(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 275.0)
|
self.assertAlmostEqual(np.floor(AICc), 275.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 271.0)
|
self.assertAlmostEqual(np.floor(AIC), 271.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 349.0)
|
self.assertAlmostEqual(np.floor(BIC), 349.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
||||||
@@ -693,9 +693,9 @@ class TestGWRBinomial(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 277.0)
|
self.assertAlmostEqual(np.floor(AICc), 277.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 271.0)
|
self.assertAlmostEqual(np.floor(AIC), 271.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 358.0)
|
self.assertAlmostEqual(np.floor(BIC), 358.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
||||||
@@ -756,9 +756,9 @@ class TestGWRBinomial(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 276.0)
|
self.assertAlmostEqual(np.floor(AICc), 276.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 272.0)
|
self.assertAlmostEqual(np.floor(AIC), 272.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 341.0)
|
self.assertAlmostEqual(np.floor(BIC), 341.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
||||||
@@ -819,9 +819,9 @@ class TestGWRBinomial(unittest.TestCase):
|
|||||||
AIC = get_AIC(rslt)
|
AIC = get_AIC(rslt)
|
||||||
BIC = get_BIC(rslt)
|
BIC = get_BIC(rslt)
|
||||||
|
|
||||||
self.assertAlmostEquals(np.floor(AICc), 276.0)
|
self.assertAlmostEqual(np.floor(AICc), 276.0)
|
||||||
self.assertAlmostEquals(np.floor(AIC), 273.0)
|
self.assertAlmostEqual(np.floor(AIC), 273.0)
|
||||||
self.assertAlmostEquals(np.floor(BIC), 331.0)
|
self.assertAlmostEqual(np.floor(BIC), 331.0)
|
||||||
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
np.testing.assert_allclose(est_Int, rslt.params[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
np.testing.assert_allclose(se_Int, rslt.bse[:,0], rtol=1e-00)
|
||||||
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
np.testing.assert_allclose(t_Int, rslt.tvalues[:,0], rtol=1e-00)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class TestKernels(unittest.TestCase):
|
|||||||
y = np.arange(5,0, -1)
|
y = np.arange(5,0, -1)
|
||||||
np.random.shuffle(x)
|
np.random.shuffle(x)
|
||||||
np.random.shuffle(y)
|
np.random.shuffle(y)
|
||||||
self.coords = np.array(zip(x, y))
|
self.coords = np.array(list(zip(x, y)))
|
||||||
self.fix_gauss_kern = np.array([
|
self.fix_gauss_kern = np.array([
|
||||||
[ 1. , 0.38889556, 0.48567179, 0.48567179, 0.89483932],
|
[ 1. , 0.38889556, 0.48567179, 0.48567179, 0.89483932],
|
||||||
[ 0.38889556, 1. , 0.89483932, 0.64118039, 0.48567179],
|
[ 0.38889556, 1. , 0.89483932, 0.64118039, 0.48567179],
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import pysal
|
|||||||
class TestSelBW(unittest.TestCase):
|
class TestSelBW(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
data = pysal.open(pysal.examples.get_path('GData_utm.csv'))
|
data = pysal.open(pysal.examples.get_path('GData_utm.csv'))
|
||||||
self.coords = zip(data.by_col('X'), data.by_col('Y'))
|
self.coords = list(zip(data.by_col('X'), data.by_col('Y')))
|
||||||
self.y = np.array(data.by_col('PctBach')).reshape((-1,1))
|
self.y = np.array(data.by_col('PctBach')).reshape((-1,1))
|
||||||
rural = np.array(data.by_col('PctRural')).reshape((-1,1))
|
rural = np.array(data.by_col('PctRural')).reshape((-1,1))
|
||||||
pov = np.array(data.by_col('PctPov')).reshape((-1,1))
|
pov = np.array(data.by_col('PctPov')).reshape((-1,1))
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
Geographically weighted regression
|
Geographically weighted regression
|
||||||
"""
|
"""
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from gwr.base.gwr import GWR as PySAL_GWR
|
from .gwr.base.gwr import GWR as PySAL_GWR
|
||||||
from gwr.base.sel_bw import Sel_BW
|
from .gwr.base.sel_bw import Sel_BW
|
||||||
import json
|
import json
|
||||||
from crankshaft.analysis_data_provider import AnalysisDataProvider
|
from crankshaft.analysis_data_provider import AnalysisDataProvider
|
||||||
import plpy
|
import plpy
|
||||||
@@ -48,7 +48,7 @@ class GWR:
|
|||||||
# x, y are centroids of input geometries
|
# x, y are centroids of input geometries
|
||||||
x = np.array(query_result[0]['x'], dtype=np.float)
|
x = np.array(query_result[0]['x'], dtype=np.float)
|
||||||
y = np.array(query_result[0]['y'], dtype=np.float)
|
y = np.array(query_result[0]['y'], dtype=np.float)
|
||||||
coords = zip(x, y)
|
coords = list(zip(x, y))
|
||||||
|
|
||||||
# extract dependent variable
|
# extract dependent variable
|
||||||
Y = np.array(query_result[0]['dep_var'], dtype=np.float).reshape((-1, 1))
|
Y = np.array(query_result[0]['dep_var'], dtype=np.float).reshape((-1, 1))
|
||||||
@@ -88,7 +88,7 @@ class GWR:
|
|||||||
bw = np.repeat(float(bw), n)
|
bw = np.repeat(float(bw), n)
|
||||||
|
|
||||||
# create lists of json objs for model outputs
|
# create lists of json objs for model outputs
|
||||||
for idx in xrange(n):
|
for idx in range(n):
|
||||||
coeffs.append(json.dumps({var: model.params[idx, k]
|
coeffs.append(json.dumps({var: model.params[idx, k]
|
||||||
for k, var in enumerate(ind_vars)}))
|
for k, var in enumerate(ind_vars)}))
|
||||||
stand_errs.append(json.dumps({var: model.bse[idx, k]
|
stand_errs.append(json.dumps({var: model.bse[idx, k]
|
||||||
@@ -99,8 +99,8 @@ class GWR:
|
|||||||
json.dumps({var: filtered_t[idx, k]
|
json.dumps({var: filtered_t[idx, k]
|
||||||
for k, var in enumerate(ind_vars)}))
|
for k, var in enumerate(ind_vars)}))
|
||||||
|
|
||||||
return zip(coeffs, stand_errs, t_vals, filtered_t_vals,
|
return list(zip(coeffs, stand_errs, t_vals, filtered_t_vals,
|
||||||
predicted, residuals, r_squared, bw, rowid)
|
predicted, residuals, r_squared, bw, rowid))
|
||||||
|
|
||||||
def gwr_predict(self, subquery, dep_var, ind_vars,
|
def gwr_predict(self, subquery, dep_var, ind_vars,
|
||||||
bw=None, fixed=False, kernel='bisquare',
|
bw=None, fixed=False, kernel='bisquare',
|
||||||
@@ -133,7 +133,7 @@ class GWR:
|
|||||||
|
|
||||||
x = np.array(query_result[0]['x'], dtype=np.float)
|
x = np.array(query_result[0]['x'], dtype=np.float)
|
||||||
y = np.array(query_result[0]['y'], dtype=np.float)
|
y = np.array(query_result[0]['y'], dtype=np.float)
|
||||||
coords = np.array(zip(x, y), dtype=np.float)
|
coords = np.array(list(zip(x, y)), dtype=np.float)
|
||||||
|
|
||||||
# extract dependent variable
|
# extract dependent variable
|
||||||
Y = np.array(query_result[0]['dep_var']).reshape((-1, 1))
|
Y = np.array(query_result[0]['dep_var']).reshape((-1, 1))
|
||||||
@@ -190,7 +190,7 @@ class GWR:
|
|||||||
predicted = model.predy.flatten()
|
predicted = model.predy.flatten()
|
||||||
|
|
||||||
m = len(model.predy)
|
m = len(model.predy)
|
||||||
for idx in xrange(m):
|
for idx in range(m):
|
||||||
coeffs.append(json.dumps({var: model.params[idx, k]
|
coeffs.append(json.dumps({var: model.params[idx, k]
|
||||||
for k, var in enumerate(ind_vars)}))
|
for k, var in enumerate(ind_vars)}))
|
||||||
stand_errs.append(json.dumps({var: model.bse[idx, k]
|
stand_errs.append(json.dumps({var: model.bse[idx, k]
|
||||||
@@ -198,5 +198,5 @@ class GWR:
|
|||||||
t_vals.append(json.dumps({var: model.tvalues[idx, k]
|
t_vals.append(json.dumps({var: model.tvalues[idx, k]
|
||||||
for k, var in enumerate(ind_vars)}))
|
for k, var in enumerate(ind_vars)}))
|
||||||
|
|
||||||
return zip(coeffs, stand_errs, t_vals,
|
return list(zip(coeffs, stand_errs, t_vals,
|
||||||
r_squared, predicted, rowid[test])
|
r_squared, predicted, rowid[test]))
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
"""Import all functions from for segmentation"""
|
"""Import all functions from for segmentation"""
|
||||||
from segmentation import *
|
from .segmentation import *
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class Segmentation(object):
|
|||||||
model_parameters, 0.2)
|
model_parameters, 0.2)
|
||||||
prediction = model.predict(target_features)
|
prediction = model.predict(target_features)
|
||||||
accuracy_array = [accuracy] * prediction.shape[0]
|
accuracy_array = [accuracy] * prediction.shape[0]
|
||||||
return zip(target_ids, prediction, accuracy_array)
|
return list(zip(target_ids, prediction, accuracy_array))
|
||||||
|
|
||||||
def create_and_predict_segment(self, query, variable, feature_columns,
|
def create_and_predict_segment(self, query, variable, feature_columns,
|
||||||
target_query, model_params,
|
target_query, model_params,
|
||||||
@@ -79,7 +79,7 @@ class Segmentation(object):
|
|||||||
'''
|
'''
|
||||||
rowid = [{'ids': [2.9, 4.9, 4, 5, 6]}]
|
rowid = [{'ids': [2.9, 4.9, 4, 5, 6]}]
|
||||||
'''
|
'''
|
||||||
return zip(rowid[0]['ids'], result, accuracy_array)
|
return list(zip(rowid[0]['ids'], result, accuracy_array))
|
||||||
|
|
||||||
def predict_segment(self, model, feature_columns, target_query,
|
def predict_segment(self, model, feature_columns, target_query,
|
||||||
feature_means):
|
feature_means):
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
"""Import all functions from clustering libraries."""
|
"""Import all functions from clustering libraries."""
|
||||||
from markov import *
|
from .markov import *
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ class Markov(object):
|
|||||||
trend_up, trend_down, trend, volatility = get_prob_stats(prob_dist, sp_markov_result.classes[:, -1])
|
trend_up, trend_down, trend, volatility = get_prob_stats(prob_dist, sp_markov_result.classes[:, -1])
|
||||||
|
|
||||||
# output the results
|
# output the results
|
||||||
return zip(trend, trend_up, trend_down, volatility, weights.id_order)
|
return list(zip(trend, trend_up, trend_down, volatility, weights.id_order))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ setup(
|
|||||||
'Intended Audience :: Mapping comunity',
|
'Intended Audience :: Mapping comunity',
|
||||||
'Topic :: Maps :: Mapping Tools',
|
'Topic :: Maps :: Mapping Tools',
|
||||||
'License :: OSI Approved :: MIT License',
|
'License :: OSI Approved :: MIT License',
|
||||||
'Programming Language :: Python :: 2.7',
|
'Programming Language :: Python',
|
||||||
],
|
],
|
||||||
|
|
||||||
keywords='maps mapping tools spatial analysis geostatistics',
|
keywords='maps mapping tools spatial analysis geostatistics',
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class MoranTest(unittest.TestCase):
|
|||||||
result = moran.local_stat('subquery', 'value',
|
result = moran.local_stat('subquery', 'value',
|
||||||
'knn', 5, 99, 'the_geom', 'cartodb_id')
|
'knn', 5, 99, 'the_geom', 'cartodb_id')
|
||||||
result = [(row[0], row[6]) for row in result]
|
result = [(row[0], row[6]) for row in result]
|
||||||
zipped_values = zip(result, self.moran_data)
|
zipped_values = list(zip(result, self.moran_data))
|
||||||
|
|
||||||
for ([res_quad, res_val], [exp_val, exp_quad]) in zipped_values:
|
for ([res_quad, res_val], [exp_val, exp_quad]) in zipped_values:
|
||||||
self.assertAlmostEqual(res_val, exp_val)
|
self.assertAlmostEqual(res_val, exp_val)
|
||||||
@@ -91,7 +91,7 @@ class MoranTest(unittest.TestCase):
|
|||||||
'knn', 5, 99, 'the_geom', 'cartodb_id')
|
'knn', 5, 99, 'the_geom', 'cartodb_id')
|
||||||
result = [(row[0], row[6]) for row in result]
|
result = [(row[0], row[6]) for row in result]
|
||||||
|
|
||||||
zipped_values = zip(result, self.moran_data)
|
zipped_values = list(zip(result, self.moran_data))
|
||||||
|
|
||||||
for ([res_quad, res_val], [exp_val, exp_quad]) in zipped_values:
|
for ([res_quad, res_val], [exp_val, exp_quad]) in zipped_values:
|
||||||
self.assertAlmostEqual(res_val, exp_val)
|
self.assertAlmostEqual(res_val, exp_val)
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ class GWRTest(unittest.TestCase):
|
|||||||
|
|
||||||
# unpack response
|
# unpack response
|
||||||
coeffs, stand_errs, t_vals, t_vals_filtered, predicteds, \
|
coeffs, stand_errs, t_vals, t_vals_filtered, predicteds, \
|
||||||
residuals, r_squareds, bws, rowids = zip(*gwr_resp)
|
residuals, r_squareds, bws, rowids = list(zip(*gwr_resp))
|
||||||
|
|
||||||
# prepare for comparision
|
# prepare for comparision
|
||||||
coeff_known_pctpov = self.knowns['est_pctpov']
|
coeff_known_pctpov = self.knowns['est_pctpov']
|
||||||
@@ -98,13 +98,13 @@ class GWRTest(unittest.TestCase):
|
|||||||
# test pctpov coefficient estimates
|
# test pctpov coefficient estimates
|
||||||
for idx, val in enumerate(coeff_known_pctpov):
|
for idx, val in enumerate(coeff_known_pctpov):
|
||||||
resp_idx = rowids.index(ids[idx])
|
resp_idx = rowids.index(ids[idx])
|
||||||
self.assertAlmostEquals(val,
|
self.assertAlmostEqual(val,
|
||||||
json.loads(coeffs[resp_idx])['pctpov'],
|
json.loads(coeffs[resp_idx])['pctpov'],
|
||||||
places=4)
|
places=4)
|
||||||
# test pctrural tvals
|
# test pctrural tvals
|
||||||
for idx, val in enumerate(tval_known_pctblack):
|
for idx, val in enumerate(tval_known_pctblack):
|
||||||
resp_idx = rowids.index(ids[idx])
|
resp_idx = rowids.index(ids[idx])
|
||||||
self.assertAlmostEquals(val,
|
self.assertAlmostEqual(val,
|
||||||
json.loads(t_vals[resp_idx])['pctrural'],
|
json.loads(t_vals[resp_idx])['pctrural'],
|
||||||
places=4)
|
places=4)
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ class GWRTest(unittest.TestCase):
|
|||||||
|
|
||||||
# unpack response
|
# unpack response
|
||||||
coeffs, stand_errs, t_vals, \
|
coeffs, stand_errs, t_vals, \
|
||||||
r_squareds, predicteds, rowid = zip(*gwr_resp)
|
r_squareds, predicteds, rowid = list(zip(*gwr_resp))
|
||||||
threshold = 0.01
|
threshold = 0.01
|
||||||
|
|
||||||
for i, idx in enumerate(self.idx_ids_of_unknowns):
|
for i, idx in enumerate(self.idx_ids_of_unknowns):
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ class SegmentationTest(unittest.TestCase):
|
|||||||
model_parameters,
|
model_parameters,
|
||||||
id_col='cartodb_id')
|
id_col='cartodb_id')
|
||||||
results = [(row[1], row[2]) for row in result]
|
results = [(row[1], row[2]) for row in result]
|
||||||
zipped_values = zip(results, self.result_seg)
|
zipped_values = list(zip(results, self.result_seg))
|
||||||
pre_res = [r[0] for r in self.true_result]
|
pre_res = [r[0] for r in self.true_result]
|
||||||
acc_res = [r[1] for r in self.result_seg]
|
acc_res = [r[1] for r in self.result_seg]
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class SpaceTimeTests(unittest.TestCase):
|
|||||||
|
|
||||||
self.assertTrue(result is not None)
|
self.assertTrue(result is not None)
|
||||||
result = [(row[0], row[1], row[2], row[3], row[4]) for row in result]
|
result = [(row[0], row[1], row[2], row[3], row[4]) for row in result]
|
||||||
print result[0]
|
print(result[0])
|
||||||
expected = self.markov_data
|
expected = self.markov_data
|
||||||
for ([res_trend, res_up, res_down, res_vol, res_id],
|
for ([res_trend, res_up, res_down, res_vol, res_id],
|
||||||
[exp_trend, exp_up, exp_down, exp_vol, exp_id]
|
[exp_trend, exp_up, exp_down, exp_vol, exp_id]
|
||||||
|
|||||||
Reference in New Issue
Block a user