Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(614)

Unified Diff: telemetry/telemetry/value/list_of_scalar_values.py

Issue 2087463002: [telemetry] Fix computation of standard deviations (Closed) Base URL: git@github.com:catapult-project/catapult@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: telemetry/telemetry/value/list_of_scalar_values.py
diff --git a/telemetry/telemetry/value/list_of_scalar_values.py b/telemetry/telemetry/value/list_of_scalar_values.py
index 8b34f631d91de579d50021367d68779620cfde3e..b2656b5e1479b37f7d8663915d7e8ce1d0e5aec9 100644
--- a/telemetry/telemetry/value/list_of_scalar_values.py
+++ b/telemetry/telemetry/value/list_of_scalar_values.py
@@ -18,7 +18,7 @@ def Variance(sample):
"""
k = len(sample) - 1 # Bessel correction
if k <= 0:
- return 0
+ return 0.0
m = _Mean(sample)
return sum((x - m)**2 for x in sample)/k
@@ -54,8 +54,9 @@ def PooledStandardDeviation(list_of_samples, list_of_variances=None):
pooled_variance += k * variance
total_degrees_of_freedom += k
if total_degrees_of_freedom:
- return (pooled_variance/total_degrees_of_freedom) ** 0.5
- return 0
+ return (pooled_variance / total_degrees_of_freedom) ** 0.5
+ else:
+ return 0.0
def _Mean(values):
@@ -213,7 +214,10 @@ class ListOfScalarValues(summarizable.SummarizableValue):
break
merged_values.extend(v.values)
list_of_samples.append(v.values)
- if merged_values:
+ if merged_values and page is None:
+ # Pooled standard deviation is only used when merging values comming from
+ # different pages. Otherwise, fall back to the default computation in
+ # ListOfScalarValues' constructor.
eakuefner 2016/06/20 17:26:32 supernit: s/s'/s's/
perezju 2016/06/21 09:48:07 Grammar confuses me. I rephrased this to avoid the
pooled_std = PooledStandardDeviation(
list_of_samples, list_of_variances=[v.variance for v in values])
return ListOfScalarValues(

Powered by Google App Engine
This is Rietveld 408576698