whylogs.core.statistics.datatypes.variancetracker

Module Contents

Classes

VarianceTracker

Class that implements variance estimates for streaming data and for

class whylogs.core.statistics.datatypes.variancetracker.VarianceTracker(count=0, sum=0.0, mean=0.0)

Class that implements variance estimates for streaming data and for batched data.

Parameters
  • count – Number tracked elements

  • sum – Sum of all numbers

  • mean – Current estimate of the mean

update(self, new_value)

Add a number to tracking estimates

Based on https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Welford’s_online_algorithm

Parameters

new_value (int, float) –

stddev(self)

Return an estimate of the sample standard deviation

variance(self)

Return an estimate of the sample variance

merge(self, other: VarianceTracker)

Merge statistics from another VarianceTracker into this one

See: https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Parallel_algorithm

Parameters

other (VarianceTracker) – Other variance tracker

Returns

merged – A new variance tracker from the merged statistics

Return type

VarianceTracker

copy(self)

Return a copy of this tracker

to_protobuf(self)

Return the object serialized as a protobuf message

Returns

message

Return type

VarianceMessage

static from_protobuf(message)

Load from a protobuf message

Returns

variance_tracker

Return type

VarianceTracker