算法(Pearson相关系数)

/*
* @param {Array} a, b
*/
function pearson(a, b) {
    var ra = average(a),
        rb = average(b);
    var i, n = 0, d = [0, 0];
    for (i = 0; i < a.length; i++) {
        n += (a[i] - ra) * (b[i] - rb);
        d[0] += Math.pow(a[i] - ra, 2);
        d[1] += Math.pow(b[i] - rb, 2);
    }
    return n / Math.sqrt(d[0] * d[1]);
    function average(arr) {
        var i = 0;
        for (var x of arr) {
            i += x;
        }
        return i / arr.length;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容