मॉडल अनुमान और लाइकलीहुड

Python में Linear Modeling परिचय

Jason Vestuto

Data Scientist

अनुमान

हिस्टोग्राम का प्लॉट: दूरी बिन्स के विरुद्ध नॉर्मलाइज़्ड काउंट्स। डेटा ग्रे बार्स में, और मॉडल लाल Gaussian घंटी वक्र के रूप में, जो ग्रे बार्स के शीर्ष से क़रीब फिट है

Python में Linear Modeling परिचय

अनुमान

# Define gaussian model function
def gaussian_model(x, mu, sigma):
    coeff_part = 1/(np.sqrt(2 * np.pi * sigma**2))
    exp_part = np.exp( - (x - mu)**2 / (2 * sigma**2) )
    return coeff_part*exp_part
# Compute sample statistics
mean = np.mean(sample)
stdev = np.std(sample)
# Model the population using sample statistics
population_model = gaussian(sample, mu=mean, sigma=stdev)
Python में Linear Modeling परिचय

Likelihood बनाम Probability

  • Conditional Probability: $P( \text{outcome A} | \text{given B})$
  • Probability: $P( \text{data} | \text{model} )$
  • Likelihood: $L( \text{model} | \text{data} )$
Python में Linear Modeling परिचय

Likelihood की गणना

दूरी के विरुद्ध probability का प्लॉट: लाल Gaussian घंटी वक्र, बाएँ किनारे के पास एक बिंदु, और क्षैतिज/लंबवत रेखाएँ जो उस बिंदु को दोनों अक्षों से जोड़ती हैं

Python में Linear Modeling परिचय

Likelihood की गणना

दूरी के विरुद्ध probability का प्लॉट: लाल Gaussian घंटी वक्र, बाएँ किनारे से केंद्र की ओर 6 बिंदु, और प्रत्येक बिंदु को दोनों अक्षों से जोड़ती क्षैतिज/लंबवत रेखाएँ

Python में Linear Modeling परिचय

Probabilities से Likelihood

# Guess parameters
mu_guess = np.mean(sample_distances)
sigma_guess = np.std(sample_distances)
# For each sample point, compute a probability
probabilities = np.zeros(len(sample_distances))
for n, distance in enumerate(sample_distances):
    probabilities[n] = gaussian_model(distance, mu=mu_guess, sigma=sigma_guess)
likelihood = np.product(probs)
loglikelihood = np.sum(np.log(probs))
Python में Linear Modeling परिचय

Maximum Likelihood Estimation

# Create an array of mu guesses
low_guess = sample_mean - 2*sample_stdev
high_guess = sample_mean + 2*sample_stdev
mu_guesses = np.linspace(low_guess, high_guess, 101)
# Compute the loglikelihood for each guess
loglikelihoods = np.zeros(len(mu_guesses))
for n, mu_guess in enumerate(mu_guesses):
    loglikelihoods[n] = compute_loglikelihood(sample_distances, mu=mu_guess, sigma=sample_stdev)
# Find the best guess
max_loglikelihood = np.max(loglikelihoods)
best_mu = mu_guesses[loglikelihoods == max_loglikelihood]
Python में Linear Modeling परिचय

Maximum Likelihood Estimation

नीचे की ओर खुली पराबोला: अधिकतम पर लाल बिंदु, अक्षों पर loglikelihood बनाम mu के मान

Python में Linear Modeling परिचय

अभ्यास करते हैं!

Python में Linear Modeling परिचय

Preparing Video For Download...