Python numpy.corrcoef() Examples
The following are 30
code examples of numpy.corrcoef().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
numpy
, or try the search function
.
Example #1
Source File: latin_hypercube_sampling.py From pymoo with Apache License 2.0 | 8 votes |
def _calc_score(self, X): if isinstance(self.criterion, str): if self.criterion == "maxmin": D = cdist(X, X) np.fill_diagonal(D, np.inf) return np.min(D) elif self.criterion == "correlation": M = np.corrcoef(X.T, rowvar=True) return -np.sum(np.tril(M, -1) ** 2) else: raise Exception("Unknown criterion.") elif callable(self.criterion): return self.criterion(X) else: raise Exception("Either provide a str or a function as a criterion!")
Example #2
Source File: nanops.py From recruit with Apache License 2.0 | 7 votes |
def get_corr_func(method): if method in ['kendall', 'spearman']: from scipy.stats import kendalltau, spearmanr elif callable(method): return method def _pearson(a, b): return np.corrcoef(a, b)[0, 1] def _kendall(a, b): rs = kendalltau(a, b) if isinstance(rs, tuple): return rs[0] return rs def _spearman(a, b): return spearmanr(a, b)[0] _cor_methods = { 'pearson': _pearson, 'kendall': _kendall, 'spearman': _spearman } return _cor_methods[method]
Example #3
Source File: plsr1.py From hoggorm with BSD 2-Clause "Simplified" License | 6 votes |
def Y_corrLoadings(self): """ Returns an array holding correlation loadings of vector y. Columns represent components. First column for component 1, second columns for component 2, etc. """ # Creates empty matrix for correlation loadings arr_ycorrLoadings = np.zeros((np.shape(self.arrT)[1], np.shape(self.arrQ)[0]), float) # Compute correlation loadings: # For each PC in score matrix for PC in range(np.shape(self.arrT)[1]): PCscores = self.arrT[:, PC] # For each variable/attribute in original matrix (not meancentered) for var in range(np.shape(self.vecy)[1]): origVar = self.vecy[:, var] corrs = np.corrcoef(PCscores, origVar) arr_ycorrLoadings[PC, var] = corrs[0,1] self.arr_ycorrLoadings = np.transpose(arr_ycorrLoadings) return self.arr_ycorrLoadings
Example #4
Source File: lhs.py From pde-surrogate with MIT License | 6 votes |
def _lhscorrelate(n, samples, iterations): mincorr = np.inf # Minimize the components correlation coefficients for i in range(iterations): # Generate a random LHS Hcandidate = _lhsclassic(n, samples) R = np.corrcoef(Hcandidate) if np.max(np.abs(R[R != 1])) < mincorr: mincorr = np.max(np.abs(R - np.eye(R.shape[0]))) print( 'new candidate solution found with max,abs corrcoef = {}'.format( mincorr)) H = Hcandidate.copy() return H ################################################################################
Example #5
Source File: Quant_Indicators.py From QTS_Research with MIT License | 6 votes |
def correlation(obj1, obj2, start=0, end=-1, price_feature='Close'): if isinstance(obj1, str) or isinstance(obj2, str): obj1 = log_price_returns(obj1, start, end, price_feature) obj2 = log_price_returns(obj2, start, end, price_feature) # simple and rough treatment: assume biz days are the same among the two tickers if len(obj1)>len(obj2): obj1 = obj1[len(obj1)-len(obj2):] else: obj2 = obj2[len(obj2)-len(obj1):] start = 0 end = -1 if end < 0: end += len(obj1) if start < 0: start += len(obj1) return np.corrcoef(obj1[start: (end + 1)], obj2[start: (end + 1)])[0, 1]
Example #6
Source File: test_extras.py From auto-alt-text-lambda-api with MIT License | 6 votes |
def test_2d_w_missing(self): # Test corrcoef on 2D variable w/ missing value x = self.data x[-1] = masked x = x.reshape(3, 4) test = corrcoef(x) control = np.corrcoef(x) assert_almost_equal(test[:-1, :-1], control[:-1, :-1]) with catch_warn_mae(): warnings.simplefilter("ignore") # ddof and bias have no or negligible effect on the function assert_almost_equal(corrcoef(x, ddof=-2)[:-1, :-1], control[:-1, :-1]) assert_almost_equal(corrcoef(x, ddof=3)[:-1, :-1], control[:-1, :-1]) assert_almost_equal(corrcoef(x, bias=1)[:-1, :-1], control[:-1, :-1])
Example #7
Source File: pca.py From hoggorm with BSD 2-Clause "Simplified" License | 6 votes |
def X_corrLoadings(self): """ Returns array holding correlation loadings of array X. First column holds correlation loadings for component 1, second column holds correlation loadings for component 2, etc. """ # Creates empty matrix for correlation loadings arr_corrLoadings = np.zeros((np.shape(self.arrT)[1], np.shape(self.arrP)[0]), float) # Compute correlation loadings: # For each component in score matrix for PC in range(np.shape(self.arrT)[1]): PCscores = self.arrT[:, PC] # For each variable/attribute in original matrix (not meancentered) for var in range(np.shape(self.arrX)[1]): origVar = self.arrX[:, var] corrs = np.corrcoef(PCscores, origVar) arr_corrLoadings[PC, var] = corrs[0, 1] self.arr_corrLoadings = np.transpose(arr_corrLoadings) return self.arr_corrLoadings
Example #8
Source File: pcr.py From hoggorm with BSD 2-Clause "Simplified" License | 6 votes |
def Y_corrLoadings(self): """ Returns array holding correlation loadings of array X. First column holds correlation loadings for component 1, second column holds correlation loadings for component 2, etc. """ # Creates empty matrix for correlation loadings arr_YcorrLoadings = np.zeros((np.shape(self.arrT)[1], np.shape(self.arrQ)[0]), float) # Compute correlation loadings: # For each component in score matrix for PC in range(np.shape(self.arrT)[1]): PCscores = self.arrT[:, PC] # For each variable/attribute in original matrix (not meancentered) for var in range(np.shape(self.arrY)[1]): origVar = self.arrY[:, var] corrs = np.corrcoef(PCscores, origVar) arr_YcorrLoadings[PC, var] = corrs[0,1] self.arr_YcorrLoadings = np.transpose(arr_YcorrLoadings) return self.arr_YcorrLoadings
Example #9
Source File: pcr.py From hoggorm with BSD 2-Clause "Simplified" License | 6 votes |
def X_corrLoadings(self): """ Returns array holding correlation loadings of array X. First column holds correlation loadings for component 1, second column holds correlation loadings for component 2, etc. """ # Creates empty matrix for correlation loadings arr_corrLoadings = np.zeros((np.shape(self.arrT)[1], np.shape(self.arrP)[0]), float) # Compute correlation loadings: # For each component in score matrix for PC in range(np.shape(self.arrT)[1]): PCscores = self.arrT[:, PC] # For each variable/attribute in original matrix (not meancentered) for var in range(np.shape(self.arrX)[1]): origVar = self.arrX[:, var] corrs = np.corrcoef(PCscores, origVar) arr_corrLoadings[PC, var] = corrs[0,1] self.arr_corrLoadings = np.transpose(arr_corrLoadings) return self.arr_corrLoadings
Example #10
Source File: test_extras.py From recruit with Apache License 2.0 | 6 votes |
def test_2d_with_missing(self): # Test corrcoef on 2D variable w/ missing value x = self.data x[-1] = masked x = x.reshape(3, 4) test = corrcoef(x) control = np.corrcoef(x) assert_almost_equal(test[:-1, :-1], control[:-1, :-1]) with suppress_warnings() as sup: sup.filter(DeprecationWarning, "bias and ddof have no effect") # ddof and bias have no or negligible effect on the function assert_almost_equal(corrcoef(x, ddof=-2)[:-1, :-1], control[:-1, :-1]) assert_almost_equal(corrcoef(x, ddof=3)[:-1, :-1], control[:-1, :-1]) assert_almost_equal(corrcoef(x, bias=1)[:-1, :-1], control[:-1, :-1])
Example #11
Source File: test_extras.py From lambda-packs with MIT License | 6 votes |
def test_2d_with_missing(self): # Test corrcoef on 2D variable w/ missing value x = self.data x[-1] = masked x = x.reshape(3, 4) test = corrcoef(x) control = np.corrcoef(x) assert_almost_equal(test[:-1, :-1], control[:-1, :-1]) with suppress_warnings() as sup: sup.filter(DeprecationWarning, "bias and ddof have no effect") # ddof and bias have no or negligible effect on the function assert_almost_equal(corrcoef(x, ddof=-2)[:-1, :-1], control[:-1, :-1]) assert_almost_equal(corrcoef(x, ddof=3)[:-1, :-1], control[:-1, :-1]) assert_almost_equal(corrcoef(x, bias=1)[:-1, :-1], control[:-1, :-1])
Example #12
Source File: plsr2.py From hoggorm with BSD 2-Clause "Simplified" License | 6 votes |
def X_corrLoadings(self): """ Returns array holding correlation loadings of array X. First column holds correlation loadings for component 1, second column holds correlation loadings for component 2, etc. """ # Creates empty matrix for correlation loadings arr_XcorrLoadings = np.zeros((np.shape(self.arrT)[1], np.shape(self.arrP)[0]), float) # Compute correlation loadings: # For each PC in score matrix for PC in range(np.shape(self.arrT)[1]): PCscores = self.arrT[:, PC] # For each variable/attribute in original matrix (not meancentered) for var in range(np.shape(self.arrX)[1]): origVar = self.arrX[:, var] corrs = np.corrcoef(PCscores, origVar) arr_XcorrLoadings[PC, var] = corrs[0,1] self.arr_XcorrLoadings = np.transpose(arr_XcorrLoadings) return self.arr_XcorrLoadings
Example #13
Source File: plsr2.py From hoggorm with BSD 2-Clause "Simplified" License | 6 votes |
def Y_corrLoadings(self): """ Returns array holding correlation loadings of array X. First column holds correlation loadings for component 1, second column holds correlation loadings for component 2, etc. """ # Creates empty matrix for correlation loadings arr_YcorrLoadings = np.zeros((np.shape(self.arrT)[1], np.shape(self.arrQ)[0]), float) # Compute correlation loadings: # For each PC in score matrix for PC in range(np.shape(self.arrT)[1]): PCscores = self.arrT[:, PC] # For each variable/attribute in original matrix (not meancentered) for var in range(np.shape(self.arrY)[1]): origVar = self.arrY[:, var] corrs = np.corrcoef(PCscores, origVar) arr_YcorrLoadings[PC, var] = corrs[0,1] self.arr_YcorrLoadings = np.transpose(arr_YcorrLoadings) return self.arr_YcorrLoadings
Example #14
Source File: test_extras.py From lambda-packs with MIT License | 5 votes |
def test_bias(self): x, y = self.data, self.data2 expected = np.corrcoef(x) # bias raises DeprecationWarning with suppress_warnings() as sup: warnings.simplefilter("always") assert_warns(DeprecationWarning, corrcoef, x, y, True, False) assert_warns(DeprecationWarning, corrcoef, x, y, True, True) assert_warns(DeprecationWarning, corrcoef, x, bias=False) sup.filter(DeprecationWarning, "bias and ddof have no effect") # bias has no or negligible effect on the function assert_almost_equal(corrcoef(x, bias=1), expected)
Example #15
Source File: test_function_base.py From lambda-packs with MIT License | 5 votes |
def test_extreme(self): x = [[1e-100, 1e100], [1e100, 1e-100]] with np.errstate(all='raise'): c = corrcoef(x) assert_array_almost_equal(c, np.array([[1., -1.], [-1., 1.]])) assert_(np.all(np.abs(c) <= 1.0))
Example #16
Source File: test_extras.py From auto-alt-text-lambda-api with MIT License | 5 votes |
def test_ddof(self): # ddof raises DeprecationWarning x, y = self.data, self.data2 expected = np.corrcoef(x) expected2 = np.corrcoef(x, y) with catch_warn_mae(): warnings.simplefilter("always") assert_warns(DeprecationWarning, corrcoef, x, ddof=-1) warnings.simplefilter("ignore") # ddof has no or negligible effect on the function assert_almost_equal(np.corrcoef(x, ddof=0), corrcoef(x, ddof=0)) assert_almost_equal(corrcoef(x, ddof=-1), expected) assert_almost_equal(corrcoef(x, y, ddof=-1), expected2) assert_almost_equal(corrcoef(x, ddof=3), expected) assert_almost_equal(corrcoef(x, y, ddof=3), expected2)
Example #17
Source File: test_extras.py From auto-alt-text-lambda-api with MIT License | 5 votes |
def test_bias(self): x, y = self.data, self.data2 expected = np.corrcoef(x) # bias raises DeprecationWarning with catch_warn_mae(): warnings.simplefilter("always") assert_warns(DeprecationWarning, corrcoef, x, y, True, False) assert_warns(DeprecationWarning, corrcoef, x, y, True, True) assert_warns(DeprecationWarning, corrcoef, x, bias=False) warnings.simplefilter("ignore") # bias has no or negligible effect on the function assert_almost_equal(corrcoef(x, bias=1), expected)
Example #18
Source File: test_extras.py From auto-alt-text-lambda-api with MIT License | 5 votes |
def test_1d_wo_missing(self): # Test cov on 1D variable w/o missing values x = self.data assert_almost_equal(np.corrcoef(x), corrcoef(x)) assert_almost_equal(np.corrcoef(x, rowvar=False), corrcoef(x, rowvar=False)) with catch_warn_mae(): warnings.simplefilter("ignore") assert_almost_equal(np.corrcoef(x, rowvar=False, bias=True), corrcoef(x, rowvar=False, bias=True))
Example #19
Source File: test_function_base.py From auto-alt-text-lambda-api with MIT License | 5 votes |
def test_extreme(self): x = [[1e-100, 1e100], [1e100, 1e-100]] with np.errstate(all='raise'): c = corrcoef(x) assert_array_almost_equal(c, np.array([[1., -1.], [-1., 1.]])) assert_(np.all(np.abs(c) <= 1.0))
Example #20
Source File: test_extras.py From lambda-packs with MIT License | 5 votes |
def test_ddof(self): # ddof raises DeprecationWarning x, y = self.data, self.data2 expected = np.corrcoef(x) expected2 = np.corrcoef(x, y) with suppress_warnings() as sup: warnings.simplefilter("always") assert_warns(DeprecationWarning, corrcoef, x, ddof=-1) sup.filter(DeprecationWarning, "bias and ddof have no effect") # ddof has no or negligible effect on the function assert_almost_equal(np.corrcoef(x, ddof=0), corrcoef(x, ddof=0)) assert_almost_equal(corrcoef(x, ddof=-1), expected) assert_almost_equal(corrcoef(x, y, ddof=-1), expected2) assert_almost_equal(corrcoef(x, ddof=3), expected) assert_almost_equal(corrcoef(x, y, ddof=3), expected2)
Example #21
Source File: local_metrics.py From AIX360 with Apache License 2.0 | 5 votes |
def faithfulness_metric(model, x, coefs, base): """ This metric evaluates the correlation between the importance assigned by the interpretability algorithm to attributes and the effect of each of the attributes on the performance of the predictive model. The higher the importance, the higher should be the effect, and vice versa, The metric evaluates this by incrementally removing each of the attributes deemed important by the interpretability metric, and evaluating the effect on the performance, and then calculating the correlation between the weights (importance) of the attributes and corresponding model performance. [#]_ References: .. [#] `David Alvarez Melis and Tommi Jaakkola. Towards robust interpretability with self-explaining neural networks. In S. Bengio, H. Wallach, H. Larochelle, K. Grauman, N. Cesa-Bianchi, and R. Garnett, editors, Advances in Neural Information Processing Systems 31, pages 7775-7784. 2018. <https://papers.nips.cc/paper/8003-towards-robust-interpretability-with-self-explaining-neural-networks.pdf>`_ Args: model: Trained classifier, such as a ScikitClassifier that implements a predict() and a predict_proba() methods. x (numpy.ndarray): row of data. coefs (numpy.ndarray): coefficients (weights) corresponding to attribute importance. base ((numpy.ndarray): base (default) values of attributes Returns: float: correlation between attribute importance weights and corresponding effect on classifier. """ #find predicted class pred_class = np.argmax(model.predict_proba(x.reshape(1,-1)), axis=1)[0] #find indexs of coefficients in decreasing order of value ar = np.argsort(-coefs) #argsort returns indexes of values sorted in increasing order; so do it for negated array pred_probs = np.zeros(x.shape[0]) for ind in np.nditer(ar): x_copy = x.copy() x_copy[ind] = base[ind] x_copy_pr = model.predict_proba(x_copy.reshape(1,-1)) pred_probs[ind] = x_copy_pr[0][pred_class] return -np.corrcoef(coefs, pred_probs)[0,1]
Example #22
Source File: test_function_base.py From lambda-packs with MIT License | 5 votes |
def test_empty(self): with warnings.catch_warnings(record=True): warnings.simplefilter('always', RuntimeWarning) assert_array_equal(corrcoef(np.array([])), np.nan) assert_array_equal(corrcoef(np.array([]).reshape(0, 2)), np.array([]).reshape(0, 0)) assert_array_equal(corrcoef(np.array([]).reshape(2, 0)), np.array([[np.nan, np.nan], [np.nan, np.nan]]))
Example #23
Source File: test_function_base.py From lambda-packs with MIT License | 5 votes |
def test_complex(self): x = np.array([[1, 2, 3], [1j, 2j, 3j]]) res = corrcoef(x) tgt = np.array([[1., -1.j], [1.j, 1.]]) assert_allclose(res, tgt) assert_(np.all(np.abs(res) <= 1.0))
Example #24
Source File: test_function_base.py From lambda-packs with MIT License | 5 votes |
def test_bias(self): # bias raises DeprecationWarning with suppress_warnings() as sup: warnings.simplefilter("always") assert_warns(DeprecationWarning, corrcoef, self.A, self.B, 1, 0) assert_warns(DeprecationWarning, corrcoef, self.A, bias=0) sup.filter(DeprecationWarning) # bias has no or negligible effect on the function assert_almost_equal(corrcoef(self.A, bias=1), self.res1)
Example #25
Source File: test_function_base.py From lambda-packs with MIT License | 5 votes |
def test_ddof(self): # ddof raises DeprecationWarning with suppress_warnings() as sup: warnings.simplefilter("always") assert_warns(DeprecationWarning, corrcoef, self.A, ddof=-1) sup.filter(DeprecationWarning) # ddof has no or negligible effect on the function assert_almost_equal(corrcoef(self.A, ddof=-1), self.res1) assert_almost_equal(corrcoef(self.A, self.B, ddof=-1), self.res2) assert_almost_equal(corrcoef(self.A, ddof=3), self.res1) assert_almost_equal(corrcoef(self.A, self.B, ddof=3), self.res2)
Example #26
Source File: test_function_base.py From lambda-packs with MIT License | 5 votes |
def test_simple(self): tgt1 = corrcoef(self.A) assert_almost_equal(tgt1, self.res1) assert_(np.all(np.abs(tgt1) <= 1.0)) tgt2 = corrcoef(self.A, self.B) assert_almost_equal(tgt2, self.res2) assert_(np.all(np.abs(tgt2) <= 1.0))
Example #27
Source File: test_function_base.py From lambda-packs with MIT License | 5 votes |
def test_non_array(self): assert_almost_equal(np.corrcoef([0, 1, 0], [1, 0, 1]), [[1., -1.], [-1., 1.]])
Example #28
Source File: math_util.py From rl_graph_generation with BSD 3-Clause "New" or "Revised" License | 5 votes |
def ncc(ypred, y): return np.corrcoef(ypred, y)[1,0]
Example #29
Source File: test_statistics_execute.py From mars with Apache License 2.0 | 5 votes |
def testCorrcoefExecution(self): data_x = [-2.1, -1, 4.3] data_y = [3, 1.1, 0.12] x = tensor(data_x, chunk_size=1) y = tensor(data_y, chunk_size=1) t = corrcoef(x, y) res = self.executor.execute_tensor(t, concat=True)[0] expected = np.corrcoef(data_x, data_y) np.testing.assert_equal(res, expected)
Example #30
Source File: stats.py From typhon with MIT License | 5 votes |
def corrcoef(mat): """Calculate correlation coefficient with p-values Calculate correlation coefficients along with p-values. Arguments: mat (ndarray): 2-D array [p×N] for which the correlation matrix is calculated Returns: (r, p) where r is a p×p matrix with the correlation coefficients, obtained with numpy.corrcoef, and p is Attribution: this code, or an earlier version was posted by user 'jingchao' on Stack Overflow at 2014-7-3 at http://stackoverflow.com/a/24547964/974555 and is licensed under CC BY-SA 3.0. This notice may not be removed. """ r = numpy.corrcoef(mat) rf = r[numpy.triu_indices(r.shape[0], 1)] df = mat.shape[1] - 2 ts = rf * rf * (df / (1 - rf * rf)) pf = scipy.special.betainc(0.5 * df, 0.5, df / (df + ts)) p = numpy.zeros(shape=r.shape) p[numpy.triu_indices(p.shape[0], 1)] = pf p[numpy.tril_indices(p.shape[0], -1)] = pf p[numpy.diag_indices(p.shape[0])] = numpy.ones(p.shape[0]) return (r, p)