A Guide to Metrics in Exploratory Data Analysis | by Esmaeil Alizadeh | Dec, 2020


Estimates of location are measures of the central tendency of the knowledge (the place many of the information is positioned). In statistics, that is typically referred to as the primary second of a distribution.


The mathematics imply, or just imply or moderate is one of the crucial well-liked estimate of location. There other variants of imply, corresponding to weighted imply or trimmed/truncated imply. You can see how they may be able to be computed beneath.

the place n denotes the whole collection of observations (rows).

Weighted imply (equation 1.2) is a variant of imply that can be utilized in eventualities the place the pattern information does no longer constitute other teams in a dataset. By assigning a bigger weight to teams which might be under-represented, the computed weighted imply will extra as it should be constitute all teams in our dataset.

Extreme values can simply affect each the imply and weighted imply since neither one is a sturdy metric!

Another variant of imply is the trimmed imply (eq. 1.3) that may be a powerful estimate.

Robust estimate: A metric that isn’t delicate to excessive values (outliers).

The trimmed imply is used in calculating the general ranking in many sports activities the place a panel of judges will each and every give a ranking. Then the bottom and the very best rankings are dropped and the imply of the rest rankings are computed as part of the general ranking[2]. One such instance is in the global diving ranking device.

In statistics, refers to a pattern imply, while μ refers to the inhabitants imply.

A Use Case for the Weighted Mean

If you wish to have to purchase a smartphone or a smartwatch or any device the place there are lots of choices, you’ll use the next manner to make a selection amongst quite a lot of choices to be had for a device.

Let’s suppose you wish to have to purchase a smartphone, and the next options are necessary to you: 1) battery lifestyles, 2) digicam high quality, 3) value and four) the telephone design. Then, you give the next weights to each and every one:

Let’s say you’ve got two choices an iPhone and Google’s Pixel. You may give each and every function a ranking of a few worth between 1 and 10 (1 being the worst and 10 being the most productive). After going over some evaluations, you can provide the next rankings to the options of each and every telephone.

So, which telephone is best for you?

iPhone ranking​=0.15×6+0.3×9+0.25×1+0.3×9=6.55

Google Pixel ranking=0.15×5+0.3×9.5+0.25×8+0.3×5=7.1​

And in line with your function personal tastes, the Google Pixel may well be the simpler possibility for you!


Median is the center of a taken care of listing, and it’s a powerful estimate. For an ordered collection x_1, x_2, …, x_n, the median is computed as follows:

Analogous to the weighted imply, we will even have the weighted median that may be computed as follows for an ordered collection x_1, x_2, …, x_n with weights w_1, w_2, …, w_n the place w_i > 0.


The mode is the worth that looks maximum regularly in the knowledge and is generally used for specific information and no more for numeric information[1].

Let’s first import all vital Python libraries and generate our dataset.

You can use NumPy’s average() serve as to calculate the imply and weighted imply (equations 1.1 & 1.2). For computing truncated imply, you’ll use trim_mean() from the SciPy stats module. A commonplace selection for truncating the highest and backside of the knowledge is 10%[1].

You can use NumPy’s median() serve as to calculate the median. For computing the weighted median, you’ll use weighted_median() from the robustats Python library (you’ll set up it the usage of pip set up robustats). Robustats is a high-performance Python library to compute powerful statistical estimators applied in C.

For computing the mode, you’ll both use the mode() serve as both from the robustats library this is in particular helpful on massive datasets or from scipy.stats module.

>>> Mean:  4.375
>>> Weighted Mean: 3.5
>>> Truncated Mean: 4.375
>>> Median: 2.0
>>> Weighted Median: 2.0
>>> Mode: ModeOutcome(mode=array([2]), rely=array([4]))

Now, let’s see if we simply take away 20 from our information, how that may have an effect on our imply.

imply = np.moderate(information[:-1]) # Remove the remaining information level (20) print("Mean: ", imply.spherical(3)) >>> Mean: 2.143

You can see how the remaining information level (20) impacted the imply (4.375 vs 2.143). There will also be many eventualities that we might finally end up with some outliers that are supposed to be wiped clean from our datasets like inaccurate measurements which might be in orders of magnitude clear of different information issues.

The 2d size (or second) addresses how the knowledge is unfold out (variability or dispersion of the knowledge). For this, we now have to measure the variation (aka residual) between an estimate of location and an noticed worth[1].

Mean Absolute Deviation

One means to get this estimate is to calculate the variation between the biggest and the bottom worth to get the vary. However, the variety is, by definition, very delicate to the 2 excessive values. Another possibility is the imply absolute deviation this is the typical of the sum of all absolute deviation from the imply, as will also be observed in the beneath system:

One reason the imply absolute deviation receives much less consideration is since mathematically it’s preferable no longer to paintings with absolute values if there are different fascinating choices corresponding to squared values to be had (for example, x² is differentiable in every single place whilst the spinoff of |x| isn’t outlined at x=0)).

The variance and usual deviation are a lot more well-liked statistics than the imply absolute deviation to estimate the knowledge dispersion.

The variance is in truth the typical of the squared deviations from the imply.

In statistics, s is used to refer to a pattern usual deviation, while σ refers to the inhabitants usual deviation.

As will also be famous from the system, the usual deviation is at the identical scale as the unique information making it an more straightforward metric to interpret than the variance. Analogous to the trimmed imply, we will additionally compute the trimmed/truncated usual deviation this is much less delicate to outliers.

A smart way of remembering one of the vital above estimates of variability is to hyperlink them to different metrics or distances that proportion a an identical system[1]. For example,

Variance Mean Squared Error (MSE) (aka Mean Squared Deviation MSD)

Standard deviation L2-norm, Euclidean norm

Mean absolute deviation L1-norm, Manhattan norm, Taxicab norm

Like the mathematics imply, not one of the estimates of variability (variance, usual deviation, imply absolute deviation) is strong to outliers. Instead, we will use the median absolute deviation from the median to take a look at how our information is unfold out in the presence of outliers. The median absolute deviation is a sturdy estimator, identical to the median.

Percentiles (or quantiles) is some other measure of the knowledge dispersion this is in line with order statistics (statistics in line with taken care of information). P-th percentile is the least share of the values which might be less than or equivalent to P %.

The median is the 50th percentile (0.Five quantile).

The percentile is technically a weighted moderate[1].

25th (Q2) and 75th (Q3) percentiles are in particular attention-grabbing since their distinction (Q3 — Q2) displays the center 50% of the knowledge. The distinction is referred to as the interquartile range (IQR) (IQR=Q3-Q2). Percentiles are used to visualize information distribution the usage of boxplots. A great article about boxplots is to be had on Towards Data Science blog.

You can use NumPy’s var()and std()serve as to calculate the variance and usual deviation, respectively. On the opposite hand, to calculate the imply absolute deviation, you’ll use Pandas’ mad()serve as. For computing the trimmed usual deviation, you’ll use SciPy’s tstd()from the stats module. You can use Pandas’ boxplot()to temporarily visualize a boxplot of the knowledge.

>>> Variance:  35.234
>>> Standard Deviation: 5.936
>>> Mean Absolute Deviation: 3.906
>>> Trimmed Standard Deviation: 6.346
>>> Median Absolute Deviation: 0.741
>>> Interquantile Range (IQR): 1.0


Please enter your comment!
Please enter your name here