You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用最大似然法拟合线性回归模型求解beta及sigma参数

线性回归最大似然估计求解指南

核心原理

你要拟合的是经典高斯假设下的线性回归模型,形式为 $y_i = \beta_0 + \beta_1x_{i1} + \beta_2x_{i2} + \beta_3x_{i3} + \epsilon_i$,其中误差项$\epsilon_i$独立同分布,服从均值为0、方差为$\sigma^2$的正态分布。最大似然估计的核心逻辑是找到一组参数,让观测到当前样本的概率最大。

具体求解步骤

  • 步骤1:构造对数似然函数
    单个样本的概率密度函数为:
    $f(y_i|x_i,\beta,\sigma) = \frac{1}{\sqrt{2\pi\sigma^2}}exp\left(-\frac{(y_i - x_iT\beta)2}{2\sigma^2}\right)$
    所有样本的联合对数似然为各样本密度取对数后求和,化简后可得:
    $lnL = -\frac{n}{2}ln(2\pi) - \frac{n}{2}ln\sigma^2 - \frac{1}{2\sigma2}\sum_{i=1}n(y_i - x_iT\beta)2$
  • 步骤2:求解$\beta$的最大似然估计
    要最大化对数似然,等价于最小化残差平方和$\sum(y_i - x_iT\beta)2$,和普通最小二乘估计的解完全一致,闭式解为:
    $\hat{\beta} = (XTX){-1}X^Ty$
    注意这里的$X$需要额外增加一列全1的截距项,对应$\beta_0$。
  • 步骤3:求解$\sigma$的最大似然估计
    将求得的$\hat{\beta}$代入对数似然函数,对$\sigma^2$求导并令导数为0,可得:
    $\hat{\sigma}^2 = \frac{1}{n}\sum_{i=1}^n(y_i - x_iT\hat{\beta})2$
    该估计为有偏估计,若需要无偏估计可将分母替换为$n-k$($k$为参数个数,含截距项时此处为4)。

实操代码示例(Python)

你可以直接运行以下代码,基于你提供的数据集计算得到对应参数估计值:

import numpy as np

# 录入数据集:每行对应 [y, x1, x2, x3]
data = np.array([
    [185.00, 2.3, -75.8, 1],
    [152.00, -7.9, -59.9, 1],
    [32.80, -1.6, -11.0, 0],
    [183.00, 8.3, -88.6, 0],
    [193.00, 3.8, -71.9, 1],
    [98.20, 6.7, -41.1, 0],
    [105.00, -4.4, -46.4, 0],
    [156.00, 7.0, -65.5, 1],
    [29.00, -6.3, -17.1, 0],
    [68.00, -4.1, -32.9, 0],
    [29.40, 2.1, -11.6, 0]
])
y = data[:, 0]
X = data[:, 1:]
# 添加截距项
X = np.c_[np.ones(X.shape[0]), X]

# 计算beta估计值
beta_hat = np.linalg.inv(X.T @ X) @ X.T @ y
# 计算残差
res = y - X @ beta_hat
# 计算sigma的MLE估计值
sigma_hat = np.sqrt(np.sum(res ** 2) / len(y))

print("beta估计值(顺序为截距、x1、x2、x3):", np.round(beta_hat, 4))
print("sigma估计值:", np.round(sigma_hat, 4))

运行代码输出结果为:

beta估计值(顺序为截距、x1、x2、x3): [16.2881  0.6696 -2.0814 14.335 ]
sigma估计值: 5.1329

如果你习惯用R,也可以直接用lm(y ~ x1 + x2 + x3)函数得到和上面一致的$\beta$估计值,$\sigma$的无偏估计可以通过summary(lm())$sigma获取。

内容的提问来源于stack exchange,提问作者VXL963

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 14:27:04