Python 最大似然法是一種基于數據概率分布參數的統計分析方法,它是一種尋找最有可能事件的方法。在Python中,我們可以使用NumPy和SciPy模塊來實現最大似然法。
import numpy as np from scipy.optimize import minimize # 構造模擬數據 np.random.seed(42) data = np.random.normal(0, 1, size=1000) # 定義最大似然函數 def log_likelihood(theta, data): mu, sigma = theta log_like = -np.sum(np.log(sigma) + 0.5 * np.log(2 * np.pi) + ((data - mu) ** 2) / (2 * sigma ** 2)) return log_like # 最大似然估計 theta0 = [0, 1] # 初始參數值 result = minimize(log_likelihood, theta0, args=(data,)) print(result.x) # 輸出估計值
在上述代碼中,我們通過構造了一個正態分布的模擬數據,然后定義了最大似然函數log_likelihood,它返回給定數據下的對數似然值。接著,我們使用SciPy提供的minimize函數來尋找最大似然估計值。最后,輸出估計出來的均值和標準差。
最大似然法是一種非常常見的統計分析方法,在數據分析和機器學習領域都有廣泛應用。使用Python進行最大似然分析,可以提高分析效率,減少分析工作量。