Cursusinhoud
Advanced Probability Theory
Advanced Probability Theory
1. Additional Statements From The Probability Theory
3. Estimation of Population Parameters
General population. Samples. Population parameters.Momentum estimation. Maximum Likelihood EstimationChallenge: Estimate Parameters of Chi-square DistributionUnbiased EstimationChallenge: Checking Bias of An Estimation Using SimulationConsistent EstimationEfficient EstimationConfidence Intervals for Population ParametersChallenge: Confidence Interval for Exponential Distribution Parameter
4. Testing of Statistical Hypotheses
What is Statistic Hypothesis? Type 1 and Type 2 ErrorsWhat is P-value?Comparing Means of Two Different DatasetsChallenge: Using CLT to Compare Mean Values of Non-Gaussian DatasetsChallenge: Resampling Approach to Compare Mean Values of the DatasetsTesting the Hypothesis of Independence of Two Random Variables
Momentum estimation. Maximum Likelihood Estimation
import pandas as pd samples = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Advanced+Probability+course+media/expon_samples.csv', names=['Value']) # Calculate mean value over samples estim_mean = samples.mean()['Value'] # We know that samples are from exponential distribution with has parameter lambda. # We also know that mean value of exponentially distributed variable equals 1/lambda # So to estimate lambda using momentum method we can simple use 1/estim_mean print('Momentum estimation of lambda parameter is: ', 1/estim_mean)
import pandas as pd samples = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Advanced+Probability+course+media/gaussian_samples.csv', names=['Value']) # Estimate the mean and standard deviation using method of moments mu = samples.mean()['Value'] sigma = samples.std()['Value'] print('Estimated mean:', mu) print('Estimated standard deviation:', sigma)
import pandas as pd from scipy.stats import norm # Generate some random data samples = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Advanced+Probability+course+media/gaussian_samples.csv', names=['Value']) # Estimate the parameters using maximum likelihood mu_ml, sigma_ml = norm.fit(samples) print('Maximum likelihood estimates:') print('mu = ', mu_ml) print('sigma = ', sigma_ml)
import numpy as np import pandas as pd from scipy.stats import poisson from scipy.optimize import minimize samples = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/Advanced+Probability+course+media/pois_samples.csv', names=['Value']) # Define the log-likelihood function for a Poisson distribution def poisson_log_likelihood(params, data): lam = params[0] # Compute log-likelihood as sum of logarithms of Poisson PMF log_likelihood = -np.sum(poisson.logpmf(data, lam)) return log_likelihood # Use maximum likelihood estimation to fit a Poisson distribution to the data initial_guess = [5] # starting value for lambda parameter result = minimize(poisson_log_likelihood, initial_guess, args=samples) estimate_lambda = result.x[0] # Print the estimated value of lambda print('Estimated value of lambda:', estimate_lambda)
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 3. Hoofdstuk 2