引入-最小二乘估计

最小二乘估计的特性

前面介绍的估计器通常都是以最优或者次优为目标,但是最小二乘估计器通常与“优”无关,但是对特定的问题特别有意义。

最小二乘估计不依赖数据的概率假设,只需要假定一个 “信号模型(signal model)”。这一特点让它适用范围更广,但也导致无法在不明确数据概率特性的情况下,评估其统计性能(比如估计的准确性、稳定性等)。而且由于实现简便,在实际操作中被广泛应用。

目标与核心逻辑

最小二乘法的优化目标是:最小化 “数据” 与 “假定信号” 之间的平方差。这个平方差被定义为 “最小二乘误差准则(LS error criterion)” 为

其中,(n = 0,1,\dots,N-1) 是观测区间,(x[n]) 是观测到的数据,(s[n,\theta]) 是基于参数 (\theta) 的假定信号。能让 (J(\theta)) 最小的 (\theta),就是最小二乘估计量(LSE, Least Squares Estimator)。

  • 因为这个优化目标不假设数据的统计特性(比如是否服从高斯分布),所以最小二乘法对高斯噪声和非高斯噪声都有效。

  • 不过,LSE估计的性能会依赖 “干扰噪声的性质” 和 “模型本身的误差(比如信号模型假设得是否准确)”。

  • 当数据的 “精确统计特征” 未知,或者实际应用中统计分析太复杂时,通常会使用最小二乘估计。

标量参数的最小二乘估计

最小二乘估计的步骤

建立信号模型

考虑信号模型 (s[n,\theta] = \theta h[n]),其中 (h[n]) 是已知序列,(\theta) 是待估计的标量参数。此时的最小二乘误差表达式是:

对最小二乘误差进行优化

令$J(\theta)$的导数等于0,来求这个函数的极值点,极值点对应的$\theta$就是估计值$\hat \theta$:

将上式转化成$\theta=(表达式)$的样子:

  1. 两边同时除以2,得到:(\sum_{n=0}^{N-1} \big( x[n] - \theta h[n] \big) \cdot (-h[n]) = 0)
  2. 展开求和项:(- \sum_{n=0}^{N-1} x[n] h[n] + \theta \sum_{n=0}^{N-1} h^2[n] = 0)
  3. 将含(\theta)的项移到等式一边,其余项移到另一边:(\theta \sum_{n=0}^{N-1} h^2[n] = \sum_{n=0}^{N-1} x[n] h[n])
  4. 最后,两边同时除以(\sum_{n=0}^{N-1} h^2[n]),解得:

将被估计量的新表示带回原模型,来求得误差值

将$J(\theta)$代入 (\hat{\theta}) 后,“最小二乘误差” 可表示为:

这个表达式的物理意义是:数据的原始能量(即观测值的能量)减去信号拟合带来的能量(估计量的能量)。同时,最小二乘误差满足范围约束$\leq J(\hat{\theta}) \leq \sum_{n=0}^{N-1} x^2[n]$

一个例子:估计直流分量

估计观测序列 (x[n])((n = 0,1,\dots,N-1))中的直流分量A。首先假设信号模型:

这里$s[n,\theta] = \theta h[n]$没有$h[n]$的原因是它全为1,仅保留估计量$\theta$即可

求得估计的A

最小二乘的误差函数为:

对它求导拿,并令导数=0来求到使得这个函数最小的A做为估计量$\hat A$

误差分析

将$\hat A$带回$J(A)$:

因此,最小二乘误差(观测数据总能量-拟合数据总能量)就是$\sum_{n=0}^{N-1} x^2[n]-N\overline x^2$

总结:标量最小二乘

  • $\hat{\theta} = \frac{ \sum_{n=0}^{N-1} x[n] h[n] }{ \sum_{n=0}^{N-1} h^2[n] }$
  • $J(\hat{\theta}) = \sum_{n=0}^{N-1} x^2[n] - \frac{ \big( \sum_{n=0}^{N-1} x[n] h[n] \big)^2 }{ \sum_{n=0}^{N-1} h^2[n] }$

多参数的最小二乘估计

多参数的最小二乘通式

向量参数的信号模型

在标量参数中,信号模型被假定为$s[n,\theta] = \theta h[n]$,多参数时需要把估计量$\theta$表示成向量。因此信号模型也就成了:

其中:

  • (\mathbf{s} = \left[ s[0], s[1], \dots, s[N-1] \right]^T)是信号向量(长度为 N)
  • (\mathbf{H}):(N \times p) 的观测矩阵(列满秩,即秩为 p,保证 (\mathbf{H}^T \mathbf{H}) 可逆)
  • (\boldsymbol{\theta} = \left[ \theta_1, \theta_2, \dots, \theta_p \right]^T):待估计的参数向量(长度为 p)

此时最小二乘的目标是最小化 “观测向量 (\mathbf{x})” 与 “模型预测信号 (\mathbf{H} \boldsymbol{\theta})” 的平方误差。误差准则是:(误差准则没有求和符号是因为这个矩阵运算已经包含了求和步骤了,相当于每一个估计误差的平方相加)

这个矩阵运算可以表达成更好直观理解的形式:记$e[n] = x[n] - (\mathbf{H} \boldsymbol{\theta})[n]$

展开误差准则(利用矩阵乘法分配律 ((A - B)^T(A - B) = A^T A - A^T B - B^T A + B^T B)):

其中(\mathbf{x}^T (\mathbf{H} \boldsymbol{\theta})) 的结果是一个标量(向量 (\mathbf{x}^T) 是 (1 \times N),矩阵 (\mathbf{H}) 是 (N \times p),向量 (\boldsymbol{\theta}) 是 (p \times 1),相乘后维度为 (1 \times 1),即标量)。标量的转置等于自身,因此:$\mathbf{x}^T (\mathbf{H} \boldsymbol{\theta}) = \left( \mathbf{x}^T (\mathbf{H} \boldsymbol{\theta}) \right)^T$。

进一步改写有:$\mathbf{x}^T (\mathbf{H} \boldsymbol{\theta})=\left( \mathbf{x}^T (\mathbf{H} \boldsymbol{\theta}) \right)^T = (\mathbf{H} \boldsymbol{\theta})^T (\mathbf{x}^T)^T = (\mathbf{H} \boldsymbol{\theta})^T \mathbf{x}$,因此$J(\boldsymbol{\theta})$可以化简为:

对误差准则进行优化,求估计量

矩阵求导法则:

  • (\frac{\partial (\mathbf{x}^T \mathbf{x})}{\partial \boldsymbol{\theta}} = \mathbf{0})((\mathbf{x}^T \mathbf{x}) 与 (\boldsymbol{\theta}) 无关)。
  • (\frac{\partial (\mathbf{x}^T \mathbf{H} \boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = \mathbf{H}^T \mathbf{x})(标量对向量求导,(\mathbf{a}^T \mathbf{y}) 对 (\mathbf{y}) 的导数为 (\mathbf{a}),这里 (\mathbf{a} = \mathbf{H}^T \mathbf{x}),(\mathbf{y} = \boldsymbol{\theta}))。
  • (\frac{\partial (\boldsymbol{\theta}^T \mathbf{H}^T \mathbf{H} \boldsymbol{\theta})}{\partial \boldsymbol{\theta}} = 2 \mathbf{H}^T \mathbf{H} \boldsymbol{\theta})(二次型 (\boldsymbol{\theta}^T \mathbf{A} \boldsymbol{\theta}) 对 (\boldsymbol{\theta}) 的导数为 (2 \mathbf{A} \boldsymbol{\theta}),这里 (\mathbf{A} = \mathbf{H}^T \mathbf{H}))。

对 (\boldsymbol{\theta}) 求偏导:

这里的LSE估计被称为正规方程(normal equations)。

在前面BLUE 的章节推导过,BLUE的估计量(\hat{\boldsymbol{\theta}}_{\text{BLUE}} = \left( \mathbf{S}^T \mathbf{C}_x^{-1} \mathbf{S} \right)^{-1} \mathbf{S}^T \mathbf{C}_x^{-1} \mathbf{x})。当噪声满足 “白噪声且同方差”(即 (\mathbf{C}_x = \sigma^2 \mathbf{I}),(\sigma^2) 是常数,(\mathbf{I}) 是单位矩阵)时,假设$\boldsymbol{H}=\boldsymbol{S}$:

恰好与LSE的估计结果一致。

因此:当噪声是白噪声且同方差((\mathbf{C}_x = \sigma^2 \mathbf{I}))时,BLUE 的估计量简化可以为 LSE 的形式。

误差分析

将 (\hat{\boldsymbol{\theta}} = (\mathbf{H}^T \mathbf{H})^{-1} \mathbf{H}^T \mathbf{x}) 代入误差准则,得到最小误差:

总结:向量最小二乘

  • $\hat{\boldsymbol{\theta}} = (\mathbf{H}^T \mathbf{H})^{-1} \mathbf{H}^T \mathbf{x}$
  • $J(\hat{\boldsymbol{\theta}}) = \mathbf{x}^T (\mathbf{x} - \mathbf{H} \hat{\boldsymbol{\theta}})$

加权最小二乘

为什么要加权

在普通最小二乘(Least Squares,LS)中,误差准则是 (J(\boldsymbol{\theta}) = (\mathbf{x} - \mathbf{H} \boldsymbol{\theta})^T (\mathbf{x} - \mathbf{H} \boldsymbol{\theta})), 它对每个观测值赋予了相同的权重,也就是认为所有观测值的可靠性是一样的。而真实的观测中,有的观测结果可靠,有的不可靠。

为了 “强调更可靠观测的贡献”,引入加权矩阵 (\mathbf{W})(要求 (\mathbf{W}) 是正定矩阵,保证误差可最小化且解唯一)。加权最小二乘的误差准则为:

(\mathbf{W}) 最终会影响观测值 (\mathbf{x}) 在计算估计量 (\hat{\boldsymbol{\theta}}) 时的贡献程度。这就是权重筛选可靠观测量的原理。

对加权LSE进行求解

注:矩阵运算分配率$(\mathbf{A} - \mathbf{B})^T \mathbf{W} (\mathbf{C} - \mathbf{D}) = \mathbf{A}^T \mathbf{W} \mathbf{C} - \mathbf{A}^T \mathbf{W} \mathbf{D} - \mathbf{B}^T \mathbf{W} \mathbf{C} + \mathbf{B}^T \mathbf{W} \mathbf{D}$

展开误差准则:

求偏导:

令偏导=0,整理得:

加权最小二乘的误差

将$\hat{\boldsymbol{\theta}} = (\mathbf{H}^T \mathbf{W} \mathbf{H})^{-1} \mathbf{H}^T \mathbf{W} \mathbf{x}$带回$J(\boldsymbol{\theta}) = (\mathbf{x} - \mathbf{H} \boldsymbol{\theta})^T \mathbf{W} (\mathbf{x} - \mathbf{H} \boldsymbol{\theta})$:

总结:加权最小二乘:

  • $\hat{\boldsymbol{\theta}} = (\mathbf{H}^T \mathbf{W} \mathbf{H})^{-1} \mathbf{H}^T \mathbf{W} \mathbf{x}$
  • $J(\hat{\boldsymbol{\theta}})=\mathbf{x}^T \left( \mathbf{W} - \mathbf{W} \mathbf{H} (\mathbf{H}^T \mathbf{W} \mathbf{H})^{-1} \mathbf{H}^T \mathbf{W} \right) \mathbf{x}$

加权最小二乘一个权重的例子:

可以使用零均值噪声的协方差矩阵(\mathbf{C})的逆矩阵(\mathbf{C}^{-1})作为加权矩阵

假设观测向量(\mathbf{x})的模型为:(\mathbf{x} = \mathbf{H} \boldsymbol{\theta} + \mathbf{n})。其中,(\mathbf{n})是零均值噪声向量((E\{\mathbf{n}\} = \mathbf{0})),其协方差矩阵定义为:(\mathbf{C} = E\{\mathbf{n} \mathbf{n}^T\})

  • (\mathbf{C})的对角元素(C_{ii} = E\{n_i^2\}):第i个观测的噪声方差,反映该观测的可靠性—— 方差越小((C_{ii})越小),观测越可靠。
  • (\mathbf{C})的非对角元素(C_{ij} = E\{n_i n_j\}):第i和j个观测的噪声相关性,若为 0 则噪声不相关(白噪声)。

而加权矩阵的核心是让噪声小的观测在误差中占更大权重,从而降低噪声对估计的干扰,这意味着,如果$C$的方差越小,越具有独立性,那么它就会占更大的权重。

序列最小二乘估计

在前面的最小二乘估计中,都是一次性拿到了观测序列$x[n]$。但是实际操作中,$x[n]$可能很大,而且是持续产生的数据。需要根据随时添加新的数据进来更新LSE。因此就有了序列LSE。

序列LSE针对 “实时处理 / 数据持续更新” 的场景,目标是用 “前n个样本的估计结果”,高效更新得到 “前(n+1)个样本的估计”。序列最小二乘需假设噪声之间相互独立

序列做小二乘的通式

对前n个样本和n+1个样本的关键信息进行表达

考虑前面零均值噪声的协方差矩阵(\mathbf{C})的逆矩阵(\mathbf{C}^{-1})作为加权矩阵的例子,对这个加权LSE:

  • 差准则:(J(\boldsymbol{\theta}) = (\mathbf{x} - \mathbf{H} \boldsymbol{\theta})^T \mathbf{C}^{-1} (\mathbf{x} - \mathbf{H} \boldsymbol{\theta}))
  • 估计量:(\hat{\boldsymbol{\theta}} = (\mathbf{H}^T \mathbf{C}^{-1} \mathbf{H})^{-1} \mathbf{H}^T \mathbf{C}^{-1} \mathbf{x})。
  • 估计量的协方差:(\mathbf{C}_{\hat{\boldsymbol{\theta}}} = (\mathbf{H}^T \mathbf{C}^{-1} \mathbf{H})^{-1})。

由于噪声不相关,(\mathbf{C})为对角矩阵,因此可 “逐样本” 更新估计。具体步骤如下:

对前n个样本,定义:

  • 观测向量:(\mathbf{x}_n = \left[ x_1, x_2, \dots, x_n \right]^T)。
  • 观测矩阵:(\mathbf{H}_n)((n \times p),p为待估参数个数)。
  • 协方差矩阵:(\mathbf{C}_n)(对角矩阵,体现各样本噪声的方差)。
  • 估计量:(\hat{\boldsymbol{\theta}}_n = (\mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{H}_n)^{-1} \mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{x}_n)。
  • 估计量协方差(简化记为(\boldsymbol{\Sigma}_n)):(\boldsymbol{\Sigma}_n = (\mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{H}_n)^{-1})。
  • 最小二乘误差:(J(\hat{\boldsymbol{\theta}}_n) = (\mathbf{x}_n - \mathbf{H}_n \hat{\boldsymbol{\theta}}_n)^T \mathbf{C}_n^{-1} (\mathbf{x}_n - \mathbf{H}_n \hat{\boldsymbol{\theta}}_n))。

当加入第(n+1)个样本时,向量和矩阵按如下方式分块:

  • 新观测向量:(\mathbf{x}_{n+1} = \begin{bmatrix} \mathbf{x}_n \\ x_{n+1} \end{bmatrix})(下方新增一个样本)。
  • 新观测矩阵:(\mathbf{H}_{n+1} = \begin{bmatrix} \mathbf{H}_n \\ \mathbf{h}_{n+1}^T \end{bmatrix})(下方新增一行,对应第(n+1)个样本的模型)。
  • 新协方差矩阵:(\mathbf{C}_{n+1} = \begin{bmatrix} \mathbf{C}_n & \mathbf{0} \\ \mathbf{0} & \sigma_{n+1}^2 \end{bmatrix})(对角矩阵,新增样本的噪声方差为(\sigma_{n+1}^2))

推导更新后的$\hat \theta_{n+1}$

  1. 计算前半部分(\mathbf{H}_{n+1}^T \mathbf{C}_{n+1}^{-1} \mathbf{H}_{n+1})

利用分块矩阵乘法:

由于(\boldsymbol{\Sigma}_n = (\mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{H}_n)^{-1})(前n个样本的协方差)因此(\mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{H}_n = \boldsymbol{\Sigma}_n^{-1})。代入得:

对上式使用矩阵求逆引理

矩阵求逆引理(Sherman-Morrison 公式):若(\mathbf{A})可逆,(\mathbf{u}, \mathbf{v})为向量,则:

令(\mathbf{A} = \boldsymbol{\Sigma}_n^{-1}),(\mathbf{u} = \mathbf{h}_{n+1}),(\mathbf{v}^T = \sigma_{n+1}^{-2} \mathbf{h}_{n+1}^T),则:

  1. 计算后半部分(\mathbf{H}_{n+1}^T \mathbf{C}_{n+1}^{-1} \mathbf{x}_{n+1})

由于(\hat{\boldsymbol{\theta}}_n = \boldsymbol{\Sigma}_n \mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{x}_n)(由(\hat{\boldsymbol{\theta}}_n = (\mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{H}_n)^{-1} \mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{x}_n = \boldsymbol{\Sigma}_n \mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{x}_n)),因此(\mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{x}_n = \boldsymbol{\Sigma}_n^{-1} \hat{\boldsymbol{\theta}}_n)。代入得:

  1. 拼合步骤1,2,求下一个$\hat \theta_{n+1}$

化简后得到:

其中

  • $\mathbf{k}_{n+1} = \frac{\boldsymbol{\Sigma}_n \mathbf{h}_{n+1}}{\sigma_{n+1}^2 + \mathbf{h}_{n+1}^T \boldsymbol{\Sigma}_n \mathbf{h}_{n+1}}$称为增益(gain)
  • (x_{n+1} - \mathbf{h}_{n+1}^T \hat{\boldsymbol{\theta}}_n)是 “用前n个样本的估计,预测第(n+1)个样本的误差”

更新后的协方差与误差

  • 协方差更新:(\boldsymbol{\Sigma}_{n+1} = (\mathbf{I} - \mathbf{k}_{n+1} \mathbf{h}_{n+1}^T) \boldsymbol{\Sigma}_n)(反映 “新增样本后,估计量的不确定性变化”,是$p\times p$矩阵)。
  • 误差更新:(J(\hat{\boldsymbol{\theta}}_{n+1}) = J(\hat{\boldsymbol{\theta}}_n) + \frac{\left( x_{n+1} - \mathbf{h}_{n+1}^T \hat{\boldsymbol{\theta}}_n \right)^2}{\sigma_{n+1}^2 + \mathbf{h}_{n+1}^T \boldsymbol{\Sigma}_n \mathbf{h}_{n+1}})(累计最小二乘误差)。

序列LSE的总结

  • $\hat{\boldsymbol{\theta}}_{n+1} = \hat{\boldsymbol{\theta}}_n + \mathbf{k}_{n+1} \left( x_{n+1} - \mathbf{h}_{n+1}^T \hat{\boldsymbol{\theta}}_n \right)$,其中增益$\mathbf{k}_{n+1} = \frac{\boldsymbol{\Sigma}_n \mathbf{h}_{n+1}}{\sigma_{n+1}^2 + \mathbf{h}_{n+1}^T \boldsymbol{\Sigma}_n \mathbf{h}_{n+1}}$
  • $\hat{\boldsymbol{\theta}} = (\mathbf{H}^T \mathbf{C}^{-1} \mathbf{H})^{-1} \mathbf{H}^T \mathbf{C}^{-1} \mathbf{x}$
  • $\boldsymbol{\Sigma}_n = (\mathbf{H}_n^T \mathbf{C}_n^{-1} \mathbf{H}_n)^{-1}$

例子:使用序列LSE估计DC电平

噪声同方差的无加权序列LSE

现有直流信号叠加了$\sigma^2=1$的同方差白噪声,噪声间相互独立。直流电平信号的模型是:$s[k, A] = A$,观测为数据为(x_k)((k=1,2,\dots,n))。

根据标量最小二乘中的推导:

  • $\hat{A}_n = \frac{1}{n} \sum_{k=1}^n x_k$(样本均值)
  • $\boldsymbol{\Sigma}_n = \frac{1}{n}$

计算增益:

由于$\mathbf{h}_{n+1}=[1]$,因此:

估计值更新$\hat{\boldsymbol{\theta}}_{n+1} = \hat{\boldsymbol{\theta}}_n + \mathbf{k}_{n+1} \left( x_{n+1} - \mathbf{h}_{n+1}^T \hat{\boldsymbol{\theta}}_n \right)$:

下图是对100个观测量的序列LSE进行的仿真。其中原始信号$A=10$,噪声具有同方差$\sigma_k=2$.

image-20250929160104660

噪声不同方差的加权序列LSE

当各样本噪声方差不同((\mathbf{C}_n = \text{diag}(\sigma_1^2, \sigma_2^2, \dots, \sigma_n^2)))时(diag表示对角矩阵):

前n个样本的估计:(\hat{A}_n = \left( \sum_{k=1}^n \frac{1}{\sigma_k^2} \right)^{-1} \sum_{k=1}^n \frac{x_k}{\sigma_k^2})(对 “噪声小((\sigma_k^2)小)的样本” 赋予更大权重)

增益:(\mathbf{k}_{n+1} = \left( 1 + \sigma_{n+1}^2 \sum_{k=1}^n \frac{1}{\sigma_k^2} \right)^{-1})(噪声大的新样本,增益小,对估计的影响弱)。

更新后:(\hat{A}_{n+1} = \hat{A}_n + \frac{1}{1 + \sigma_{n+1}^2 \sum_{k=1}^n \frac{1}{\sigma_k^2}} \left( x_{n+1} - \hat{A}_n \right))。

  • 若新样本噪声极大((\sigma_{n+1}^2 \to \infty)),则(\mathbf{k}_{n+1} \to 0),(\hat{A}_{n+1} \approx \hat{A}_n)(新样本几乎不影响估计)。
  • 若新样本噪声极小((\sigma_{n+1}^2 \to 0)),则(\mathbf{k}_{n+1} \to 1),(\hat{A}_{n+1} \approx x_{n+1})(完全信任新样本,忽略之前的估计)。