极大似然估计(Maximum Likelihood Estimation,简称MLE)是一种常用的参数估计方法,它通过最大化观测数据的似然函数来寻找最优的参数值。在R语言中,我们可以利用各种统计包和函数来进行极大似然估计。本文将介绍如何使用R语言进行极大似然估计,并提供相应的源代码示例。
首先,我们需要准备一组观测数据。假设我们有一个服从正态分布的随机变量,我们希望通过MLE来估计该分布的均值和方差。我们可以使用rnorm函数生成一组随机样本作为我们的观测数据。
# 生成观测数据
set.seed(123) # 设置随机种子,保证结果可复现
data <- rnorm(100, mean = 2, sd = 1) # 生成100个服从均值为2、方差为1的正态分布随机数
接下来,我们需要定义似然函数。对于正态分布而言,其似然函数可以通过概率密度函数(PDF)计算得到。R语言中提供了dnorm函数用于计算正态分布的概率密度。
# 定义似然函数
likelihood <- function(parameters) {
mu <- parameters[1] # 均值
sigma <- parameters[2] # 方差
log_likelihood <- sum(log(dnorm(data, mean