最大似然估计 (Maximum Likelihood Estimation, MLE)
最大似然估计 (Maximum Likelihood Estimation, MLE) 是一种用于估计统计模型参数的强大方法。其核心思想是在已知分布产生的一些样本而未知分布具体参数的情况下,根据样本值推断最有可能产生这些样本的参数值。
示例:估计高斯分布的参数
c++代码实现
#include <iostream>
#include <vector>
#include <cmath>
#include <numeric>
// 函数:估计高斯分布的均值
double estimateMean(const std::vector<double>& data) {
double sum = std::accumulate(data.begin(), data.end(), 0.0);
return sum / data.size();
}
// 函数:估计高斯分布的方差
double estimateVariance(const std::vector<double>& data, double mean) {
double sum = 0.0;
for (double value : data) {
sum += (value - mean) * (value - mean);
}
return sum / data.size();
}
int main() {
// 假设我们有一些数据点
std::vector<double> data = {2.3, 2.1, 2.5, 2.8, 2.0, 2.7, 2.2, 2.4};
// 估计均值和方差
double mean = estimateMean(data);
double variance = estimateVariance(data, mean);
// 输出估计结果
std::cout << "估计的均值: " << mean << std::endl;
std::cout << "估计的方差: " << variance << std::endl;
return 0;
}