@Internal
public class CovarianceFn<T extends java.lang.Number>
extends org.apache.beam.sdk.transforms.Combine.CombineFn<org.apache.beam.sdk.values.Row,org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator,T>
Combine.CombineFn for Covariance on Number types.
Calculates Population Covariance and Sample Covariance using incremental formulas described in http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance, presumably by Pébay, Philippe (2008), in "Formulas for Robust, One-Pass Parallel Computation of Covariances and Arbitrary-Order Statistical Moments".
| Modifier and Type | Method and Description |
|---|---|
org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator |
addInput(org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator currentVariance,
org.apache.beam.sdk.values.Row rawInput) |
org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator |
createAccumulator() |
T |
extractOutput(org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator accumulator) |
org.apache.beam.sdk.coders.Coder<org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator> |
getAccumulatorCoder(org.apache.beam.sdk.coders.CoderRegistry registry,
org.apache.beam.sdk.coders.Coder<org.apache.beam.sdk.values.Row> inputCoder) |
org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator |
mergeAccumulators(java.lang.Iterable<org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator> covariances) |
static <V extends java.lang.Number> |
newPopulation(org.apache.beam.sdk.schemas.Schema.TypeName typeName) |
static <V extends java.lang.Number> |
newPopulation(org.apache.beam.sdk.transforms.SerializableFunction<java.math.BigDecimal,V> decimalConverter) |
static <V extends java.lang.Number> |
newSample(org.apache.beam.sdk.schemas.Schema.TypeName typeName) |
static <V extends java.lang.Number> |
newSample(org.apache.beam.sdk.transforms.SerializableFunction<java.math.BigDecimal,V> decimalConverter) |
public static <V extends java.lang.Number> CovarianceFn newPopulation(org.apache.beam.sdk.schemas.Schema.TypeName typeName)
public static <V extends java.lang.Number> CovarianceFn newPopulation(org.apache.beam.sdk.transforms.SerializableFunction<java.math.BigDecimal,V> decimalConverter)
public static <V extends java.lang.Number> CovarianceFn newSample(org.apache.beam.sdk.schemas.Schema.TypeName typeName)
public static <V extends java.lang.Number> CovarianceFn newSample(org.apache.beam.sdk.transforms.SerializableFunction<java.math.BigDecimal,V> decimalConverter)
public org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator createAccumulator()
createAccumulator in class org.apache.beam.sdk.transforms.Combine.CombineFn<org.apache.beam.sdk.values.Row,org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator,T extends java.lang.Number>public org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator addInput(org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator currentVariance,
org.apache.beam.sdk.values.Row rawInput)
addInput in class org.apache.beam.sdk.transforms.Combine.CombineFn<org.apache.beam.sdk.values.Row,org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator,T extends java.lang.Number>public org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator mergeAccumulators(java.lang.Iterable<org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator> covariances)
mergeAccumulators in class org.apache.beam.sdk.transforms.Combine.CombineFn<org.apache.beam.sdk.values.Row,org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator,T extends java.lang.Number>public org.apache.beam.sdk.coders.Coder<org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator> getAccumulatorCoder(org.apache.beam.sdk.coders.CoderRegistry registry,
org.apache.beam.sdk.coders.Coder<org.apache.beam.sdk.values.Row> inputCoder)
getAccumulatorCoder in interface org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn<org.apache.beam.sdk.values.Row,org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator,T extends java.lang.Number>public T extractOutput(org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator accumulator)
extractOutput in class org.apache.beam.sdk.transforms.Combine.CombineFn<org.apache.beam.sdk.values.Row,org.apache.beam.sdk.extensions.sql.impl.transform.agg.CovarianceAccumulator,T extends java.lang.Number>