예제 #1
0
def get_dcor(x, y):
    """Calculate distance correlation between two vectors

    Uses the distance correlation package from:
    https://github.com/andrewdyates/dcor

    Parameters
    ----------
    x : numpy.array
        1-dimensional array (aka a vector) of the independent, predictor
        variable
    y : numpy.array
        1-dimensional array (aka a vector) of the dependent, target variable

    Returns
    -------
    dc : float
        Distance covariance
    dr : float
        Distance correlation
    dvx : float
        Distance variance on x
    dvy : float
        Distance variance on y
    """
    # cython version of dcor
    try:
        import dcor_cpy as dcor
    except ImportError as e:
        sys.stderr.write("Please install dcor_cpy.")
        raise e

    dc, dr, dvx, dvy = dcor.dcov_all(x, y)
    return dc, dr, dvx, dvy
예제 #2
0
def get_dcor(x, y):
    """Calculate distance correlation between two vectors

    Uses the distance correlation package from:
    https://github.com/andrewdyates/dcor

    Parameters
    ----------
    x : numpy.array
        1-dimensional array (aka a vector) of the independent, predictor
        variable
    y : numpy.array
        1-dimensional array (aka a vector) of the dependent, target variable

    Returns
    -------
    dc : float
        Distance covariance
    dr : float
        Distance correlation
    dvx : float
        Distance variance on x
    dvy : float
        Distance variance on y
    """
    # cython version of dcor
    try:
        import dcor_cpy as dcor
    except ImportError as e:
        sys.stderr.write("Please install dcor_cpy.")
        raise e


    dc, dr, dvx, dvy = dcor.dcov_all(x, y)
    return dc, dr, dvx, dvy
예제 #3
0
def get_dcor(x, y):
    """
    get dcor

    see: https://github.com/andrewdyates/dcor

    input:
    x - predictor vector
    y - target vector

    output:
    dc, dr, dvx, dvy

    """
    # cython version of dcor
    import dcor_cpy as dcor

    dc, dr, dvx, dvy = dcor.dcov_all(x, y)
    return dc, dr, dvx, dvy
예제 #4
0
def get_dcor(x, y):
    """
    get dcor

    see: https://github.com/andrewdyates/dcor

    input:
    x - predictor vector
    y - target vector

    output:
    dc, dr, dvx, dvy

    """
    # cython version of dcor
    import dcor_cpy as dcor

    dc, dr, dvx, dvy = dcor.dcov_all(x, y)
    return dc, dr, dvx, dvy
예제 #5
0
import dcor_py
import numpy as np

# Sanity test for numpy implementation
a = [1, 2, 3, 4, 5]
b = np.array([1, 2, 9, 4, 4])
print "a: ", a
print "b: ", b
print "(dcov, dcor, a_dcov, b_dcor)"
print "R energy package expected values"
print "1.1593101 0.7626762 1.1027239 2.0953281"
print "Numpy Implementation"
print dcor_py.dcov_all(a, b)
print dcor_py.dcov_all(b, a)
print dcor_py.dcov_all(a, a)

# Sanity test for cython implementation
try:
    import dcor_cpy
    print "Cython Implementation"
    print dcor_cpy.dcov_all(a, b)
    print dcor_cpy.dcov_all(b, a)
    print dcor_cpy.dcov_all(a, a)
except ImportError, e:
    print "DID YOU BUILD CYTHON FOR YOUR PLATFORM? SEE README!"
    print
    print "Cannot import cython implementation.", e
예제 #6
0
파일: test.py 프로젝트: andrewdyates/dcor
import dcor_py
import numpy as np

# Sanity test for numpy implementation
a = [1,2,3,4,5]
b = np.array([1,2,9,4,4])
print "a: ", a
print "b: ", b
print "(dcov, dcor, a_dcov, b_dcor)"
print "R energy package expected values"
print "1.1593101 0.7626762 1.1027239 2.0953281"
print "Numpy Implementation"
print dcor_py.dcov_all(a,b)
print dcor_py.dcov_all(b,a)
print dcor_py.dcov_all(a,a)

# Sanity test for cython implementation
try:
  import dcor_cpy
  print "Cython Implementation"
  print dcor_cpy.dcov_all(a,b)
  print dcor_cpy.dcov_all(b,a)
  print dcor_cpy.dcov_all(a,a)
except ImportError, e:
  print "DID YOU BUILD CYTHON FOR YOUR PLATFORM? SEE README!"
  print
  print "Cannot import cython implementation.", e