gov.sandia.cognition.statistics.SufficientStatistic Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gov-sandia-cognition-learning-core Show documentation
Show all versions of gov-sandia-cognition-learning-core Show documentation
Algorithms and components for machine learning and statistics.
The newest version!
/*
* File: SufficientStatistic.java
* Authors: Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright Mar 2, 2011, Sandia Corporation.
* Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
* license for use of this work by or on behalf of the U.S. Government.
* Export of this program may require a license from the United States
* Government. See CopyrightHistory.txt for complete details.
*
*/
package gov.sandia.cognition.statistics;
import gov.sandia.cognition.annotation.PublicationReference;
import gov.sandia.cognition.annotation.PublicationType;
import gov.sandia.cognition.factory.Factory;
import gov.sandia.cognition.util.CloneableSerializable;
/**
* Sufficient statistics are the data which are sufficient to store all
* information to create an underlying parameter, such as a Distribution.
* @param
* Type of data generated by the Distribution
* @param
* Type of Distribution this is the sufficient statistics of
* @author Kevin R. Dixon
* @since 3.1
*/
@PublicationReference(
author="Wikipedia",
title="Sufficient statistic",
type=PublicationType.WebPage,
year=2011,
url="http://en.wikipedia.org/wiki/Sufficient_statistic"
)
public interface SufficientStatistic// extends Distribution extends DataType>>
extends Factory,
CloneableSerializable
{
/**
* Gets the count
* @return
* Number of data points used to create this SufficientStatistic
*/
public long getCount();
/**
* Modifies the given distribution with the parameters indicated by the
* sufficient statistics
* @param distribution
* Distribution to modify by side effect
*/
public void create(
final DistributionType distribution);
/**
* Updates the sufficient statistics from the given value
* @param value
* Value to update the sufficient statistics
*/
void update(
final DataType value);
/**
* Updates the sufficient statistics from the given set of values
* @param values
* Values to update the sufficient statistics
*/
void update(
final Iterable extends DataType> values);
}