| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """General statistical or mathematical functions.""" | 5 """General statistical or mathematical functions.""" |
| 6 | 6 |
| 7 import math | 7 import math |
| 8 | 8 |
| 9 | 9 |
| 10 def TruncatedMean(data_set, truncate_percent): | 10 def TruncatedMean(data_set, truncate_percent): |
| 11 """Calculates the truncated mean of a set of values. | 11 """Calculates the truncated mean of a set of values. |
| 12 | 12 |
| 13 Note that this isn't just the mean of the set of values with the highest | 13 Note that this isn't just the mean of the set of values with the highest |
| 14 and lowest values discarded; the non-discarded values are also weighted | 14 and lowest values discarded; the non-discarded values are also weighted |
| 15 differently depending how many values are discarded. | 15 differently depending how many values are discarded. |
| 16 | 16 |
| 17 Args: | 17 Args: |
| 18 data_set: Non-empty list of values. | 18 data_set: Non-empty list of values. |
| 19 truncate_percent: The % from the upper and lower portions of the data set | 19 truncate_percent: How much of the upper and lower portions of the data set |
| 20 to discard, expressed as a value in [0, 1]. | 20 to discard, expressed as a value in [0, 1]. |
| 21 | 21 |
| 22 Returns: | 22 Returns: |
| 23 The truncated mean as a float. | 23 The truncated mean as a float. |
| 24 | 24 |
| 25 Raises: | 25 Raises: |
| 26 TypeError: The data set was empty after discarding values. | 26 TypeError: The data set was empty after discarding values. |
| 27 """ | 27 """ |
| 28 if len(data_set) > 2: | 28 if len(data_set) > 2: |
| 29 data_set = sorted(data_set) | 29 data_set = sorted(data_set) |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 | 123 |
| 124 | 124 |
| 125 # Redefining built-in 'StandardError' | 125 # Redefining built-in 'StandardError' |
| 126 # pylint: disable=W0622 | 126 # pylint: disable=W0622 |
| 127 def StandardError(values): | 127 def StandardError(values): |
| 128 """Calculates the standard error of a list of values.""" | 128 """Calculates the standard error of a list of values.""" |
| 129 if len(values) <= 1: | 129 if len(values) <= 1: |
| 130 return 0.0 | 130 return 0.0 |
| 131 std_dev = StandardDeviation(values) | 131 std_dev = StandardDeviation(values) |
| 132 return std_dev / math.sqrt(len(values)) | 132 return std_dev / math.sqrt(len(values)) |
| OLD | NEW |