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

de.invation.code.toval.statistic.StochasticUtils Maven / Gradle / Ivy

package de.invation.code.toval.statistic;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;



public class StochasticUtils {
	
	//------EXPECTATION----------------------------------------------------------------------------------------
	
	public static double getExpectation(Collection values) {
		return new Observation(values).getExpectation();
	}	
	
	//------MOMENTS--------------------------------------------------------------------------------------------
	
	public static double getMoment(Collection values, int degree){
		return getMoments(values, Arrays.asList(degree)).get(degree);
	}
	
	public static HashMap getMoments(Collection values, Collection degrees){
		Observation o = new Observation(values);
		o.setMomentDegrees(degrees);
		return o.getMoments();
	}
		
	//------TRANSFORMATION--------------------------------------------------------------------------------------

	
	//------AVERAGES--------------------------------------------------------------------------------------------
	public static  double getAverage(Collection values, AVERAGE_TYPE type) {
		switch(type) {
			case ARITHMETIC:
				double sum = 0.0;
				for(T t: values) {
					sum += t.doubleValue();
				}
				return sum/values.size();
			default: throw new IllegalArgumentException("\""+type+"\" is not a valid verage-type!");
		}
	}
	
	public enum AVERAGE_TYPE {ARITHMETIC}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy