极大似然估计通常用于估计概率分布的参数。因此,具体的极大似然估计方法会依赖于你所假设的概率分布类型。下面我将为你提供一个通用的示例,用于估计一个简单的参数,假设数据服从正态分布。
假设你有一组数据,想要估计这些数据的均值和标准差的极大似然估计值。以下是一个示例:
# 创建一个示例数据集
data <- c(2.5, 3.0, 2.7, 3.2, 2.8, 3.5, 3.0, 3.8, 3.2, 2.9)
# 定义似然函数,假设数据服从正态分布
likelihood_function <- function(parameters, data) {
mu <- parameters[1] # 均值
sigma <- parameters[2] # 标准差
# 计算似然值,使用正态分布的概率密度函数
likelihood <- sum(dnorm(data, mean = mu, sd = sigma, log = TRUE))
return(-likelihood) # 返回似然值的负数,因为optim()函数通常用于最小化目标函数
}
# 使用optim()函数来估计均值和标准差的极大似然估计值
initial_guess <- c(mean(data), sd(data)) # 初始猜测值,可以使用样本均值和样本标准差
result <- optim(initial_guess, likelihood_function, data =