Java Array Covariance covariance(final double[] xArray, final double[] yArray)

Here you can find the source of covariance(final double[] xArray, final double[] yArray)

Description

Computes the covariance of the two input arrays.

License

Apache License

Parameter

Parameter Description
xArray first covariate
yArray second covariate

Return

covariance

Declaration

public static double covariance(final double[] xArray, final double[] yArray) 

Method Source Code

//package com.java2s;
/*/*from w  w w  .  j av  a 2 s . c  o  m*/
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

public class Main {
    /**
     * Computes the covariance of the two input arrays.
     *
     * @param xArray first covariate
     * @param yArray second covariate
     * @return covariance
     */
    public static double covariance(final double[] xArray, final double[] yArray) {
        double result = 0d;
        final int length = xArray.length;
        final double xMean = mean(xArray);
        final double yMean = mean(yArray);
        for (int i = 0; i < length; i++) {
            final double xDev = xArray[i] - xMean;
            final double yDev = yArray[i] - yMean;
            result += (xDev * yDev - result) / (i + 1);
        }
        return result * ((double) length / (double) (length - 1));
    }

    /**
     * Computes the mean of the values in the array.
     *
     * @param values input values
     * @return arithmetic mean
     */
    public static double mean(final double[] values) {
        double sum = 0;
        for (double val : values) {
            sum += val;
        }
        return sum / values.length;
    }
}

Related

  1. covariance(double[] a, double amean, double[] b, double bmean)
  2. covariance(double[] a, double[] b)
  3. covariance(double[] x, double[] y)
  4. covariance(double[] x, double[] y, int delay)
  5. covariance(final double[][] data)
  6. covariance(int[] v1, int[] v2)
  7. covariance(Number[] x, Number[] y)
  8. covarianceOfDoubleArrays(double[] x, double[] y)