EE7402-Statistical-Signal-Processing-Part1-5:最小二乘估计
引入-最小二乘估计
最小二乘估计的特性
前面介绍的估计器通常都是以最优或者次优为目标,但是最小二乘估计器通常与“优”无关,但是对特定的问题特别有意义。
最小二乘估计不依赖数据的概率假设,只需要假定一个 “信号模型(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=(表达式)$的样子:
- 两边同时除以2,得到:(\sum_{n=0}^{N-1} \big( x[n] - \theta h[n] \big) \cdot (-h[n]) = 0)
- 展开求和项:(- \sum_{n=0}^{N-1} x[n] h[n] + \theta \sum_{n=0}^{N-1} h^2[n] = 0)
- 将含(\theta)的项移到等式一边,其余项移到另一边:(\theta \sum_{n=0}^{N-1} h^2[n] = \sum_{n=0}^{N-1} x[n] h[n])
- 最后,两边同时除以(\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}$
- 计算前半部分(\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),则:
由于(\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,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$.

噪声不同方差的加权序列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})(完全信任新样本,忽略之前的估计)。