分享

相关系数计算

        public static double calCorrelation(Integer[] array1,Integer[] array2){
                double argXYSum = 0;
                double argXSum = 0;
                double argYSum = 0;
                double argXSquSum = 0;
                double argYSquSum = 0;
                long n = 0;
                for(int i=0; i<array1.length&&i<array2.length; i++){
                        n++;
                        argXYSum+=array1*array2;
                        argXSum+=array1;
                        argYSum+=array2;
                        argXSquSum+=Math.pow(array1,2);
                        argYSquSum+=Math.pow(array2,2);
                }
                double correlation = (n*argXYSum-argXSum*argYSum)/(Math.sqrt(n*argXSquSum-Math.pow(argXSum,2))*Math.sqrt(n*argYSquSum-Math.pow(argYSum,2)));
                return correlation;
        }

相关系数公式.png

已有(1)人评论

跳转到指定楼层
fly2015 发表于 2017-12-6 11:13:37
这就是所谓的协方差吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条