liuyuze_hanbing 发表于 2017-12-4 18:11:38

相关系数计算

      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;
      }



fly2015 发表于 2017-12-6 11:13:37

这就是所谓的协方差吧
页: [1]
查看完整版本: 相关系数计算