Here you can find the source of covariance(final double[] xArray, final double[] yArray)
Parameter | Description |
---|---|
xArray | first covariate |
yArray | second covariate |
public static double covariance(final double[] xArray, final double[] yArray)
//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; } }