随机变量的线性最小均方估计(LMMSE)——多个观测变量

news/2024/12/5 18:17:17/

假设有一个随机变量 x x x需要估计,线性最小均方误差(Linear Minimum Mean Square Error, LMMSE)估计的目标是找到一个线性估计器 x ^ = ∑ i = 0 N − 1 a i y i + b \hat{x} = \sum_{i=0}^{N-1} a_i y_i + b x^=i=0N1aiyi+b,使得估计误差 e = x − x ^ e = x - \hat{x} e=xx^的均方误差 E [ e 2 ] E[e^2] E[e2]最小。

目标函数

估计模型

首先,假设有一个随机变量 x x x,我们希望通过一组观测变量 y = [ y 0 , y 1 , … , y N − 1 ] y = [y_0, y_1, \ldots, y_{N-1}] y=[y0,y1,,yN1]来估计 x x x。估计模型可以表示为:
x ^ = ∑ i = 0 N − 1 a i y i + b \hat{x} = \sum_{i=0}^{N-1} a_i y_i + b x^=i=0N1aiyi+b
其中 a i a_i ai b b b是需要确定的参数。

均方误差(MSE)

均方误差(Mean Squared Error, MSE)定义为估计值 x ^ \hat{x} x^与真实值 x x x之间的差的期望值的平方:
MSE = E [ ( x − x ^ ) 2 ] \text{MSE} = E[(x - \hat{x})^2] MSE=E[(xx^)2]

分量形式

MSE 的具体表达

将估计模型代入 MSE 的定义中,得到:
MSE = E [ ( x − ∑ i = 0 N − 1 a i y i − b ) 2 ] \text{MSE} = E\left[\left(x - \sum_{i=0}^{N-1} a_i y_i - b\right)^2\right] MSE=E (xi=0N1aiyib)2

求导并最小化 MSE

为了找到使 MSE 最小的参数 a i a_i ai b b b,我们需要对 MSE 关于 a i a_i ai b b b求偏导数,并令其等于零。

b b b求导

∂ MSE ∂ b = − 2 E [ ( x − ∑ i = 0 N − 1 a i y i − b ) ] = 0 \frac{\partial \text{MSE}}{\partial b} = -2 E\left[\left(x - \sum_{i=0}^{N-1} a_i y_i - b\right)\right] = 0 bMSE=2E[(xi=0N1aiyib)]=0
解得:
b = E [ x ] − ∑ i = 0 N − 1 a i E [ y i ] b = E[x] - \sum_{i=0}^{N-1} a_i E[y_i] b=E[x]i=0N1aiE[yi]

a i a_i ai求导
∂ MSE ∂ a i = − 2 E [ y i ( x − ∑ j = 0 N − 1 a j y j − b ) ] = 0 \frac{\partial \text{MSE}}{\partial a_i} = -2 E\left[y_i \left(x - \sum_{j=0}^{N-1} a_j y_j - b\right)\right] = 0 aiMSE=2E[yi(xj=0N1ajyjb)]=0
解得:
a i = E [ y i x ] − E [ y i ] E [ x ] E [ y i 2 ] − ( E [ y i ] ) 2 a_i = \frac{E[y_i x] - E[y_i] E[x]}{E[y_i^2] - (E[y_i])^2} ai=E[yi2](E[yi])2E[yix]E[yi]E[x]

最终表达式

a i a_i ai b b b的表达式代入估计模型中,得到最终的 LMMSE 估计器:
x ^ = ∑ i = 0 N − 1 a i y i + b \hat{x} = \sum_{i=0}^{N-1} a_i y_i + b x^=i=0N1aiyi+b
其中:
a i = Cov ( y i , x ) Var ( y i ) a_i = \frac{\text{Cov}(y_i, x)}{\text{Var}(y_i)} ai=Var(yi)Cov(yi,x)
b = E [ x ] − ∑ i = 0 N − 1 a i E [ y i ] b = E[x] - \sum_{i=0}^{N-1} a_i E[y_i] b=E[x]i=0N1aiE[yi]

向量形式

在矩阵形式下,可以将上述表达式写为:
x ^ = a T y + b \hat{x} = \mathbf{a}^T \mathbf{y} + b x^=aTy+b
其中 a = [ a 0 , a 1 , … , a N − 1 ] T \mathbf{a} = [a_0, a_1, \ldots, a_{N-1}]^T a=[a0,a1,,aN1]T y = [ y 0 , y 1 , … , y N − 1 ] T \mathbf{y} = [y_0, y_1, \ldots, y_{N-1}]^T y=[y0,y1,,yN1]T

b b b求导

E [ ( x − E [ x ] − ( y − E [ y ] ) T a ) ] = 0 E\left[\left(x - E[x] - (\mathbf{y} - E[\mathbf{y}])^T \mathbf{a}\right)\right] = 0 E[(xE[x](yE[y])Ta)]=0

解得 b b b

b = E [ x ] − a T E [ y ] b = E[x] - \mathbf{a}^T E[\mathbf{y}] b=E[x]aTE[y]

a a a求导

E [ ( y − E [ y ] ) ( x − E [ x ] − ( y − E [ y ] ) T a ) ] = 0 E\left[\left(\mathbf{y} - E[\mathbf{y}]\right) \left(x - E[x] - (\mathbf{y} - E[\mathbf{y}])^T \mathbf{a}\right)\right] = 0 E[(yE[y])(xE[x](yE[y])Ta)]=0

解得 a a a

a = R y − 1 R y x \mathbf{a} = \mathbf{R}_y^{-1} \mathbf{R}_{yx} a=Ry1Ryx

这里 R y \mathbf{R}_y Ry是观测值 y \mathbf{y} y的协方差矩阵, R y x \mathbf{R}_{yx} Ryx是观测值 y \mathbf{y} y与随机变量 x x x的协方差向量。

最终的 LMMSE 估计器可以表示为:
x ^ = a T y + b \hat{x} = \mathbf{a}^T \mathbf{y} + b x^=aTy+b
其中:
a = R y − 1 R y x \mathbf{a} = \mathbf{R}_y^{-1} \mathbf{R}_{yx} a=Ry1Ryx
b = E [ x ] − a T E [ y ] b = E[x] - \mathbf{a}^T E[\mathbf{y}] b=E[x]aTE[y]


http://www.ppmy.cn/news/1551238.html

相关文章

怎样安装和启动Apache HTTP服务器(httpd)和PHP?

安装和启动Apache HTTP服务器(httpd)和PHP需要运行下面的程序: #!/bin/bash yum install -y httpd php systemctl start httpd systemctl enable httpd 其中: #!/bin/bash 表示使用Bash作为脚本的解释器。…

5.2.机器学习--岭回归+局部线性回归

目录 1.岭回归 1.1代码示例 2.局部线性回归 2.1代码示例 1.最小二乘法: 平面几何表达直线(两个系数): 重新命名变量: 强行加一个x01: 向量表达: 2.损失函数: 矩阵表达: 矩阵展开: 推导: …

普通单向有头链表,用于内存资源受限,不带mmu的单片机

#include <stdint.h> #include <stdbool.h> #include <stdio.h>#define NODE_COUNT 10 // 定义节点的总数量// 链表节点结构 typedef struct Node {int data; // 节点的数据struct Node* next; // 指向下一个节点的指针 } Node;// 全局节点数组和链…

聊一聊Elasticsearch的索引(2)

1、索引状态的管理 对索引状态的管理操作包括&#xff1a;清空缓存&#xff08;clear cache&#xff09;、刷新索引&#xff08;refresh index&#xff09;、冲洗索引&#xff08;refresh index&#xff09;、强制合并&#xff08;force merge&#xff09;、关闭索引&#xff…

php+Mysql单页支持不同数据结构不同查询条件查搜多表实例

phpMysql单页支持不同数据结构不同查询条件查搜多表实例 本来还要增加删 改 新增的&#xff0c;眼睛需要休息所以放弃后续制作(增删改代码已删或注释) 直接用可以用于自己多表查搜&#xff0c;界面还可以&#xff1b;有兴趣的可以自己二次开发成改删增 <?php function co…

java jvm部分命令 ~~还在完善中

命令整理 jps -q 只输出进程号 -m main 函数的参数 -l 主类全名 -v 输出jvm参数 jstat jstat -gc pid 1000 10 class gc gccapacity gcutil gccause gcnew gcnewcapacity gcold gcoldcapacity compiler printcompilation gcmetacapacity jinfo -sysprops pid -flags pid -flag…

# issue 7 TCP回声服务器和客户端

一、TCP/IP协议栈 为什么需要理解协议栈&#xff1f; 学习C/C就是要懂底层的原理。不然永远是“调包侠” 根据数据传输方式的不同&#xff0c;基于网络协议&#xff08;这里是指基于TCP/IP协议&#xff09;的套接字一般分为TCP 套接字和UDP 套接字。因为TCP 套接字是面向连接的…

【docker集群应用】Docker数据管理与镜像创建

文章目录 Docker数据管理数据卷&#xff08;Data Volumes&#xff09;示例 数据卷容器&#xff08;Data Volume Containers&#xff09;示例 端口映射容器互联 Docker镜像的创建方法基于现有镜像创建1.首先启动一个镜像&#xff0c;在容器里做修改2.然后将修改后的容器提交为新…