All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.signaflo.data.DataSet Maven / Gradle / Ivy

package com.github.signaflo.data;

/**
 * A collection of numerical observations.
 *
 * @author Jacob Rachiele
 *         Mar. 29, 2017
 */
public interface DataSet {
    /**
     * The sum of the observations.
     *
     * @return the sum of the observations.
     */
    double sum();

    /**
     * The sum of the squared observations.
     *
     * @return the sum of the squared observations.
     */
    double sumOfSquares();

    /**
     * The mean of the observations.
     *
     * @return the mean of the observations.
     */
    double mean();

    /**
     * The median value of the observations.
     *
     * @return the median value of the observations.
     */
    double median();

    /**
     * The size of the data set.
     *
     * @return the size of the data set.
     */
    int size();

    /**
     * Multiply every element of this data set with the corresponding element of the given data set.
     *
     * @param otherData The data to multiply by.
     * @return A new data set containing every element of this data set multiplied by
     * the corresponding element of the given data set.
     */
    DataSet times(DataSet otherData);

    /**
     * Add every element of this data set to the corresponding element of the given data set.
     *
     * @param otherData The data to add to.
     * @return A new data set containing every element of this data set added to
     * the corresponding element of the given data set.
     */
    DataSet plus(DataSet otherData);

    /**
     * The unbiased sample variance of the observations.
     *
     * @return the unbiased sample variance of the observations.
     */
    double variance();

    /**
     * The unbiased sample standard deviation of the observations.
     *
     * @return the unbiased sample standard deviation of the observations.
     */
    double stdDeviation();

    /**
     * The unbiased sample covariance of these observations with the observations
     * contained in the given data set.
     *
     * @param otherData the data to compute the covariance with.
     * @return the unbiased sample covariance of these observations with the observations
     * contained in the given data set.
     */
    double covariance(DataSet otherData);

    /**
     * The unbiased sample correlation of these observations with the observations
     * contained in the given data set.
     *
     * @param otherData the data to compute the correlation coefficient with.
     * @return the unbiased sample correlation of these observations with the observations
     * contained in the given data set.
     */
    double correlation(DataSet otherData);

    /**
     * The observations.
     *
     * @return the observations.
     */
    double[] asArray();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy