コード例 #1
0
def correl(list_a, list_b, s):
    n = len(list_a)
    avg_normal = float(n+1) / 2
    
    avg_weighted_a = ccfcr.avg_w(list_a)/s
    avg_weighted_b = ccfcr.avg_w(list_b)/s
    """
    avg_weighted_a = avg_w(list_a)/s
    avg_weighted_b = avg_w(list_b)/s
    """
    ret_val = 0.0
    ret_val_w = 0.0
    for i in range(n):
        w = 1.0/(i+1)
        #print list_a[i], list_b[i], avg_normal
        ret_val += (list_a[i] - avg_normal)*(list_b[i] - avg_normal)
        ret_val_w += ((list_a[i]- avg_weighted_a) * (list_b[i]-avg_weighted_b) * w)
    return ret_val, ret_val_w
コード例 #2
0
def correl_var(n, s):
    avg = float(n+1) / 2
    
    avg_weighted = ccfcr.avg_w(range(1,n+1))/s
    """
    avg_weighted = avg_w(range(1,n+1))/s
    """
    ret_val = 0.0
    ret_val_w = 0.0
    for i in range(n):
        w = 1.0/(i+1)
        ret_val += math.pow(i+1 - avg,2)
        ret_val_w += (math.pow(i+1 - avg_weighted,2) * w)
    return ret_val, ret_val_w