• Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy
Wednesday, July 9, 2025
newsaiworld
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us
No Result
View All Result
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us
No Result
View All Result
Morning News
No Result
View All Result
Home Artificial Intelligence

Technique of Moments Estimation with Python Code | by Mahmoud Abdelaziz, PhD | Jan, 2025

Admin by Admin
January 8, 2025
in Artificial Intelligence
0
0yhsw5cieqo3mjqlx.jpeg
0
SHARES
0
VIEWS
Share on FacebookShare on Twitter

READ ALSO

Construct Interactive Machine Studying Apps with Gradio

The 5-Second Fingerprint: Inside Shazam’s Prompt Tune ID


Find out how to perceive and implement the estimator from scratch

Mahmoud Abdelaziz, PhD

Towards Data Science

Photograph by Petr Macháček on Unsplash

Let’s say you’re in a buyer care heart, and also you wish to know the likelihood distribution of the variety of calls per minute, or in different phrases, you wish to reply the query: what’s the likelihood of receiving zero, one, two, … and many others., calls per minute? You want this distribution to be able to predict the likelihood of receiving totally different variety of calls based mostly on which you’ll plan what number of staff are wanted, whether or not or not an growth is required, and many others.

With a view to let our determination ‘knowledge knowledgeable’ we begin by accumulating knowledge from which we attempt to infer this distribution, or in different phrases, we wish to generalize from the pattern knowledge to the unseen knowledge which is often known as the inhabitants in statistical phrases. That is the essence of statistical inference.

From the collected knowledge we are able to compute the relative frequency of every worth of calls per minute. For instance, if the collected knowledge over time seems one thing like this: 2, 2, 3, 5, 4, 5, 5, 3, 6, 3, 4, … and many others. This knowledge is obtained by counting the variety of calls acquired each minute. With a view to compute the relative frequency of every worth you’ll be able to rely the variety of occurrences of every worth divided by the whole variety of occurrences. This fashion you’ll find yourself with one thing just like the gray curve within the beneath determine, which is equal to the histogram of the information on this instance.

Picture generated by the Creator

An alternative choice is to imagine that every knowledge level from our knowledge is a realization of a random variable (X) that follows a sure likelihood distribution. This likelihood distribution represents all of the doable values which can be generated if we have been to gather this knowledge lengthy into the long run, or in different phrases, we are able to say that it represents the inhabitants from which our pattern knowledge was collected. Moreover, we are able to assume that every one the information factors come from the identical likelihood distribution, i.e., the information factors are identically distributed. Furthermore, we assume that the information factors are unbiased, i.e., the worth of 1 knowledge level within the pattern shouldn’t be affected by the values of the opposite knowledge factors. The independence and an identical distribution (iid) assumption of the pattern knowledge factors permits us to proceed mathematically with our statistical inference downside in a scientific and easy approach. In additional formal phrases, we assume {that a} generative probabilistic mannequin is chargeable for producing the iid knowledge as proven beneath.

Picture generated by the Creator

On this specific instance, a Poisson distribution with imply worth λ = 5 is assumed to have generated the information as proven within the blue curve within the beneath determine. In different phrases, we assume right here that we all know the true worth of λ which is usually not identified and must be estimated from the information.

Picture generated by the Creator

Versus the earlier methodology by which we needed to compute the relative frequency of every worth of calls per minute (e.g., 12 values to be estimated on this instance as proven within the gray determine above), now we solely have one parameter that we purpose at discovering which is λ. One other benefit of this generative mannequin method is that it’s higher when it comes to generalization from pattern to inhabitants. The assumed likelihood distribution might be stated to have summarized the information in a chic approach that follows the Occam’s razor precept.

Earlier than continuing additional into how we purpose at discovering this parameter λ, let’s present some Python code first that was used to generate the above determine.

# Import the Python libraries that we are going to want on this article
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import math
from scipy import stats

# Poisson distribution instance
lambda_ = 5
sample_size = 1000
data_poisson = stats.poisson.rvs(lambda_,dimension= sample_size) # generate knowledge

# Plot the information histogram vs the PMF
x1 = np.arange(data_poisson.min(), data_poisson.max(), 1)
fig1, ax = plt.subplots()
plt.bar(x1, stats.poisson.pmf(x1,lambda_),
label="Possion distribution (PMF)",colour = BLUE2,linewidth=3.0,width=0.3,zorder=2)
ax.hist(data_poisson, bins=x1.dimension, density=True, label="Knowledge histogram",colour = GRAY9, width=1,zorder=1,align='left')

ax.set_title("Knowledge histogram vs. Poisson true distribution", fontsize=14, loc='left')
ax.set_xlabel('Knowledge worth')
ax.set_ylabel('Chance')
ax.legend()
plt.savefig("Possion_hist_PMF.png", format="png", dpi=800)

Our downside now’s about estimating the worth of the unknown parameter λ utilizing the information we collected. That is the place we’ll use the methodology of moments (MoM) method that seems within the title of this text.

First, we have to outline what is supposed by the second of a random variable. Mathematically, the kth second of a discrete random variable (X) is outlined as follows

Take the primary second E(X) for example, which can also be the imply μ of the random variable, and assuming that we accumulate our knowledge which is modeled as N iid realizations of the random variable X. An affordable estimate of μ is the pattern imply which is outlined as follows

Thus, to be able to get hold of a MoM estimate of a mannequin parameter that parametrizes the likelihood distribution of the random variable X, we first write the unknown parameter as a operate of a number of of the kth moments of the random variable, then we substitute the kth second with its pattern estimate. The extra unknown parameters we now have in our fashions, the extra moments we want.

In our Poisson mannequin instance, that is quite simple as proven beneath

Within the subsequent half, we check our MoM estimator on the simulated knowledge we had earlier. The Python code for acquiring the estimator and plotting the corresponding likelihood distribution utilizing the estimated parameter is proven beneath.

# Technique of moments estimator utilizing the information (Poisson Dist)
lambda_hat = sum(data_poisson) / len(data_poisson)

# Plot the MoM estimated PMF vs the true PMF
x1 = np.arange(data_poisson.min(), data_poisson.max(), 1)
fig2, ax = plt.subplots()
plt.bar(x1, stats.poisson.pmf(x1,lambda_hat),
label="Estimated PMF",colour = ORANGE1,linewidth=3.0,width=0.3)
plt.bar(x1+0.3, stats.poisson.pmf(x1,lambda_),
label="True PMF",colour = BLUE2,linewidth=3.0,width=0.3)

ax.set_title("Estimated Poisson distribution vs. true distribution", fontsize=14, loc='left')
ax.set_xlabel('Knowledge worth')
ax.set_ylabel('Chance')
ax.legend()
#ax.grid()
plt.savefig("Possion_true_vs_est.png", format="png", dpi=800)

The beneath determine reveals the estimated distribution versus the true distribution. The distributions are fairly shut indicating that the MoM estimator is an inexpensive estimator for our downside. Actually, changing expectations with averages within the MoM estimator implies that the estimator is a constant estimator by the regulation of huge numbers, which is an efficient justification for utilizing such estimator.

Picture generated by the Creator

One other MoM estimation instance is proven beneath assuming the iid knowledge is generated by a traditional distribution with imply μ and variance σ² as proven beneath.

Picture generated by the Creator

On this specific instance, a Gaussian (regular) distribution with imply worth μ = 10 and σ = 2 is assumed to have generated the information. The histogram of the generated knowledge pattern (pattern dimension = 1000) is proven in gray within the beneath determine, whereas the true distribution is proven within the blue curve.

Picture generated by the Creator

The Python code that was used to generate the above determine is proven beneath.

# Regular distribution instance
mu = 10
sigma = 2
sample_size = 1000
data_normal = stats.norm.rvs(loc=mu, scale=sigma ,dimension= sample_size) # generate knowledge

# Plot the information histogram vs the PDF
x2 = np.linspace(data_normal.min(), data_normal.max(), sample_size)
fig3, ax = plt.subplots()
ax.hist(data_normal, bins=50, density=True, label="Knowledge histogram",colour = GRAY9)
ax.plot(x2, stats.norm(loc=mu, scale=sigma).pdf(x2),
label="Regular distribution (PDF)",colour = BLUE2,linewidth=3.0)

ax.set_title("Knowledge histogram vs. true distribution", fontsize=14, loc='left')
ax.set_xlabel('Knowledge worth')
ax.set_ylabel('Chance')
ax.legend()
ax.grid()

plt.savefig("Normal_hist_PMF.png", format="png", dpi=800)

Now, we wish to use the MoM estimator to seek out an estimate of the mannequin parameters, i.e., μ and σ² as proven beneath.

With a view to check this estimator utilizing our pattern knowledge, we plot the distribution with the estimated parameters (orange) within the beneath determine, versus the true distribution (blue). Once more, it may be proven that the distributions are fairly shut. After all, to be able to quantify this estimator, we have to check it on a number of realizations of the information and observe properties comparable to bias, variance, and many others. Such essential facets have been mentioned in an earlier article Bias Variance Tradeoff in Parameter Estimation with Python Code | by Mahmoud Abdelaziz, PhD | Medium

Picture generated by the Creator

The Python code that was used to estimate the mannequin parameters utilizing MoM, and to plot the above determine is proven beneath.

# Technique of moments estimator utilizing the information (Regular Dist)
mu_hat = sum(data_normal) / len(data_normal) # MoM imply estimator
var_hat = sum(pow(x-mu_hat,2) for x in data_normal) / len(data_normal) # variance
sigma_hat = math.sqrt(var_hat) # MoM commonplace deviation estimator

# Plot the MoM estimated PDF vs the true PDF
x2 = np.linspace(data_normal.min(), data_normal.max(), sample_size)
fig4, ax = plt.subplots()
ax.plot(x2, stats.norm(loc=mu_hat, scale=sigma_hat).pdf(x2),
label="Estimated PDF",colour = ORANGE1,linewidth=3.0)
ax.plot(x2, stats.norm(loc=mu, scale=sigma).pdf(x2),
label="True PDF",colour = BLUE2,linewidth=3.0)

ax.set_title("Estimated Regular distribution vs. true distribution", fontsize=14, loc='left')
ax.set_xlabel('Knowledge worth')
ax.set_ylabel('Chance')
ax.legend()
ax.grid()
plt.savefig("Normal_true_vs_est.png", format="png", dpi=800)

One other helpful likelihood distribution is the Gamma distribution. An instance for the applying of this distribution in actual life was mentioned in a earlier article. Nonetheless, on this article, we derive the MoM estimator of the Gamma distribution parameters α and β as proven beneath, assuming the information is iid.

Picture generated by the Creator

On this specific instance, a Gamma distribution with α = 6 and β = 0.5 is assumed to have generated the information. The histogram of the generated knowledge pattern (pattern dimension = 1000) is proven in gray within the beneath determine, whereas the true distribution is proven within the blue curve.

Picture generated by the Creator

The Python code that was used to generate the above determine is proven beneath.

# Gamma distribution instance
alpha_ = 6 # form parameter
scale_ = 2 # scale paramter (lamda) = 1/beta in gamma dist.
sample_size = 1000
data_gamma = stats.gamma.rvs(alpha_,loc=0, scale=scale_ ,dimension= sample_size) # generate knowledge

# Plot the information histogram vs the PDF
x3 = np.linspace(data_gamma.min(), data_gamma.max(), sample_size)
fig5, ax = plt.subplots()
ax.hist(data_gamma, bins=50, density=True, label="Knowledge histogram",colour = GRAY9)
ax.plot(x3, stats.gamma(alpha_,loc=0, scale=scale_).pdf(x3),
label="Gamma distribution (PDF)",colour = BLUE2,linewidth=3.0)

ax.set_title("Knowledge histogram vs. true distribution", fontsize=14, loc='left')
ax.set_xlabel('Knowledge worth')
ax.set_ylabel('Chance')
ax.legend()
ax.grid()
plt.savefig("Gamma_hist_PMF.png", format="png", dpi=800)

Now, we wish to use the MoM estimator to seek out an estimate of the mannequin parameters, i.e., α and β, as proven beneath.

With a view to check this estimator utilizing our pattern knowledge, we plot the distribution with the estimated parameters (orange) within the beneath determine, versus the true distribution (blue). Once more, it may be proven that the distributions are fairly shut.

Picture generated by the Creator

The Python code that was used to estimate the mannequin parameters utilizing MoM, and to plot the above determine is proven beneath.

# Technique of moments estimator utilizing the information (Gamma Dist)
sample_mean = data_gamma.imply()
sample_var = data_gamma.var()
scale_hat = sample_var/sample_mean #scale is the same as 1/beta in gamma dist.
alpha_hat = sample_mean**2/sample_var

# Plot the MoM estimated PDF vs the true PDF
x4 = np.linspace(data_gamma.min(), data_gamma.max(), sample_size)
fig6, ax = plt.subplots()

ax.plot(x4, stats.gamma(alpha_hat,loc=0, scale=scale_hat).pdf(x4),
label="Estimated PDF",colour = ORANGE1,linewidth=3.0)
ax.plot(x4, stats.gamma(alpha_,loc=0, scale=scale_).pdf(x4),
label="True PDF",colour = BLUE2,linewidth=3.0)

ax.set_title("Estimated Gamma distribution vs. true distribution", fontsize=14, loc='left')
ax.set_xlabel('Knowledge worth')
ax.set_ylabel('Chance')
ax.legend()
ax.grid()
plt.savefig("Gamma_true_vs_est.png", format="png", dpi=800)

Be aware that we used the next equal methods of writing the variance when deriving the estimators within the circumstances of Gaussian and Gamma distributions.

On this article, we explored varied examples of the strategy of moments estimator and its purposes in numerous issues in knowledge science. Furthermore, detailed Python code that was used to implement the estimators from scratch in addition to to plot the totally different figures can also be proven. I hope that you will see this text useful.

Tags: AbdelazizCodeEstimationJanMahmoudMethodMomentsPhDPython

Related Posts

Gradio.jpg
Artificial Intelligence

Construct Interactive Machine Studying Apps with Gradio

July 8, 2025
1dv5wrccnuvdzg6fvwvtnuq@2x.jpg
Artificial Intelligence

The 5-Second Fingerprint: Inside Shazam’s Prompt Tune ID

July 8, 2025
0 dq7oeogcaqjjio62.jpg
Artificial Intelligence

STOP Constructing Ineffective ML Initiatives – What Really Works

July 7, 2025
2025 06 30 22 56 21 ezgif.com video to gif converter.gif
Artificial Intelligence

Interactive Knowledge Exploration for Laptop Imaginative and prescient Tasks with Rerun

July 6, 2025
Rulefit 1024x683.png
Artificial Intelligence

Explainable Anomaly Detection with RuleFit: An Intuitive Information

July 6, 2025
Lineage graph.jpg
Artificial Intelligence

Change-Conscious Knowledge Validation with Column-Stage Lineage

July 5, 2025
Next Post
Debo Vs. Dogwhifat Vs. Bonk – Which Will Skyrocket.jpg

Solana Targets $200 by 12 months-Finish, however DexBoss (DEBO) Might Be the Subsequent Crypto to Explode by 5000x

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

0 3.png

College endowments be a part of crypto rush, boosting meme cash like Meme Index

February 10, 2025
Gemini 2.0 Fash Vs Gpt 4o.webp.webp

Gemini 2.0 Flash vs GPT 4o: Which is Higher?

January 19, 2025
1da3lz S3h Cujupuolbtvw.png

Scaling Statistics: Incremental Customary Deviation in SQL with dbt | by Yuval Gorchover | Jan, 2025

January 2, 2025
0khns0 Djocjfzxyr.jpeg

Constructing Data Graphs with LLM Graph Transformer | by Tomaz Bratanic | Nov, 2024

November 5, 2024
How To Maintain Data Quality In The Supply Chain Feature.jpg

Find out how to Preserve Knowledge High quality within the Provide Chain

September 8, 2024

EDITOR'S PICK

Ondo Finance .jpg

Cosmos ecosystem changing into house for RWAs as Ondo Finance reveals new L1

February 9, 2025
Depositphotos 669916654 Xl Scaled.jpg

Why Rehab Facilities Want Information Analytics for search engine optimization

December 7, 2024
Bitcoin Ether Xrp Solana Cardano Shiba Inu Braced For Explosive 4 Trillion Storm.jpg

Shiba Inu Outpaces Bitcoin, Ethereum in Lengthy-Time period Holder Progress ⋆ ZyCrypto

March 29, 2025
Cerebras Ranovus Logos 2 1 0425.png

DARPA Faucets Cerebras and Ranovus for Army and Business Platform

April 8, 2025

About Us

Welcome to News AI World, your go-to source for the latest in artificial intelligence news and developments. Our mission is to deliver comprehensive and insightful coverage of the rapidly evolving AI landscape, keeping you informed about breakthroughs, trends, and the transformative impact of AI technologies across industries.

Categories

  • Artificial Intelligence
  • ChatGPT
  • Crypto Coins
  • Data Science
  • Machine Learning

Recent Posts

  • AI Doc Verification for Authorized Companies: Significance & Prime Instruments
  • Survey finds gaps in mainstream Bitcoin protection, leaving institutional buyers uncovered
  • Groq Launches European Knowledge Heart in Helsinki
  • Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy

© 2024 Newsaiworld.com. All rights reserved.

No Result
View All Result
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us

© 2024 Newsaiworld.com. All rights reserved.

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?