Understanding Types of Means | Set 1

It is one of the most important concepts of statistics, a crucial subject to learn Machine Learning.

  • Arithmetic Mean : It is the mathematical expectation of a discrete set of numbers or average.
    Denoted by , pronounced as “x-bar”. It is the sum of all the discrete values in the set divided by the total number of values in the set.
    The formula to calculate the mean of n values – x1, x2, ….. xn

    Example –

    Sequence = {1, 5, 6, 4, 4}
    
    Sum             = 20
    n, Total values = 5
    Arithmetic Mean = 20/5 = 4
    

    Code –



    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Arithmetic Mean
      
    import statistics 
      
    # discrete set of numbers
    data1 = [1, 5, 6, 4, 4
      
    x = statistics.mean(data1) 
      
    # Mean 
    print("Mean is :", x) 

    chevron_right

    
    

    Output :

    Mean is : 4
    
  • Trimmed Mean : Arithmetic Mean is influenced by the outliers (extreme values) in the data. So, trimmed mean in used at the time of pre-processing when we are handling such kinds of data in machine learning.
    It is arithmetic having a variation i.e. it is calculated by dropping a fixed number of sorted values from each end of the sequence of data given and then calculated the mean (average) of remaining values.

    Example –

    Sequence = {0, 2, 1, 3}
    p        = 0.25
    
    Remaining Sequemce  = {2, 1}
    n, Total values = 2
    Mean = 3/2 = 1.5
    

    Code –

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Trimmed Mean 
      
    from scipy import stats
      
    # discrete set of numbers
    data = [0, 2, 1, 3
      
    x = stats.trim_mean(data, 0.25)
      
    # Mean 
    print("Trimmed Mean is :", x) 

    chevron_right

    
    

    Output :

    Trimmed Mean is : 1.5
  • Weighted Mean : Arithmetic Mean or Trimmed mean is giving equal importance to all the parameters involved. But whenever we are working in machine learning predictions, there is a possibility that some parameter values hold more importance than the others, so we assign high weights to the values of such parameters. Also, there can be a chance that our data set has a highly variable value of a parameter, so we assign lesser weights to the values of such parameters.

    Example –

    Sequence = [0, 2, 1, 3]
    Weight   = [1, 0, 1, 1]
    
    Sum (Weight * sequence)  = 0*1 + 2*0 + 1*1 + 3*1
    Sum (Weight) = 3
    Weighted Mean = 4 / 3 = 1.3333333333333333
    

    Code 1 –

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Weighted Mean 
      
    import numpy as np
      
    # discrete set of numbers
    data = [0, 2, 1, 3
      
    x = np.average(data, weights =[1, 0, 1, 1])
      
    # Mean 
    print("Weighted Mean is :", x) 

    chevron_right

    
    

    Output 1 :

    Weighted Mean is : 1.3333333333333333

    Code 2 –

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Weighted Mean 
      
    data = [0, 2, 1, 3]
    weights = [1, 0, 1, 1]
      
    x = sum(data[i] * weights[i] 
        for i in range(len(data))) / sum(weights)
      
      
    print ("Weighted Mean is :", x)

    chevron_right

    
    

    Output 2 :

    Weighted Mean is : 1.3333333333333333


  • My Personal Notes arrow_drop_up

    Aspire to Inspire before I expire

    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.