自动控制: 最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计

自动控制: 最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计

在数据分析和机器学习中,参数估计是一个关键步骤。最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计(LMMSE)是几种常见的参数估计方法。这篇博客将详细介绍这些方法及其均方误差(MSE)的计算,并通过Python代码实现这些方法。

1. 最小二乘估计 (LSE)

公式与推导

给定一个线性模型:
y = X β + ϵ y = X\beta + \epsilon y=+ϵ
其中:

  • y y y 是观测向量,
  • X X X 是设计矩阵,
  • β \beta β 是待估计的参数向量,
  • ϵ \epsilon ϵ是误差向量,假设其服从正态分布,均值为零,协方差矩阵为 σ 2 I \sigma^2 I σ2I

最小二乘估计是通过最小化残差平方和来估计参数 β \beta β
β ^ LSE = ( X T X ) − 1 X T y \hat{\beta}_{\text{LSE}} = (X^T X)^{-1} X^T y β^LSE=(XTX)1XTy

均方误差 (MSE)

均方误差定义为:
MSE = E [ ( β − β ^ ) T ( β − β ^ ) ] \text{MSE} = \mathbb{E}\left[ (\beta - \hat{\beta})^T (\beta - \hat{\beta}) \right] MSE=E[(ββ^)T(ββ^)]

对于最小二乘估计,均方误差为:
MSE LSE = σ 2 tr ( ( X T X ) − 1 ) \text{MSE}_{\text{LSE}} = \sigma^2 \text{tr}\left( (X^T X)^{-1} \right) MSELSE=σ2tr((XTX)1)

2. 加权最小二乘估计 (WLS)

公式与推导

当观测值有不同的方差时,使用加权最小二乘估计。假设误差向量 ϵ \epsilon ϵ 的协方差矩阵为 Σ \Sigma Σ,加权最小二乘估计为:
β ^ WLS = ( X T Σ − 1 X ) − 1 X T Σ − 1 y \hat{\beta}_{\text{WLS}} = (X^T \Sigma^{-1} X)^{-1} X^T \Sigma^{-1} y β^WLS=(XTΣ1X)1XTΣ1y

均方误差 (MSE)

加权最小二乘估计的均方误差为:
MSE WLS = σ 2 tr ( ( X T Σ − 1 X ) − 1 ) \text{MSE}_{\text{WLS}} = \sigma^2 \text{tr}\left( (X^T \Sigma^{-1} X)^{-1} \right) MSEWLS=σ2tr((XTΣ1X)1)

3. 线性最小方差估计 (LMMSE)

公式与推导

线性最小方差估计考虑了观测误差和先验信息。假设 β \beta β 是一个随机向量,均值为 μ β \mu_\beta μβ,协方差矩阵为 Σ β \Sigma_\beta Σβ,误差 ϵ \epsilon ϵ 的协方差矩阵为 Σ ϵ \Sigma_\epsilon Σϵ。LMMSE的公式为:
β ^ LMMSE = Σ β X T ( X Σ β X T + Σ ϵ ) − 1 y \hat{\beta}_{\text{LMMSE}} = \Sigma_\beta X^T (X \Sigma_\beta X^T + \Sigma_\epsilon)^{-1} y β^LMMSE=ΣβXT(XΣβXT+Σϵ)1y

均方误差 (MSE)

LMMSE的均方误差为:
MSE LMMSE = Σ β − Σ β X T ( X Σ β X T + Σ ϵ ) − 1 X Σ β \text{MSE}_{\text{LMMSE}} = \Sigma_\beta - \Sigma_\beta X^T (X \Sigma_\beta X^T + \Sigma_\epsilon)^{-1} X \Sigma_\beta MSELMMSE=ΣβΣβXT(XΣβXT+Σϵ)1XΣβ

示例代码

下面的Python代码展示了如何计算LSE、WLS和LMMSE以及相应的均方误差。

import numpy as np
import matplotlib.pyplot as pltdef compute_LSE(X, y):# 最小二乘估计beta_hat_LSE = np.linalg.inv(X.T @ X) @ X.T @ yreturn beta_hat_LSEdef compute_WLS(X, y, Sigma):# 加权最小二乘估计Sigma_inv = np.linalg.inv(Sigma)beta_hat_WLS = np.linalg.inv(X.T @ Sigma_inv @ X) @ X.T @ Sigma_inv @ yreturn beta_hat_WLSdef compute_LMMSE(X, y, mu_beta, Sigma_beta, Sigma_epsilon):# 线性最小方差估计Sigma_beta_XT = Sigma_beta @ X.Tinv_term = np.linalg.inv(X @ Sigma_beta_XT + Sigma_epsilon)beta_hat_LMMSE = mu_beta + Sigma_beta_XT @ inv_term @ (y - X @ mu_beta)return beta_hat_LMMSEdef compute_MSE_LSE(X, sigma):# LSE的均方误差MSE_LSE = sigma ** 2 * np.trace(np.linalg.inv(X.T @ X))return MSE_LSEdef compute_MSE_WLS(X, Sigma, sigma):# WLS的均方误差Sigma_inv = np.linalg.inv(Sigma)MSE_WLS = sigma ** 2 * np.trace(np.linalg.inv(X.T @ Sigma_inv @ X))return MSE_WLSdef compute_MSE_LMMSE(X, Sigma_beta, Sigma_epsilon):# LMMSE的均方误差term = Sigma_beta @ X.T @ np.linalg.inv(X @ Sigma_beta @ X.T + Sigma_epsilon)MSE_LMMSE = np.trace(Sigma_beta - term @ X @ Sigma_beta)return MSE_LMMSE# 示例数据
np.random.seed(0)
n = 100
p = 5
X = np.random.randn(n, p)
beta_true = np.random.randn(p)
y = X @ beta_true + np.random.randn(n)# 计算LSE
beta_hat_LSE = compute_LSE(X, y)
print("LSE:", beta_hat_LSE)# 计算WLS
Sigma = np.diag(np.random.rand(n))  # 假设误差的协方差矩阵为对角矩阵
beta_hat_WLS = compute_WLS(X, y, Sigma)
print("WLS:", beta_hat_WLS)# 计算LMMSE
mu_beta = np.zeros(p)
Sigma_beta = np.eye(p)
Sigma_epsilon = np.eye(n)
beta_hat_LMMSE = compute_LMMSE(X, y, mu_beta, Sigma_beta, Sigma_epsilon)
print("LMMSE:", beta_hat_LMMSE)# 计算均方误差
sigma = 1
MSE_LSE = compute_MSE_LSE(X, sigma)
MSE_WLS = compute_MSE_WLS(X, Sigma, sigma)
MSE_LMMSE = compute_MSE_LMMSE(X, Sigma_beta, Sigma_epsilon)
print("MSE_LSE:", MSE_LSE)
print("MSE_WLS:", MSE_WLS)
print("MSE_LMMSE:", MSE_LMMSE)

代码说明

  1. compute_LSE: 计算最小二乘估计(LSE)。
  2. compute_WLS: 计算加权最小二乘估计(WLS)。
  3. compute_LMMSE: 计算线性最小方差估计(LMMSE)。
  4. compute_MSE_LSE: 计算LSE的均方误差(MSE)。
  5. compute_MSE_WLS: 计算WLS的均方误差(MSE)。
  6. compute_MSE_LMMSE: 计算LMMSE的均方误差(MSE)。

在这里插入图片描述
在这里插入图片描述

运行上述代码,可以得到最小二乘估计、加权最小二乘估计和线性最小方差估计的结果以及相应的均方误差:

LSE: [ 0.00203471  0.21309766  1.05822246 -0.56680025  1.45839468]
WLS: [ 0.0597175   0.15308323  1.07124848 -0.59091883  1.47423845]
LMMSE: [-0.13400144  0.04498152  0.8584689  -0.71304874  1.25876277]
MSE_LSE: 5.008474
MSE_WLS: 0.13285989867054735
MSE_LMMSE: 1.2825935217514267

结论

在实际应用中,选择合适的估计方法和准确地整定其参数是确保估计质量的关键。本文通过Python代码展示了如何计算最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计(LMMSE),并计算了相应的均方误差(MSE)。这些方法各有优缺点,选择合适的方法取决于具体的应用场景和数据特性。

LSE适用于误差均方同分布的情况,而WLS适用于误差方差不同的情况。LMMSE则结合了观测误差和先验信息,在有先验信息的情况下表现较好。通过正确选择和使用这些方法,可以有效地提高参数估计的精度和可靠性。

希望这篇博客能够帮助您理解和应用最小二乘估计、加权最小二乘估计和线性最小方差估计。如果有任何问题或建议,欢迎在评论区留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wifi贴码推广哪家靠谱?

如今越来越多的人想轻资产创业,WIFI贴码是共享行业最无成本的创业项目了,而在选择厂商的时候,大家就想要知道哪家公司靠谱,更好、更便宜、可靠。那么wifi贴码推广哪家靠谱?别急,下面小编将带你一起了解。 目…

OpenAI开始训练新的前沿模型——但GPT-5至少在90天内不会推出

ChatGPT 制造商 OpenAI 今早宣布,已开始训练其新的“前沿模型”,并成立了一个新的安全委员会,由现任董事会成员 Bret Taylor(OpenAI 董事会主席兼客户服务初创公司 Sierra AI 联合创始人、前谷歌地图负责人和前 Facebook 首席技术…

BGP路由策略实验

一、实验拓扑 二、IP分配(骨干) R1: 0/0/0 15.0.0.1 24 0/0/1 18.0.0.2 24 0/0/2 19.0.0.1 24 R2: 0/0/0 16.0.0.1 24 0/0/1 15.0.0.2 24 R3: 0/0/0 17.0.0.2 24 0/0/1 18.0.0.1 24 R4: 0/0/0 16.0…

元宇宙vr工业产品展示空间降低研发成本

元宇宙产品虚拟展厅搭建编辑器为您提供了一个自助式元宇宙场景搭建的绝佳平台。无论您是设计公司、摄影公司、营销公司还是教育机构,我们都能为您量身打造专属的元宇宙解决方案,满足您的多样化需求。 元宇宙产品虚拟展厅搭建编辑器具备强大的3D编辑功能&…

【吊打面试官系列】Java高并发篇 - ThreadLocal 是什么?有什么用?

大家好,我是锋哥。今天分享关于 【ThreadLocal 是什么?有什么用?】面试题,希望对大家有帮助; ThreadLocal 是什么?有什么用? ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该…

dust3r部署踩坑全记录

目前dust3r是三维重建最新最好的技术,运用了ViT编码器、Transformer、注意力机制、回归等技术,无需相机参数标定。 但是我部署过程中有很多坑,记录一下。 1.OSError: CUDA_HOME environment variable is not set. Please set it to your CU…

数字工厂管理系统可以和哪些软件集成

随着工业4.0时代的到来,数字工厂管理系统已成为制造业转型升级的核心驱动力。数字工厂管理系统通过集成各种软件和技术,实现了生产过程的数字化、网络化和智能化,大大提高了生产效率和管理水平。本文将探讨数字工厂管理系统可以与哪些软件集成…

Axure RP软件汉化操作步骤

随着互联网产业的发展,设计师已经成为一个越来越受欢迎的职业,设计软件已经成为设计师必不可少的工具。说到设计软件,不得不说的是 Axure rp ,越来越多的设计师使用它来设计产品原型,作为美国 Axure Software Solution…

OrangePi Kunpeng Pro体验——安装Hass与驱动SPI小屏幕

OrangePi Kunpeng Pro 是一款面向开发者和爱好者的高性能开发板。在本次测评中,主要将以前的一些代码在该开发板上实现,包括docker部署hass,引脚驱动SPI小屏幕。中间遇到了一些小小问题,但都成功了,一起来试试吧~ 一、…

删除中间节点

题目链接 删除中间节点 题目描述 注意点 node既不是链表头节点,也不是链表尾节点 解答思路 将当前节点的值替换为下一个节点的值,并将当前节点的next指针设置为下一个节点的next指针,可以理解为删除了当前节点 代码 /*** Definition f…

考研计组chap1计算机系统概述

目录 一、计算机发展历程(不考了) 二、计算机硬件的基本组成 3 1.五个部分 (1)输入设备 (2)控制器 (3)运算器 (4)(主)存储器 (5&#xff0…

被忽视的模块化领域:聚合、结算与执行层

原文标题:《Aggregation, settlement, execution》撰文:Bridget Harris 编译:Chris,Techub News 在关注度和创新方面,模块化堆栈的各个部分并不一样,虽然之前有许多项目在数据可用性(DA&#xf…

[AI OpenAI] OpenAI董事会成立安全与保障委员会

这个新委员会负责就所有OpenAI项目的关键安全和保障决策提出建议;在90天内提出建议。 今天,OpenAI董事会成立了一个由主席Bret Taylor、Adam D’Angelo、Nicole Seligman和Sam Altman(CEO)领导的安全与保障委员会。该委员会将负责…

虹科Pico汽车示波器 | 免拆诊断案例 | 2017款吉利帝豪GL车发动机偶尔无法起动

故障现象  一辆2017款吉利帝豪GL车,搭载JLC-4G18发动机和手动变速器,累计行驶里程约为39.3万km。车主反映,该车发动机偶尔无法起动。故障发生频率比较频繁,冷机状态下故障比较容易出现。 故障诊断  接车后试车,故…

【Windows】本地磁盘挂载 Minio 桶

目录 1.软件安装安装winfsp支持安装rclone 2.新建rclone远程存储类型S3服务类型验证方式地区终端地址ACL服务端加密KMS 3.挂载存储盘 1.软件安装 安装winfsp支持 下载地址 或 下载地址2 文件为msi文件,下载后双击直接安装即可,可以选择安装路径 安装r…

手机号码携号转网查询保障用户权益、信息透明、优化用户体验

携号转网服务是指在同一本地网范围内,蜂窝移动通信用户(不含物联网用户)变更签约的基础电信业务经营者而用户号码保持不变的一项服务。近年来,随着通信行业的不断发展,携号转网服务已成为满足用户个性化需求、提升服务…

Strust2 远程代码执行漏洞[s2-005]

漏洞复现环境搭建请参考 http://t.csdnimg.cn/rZ34p kali切换jdk版本请参考 Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客 漏洞原理 Strust2会将http的每个参数名解析成为OGNL语句执行,OGNL表达式通过#来访问Struts的对象,并且通过过…

JS裁剪图片底部的水印

效果 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Image Popup</title><style>…

达梦 结果拼接=多行结果返回一列字符串.

sql 转换 查询出多行数据 (select t.PROPERTY from JD_CODING t left join DELIVERY_OF c on t.VALUE c.TYPE where t.PROPERTY stackingType group by t.PROPERTY) 更改后 转为一列的拼接字符串 ( select listagg( distinct t.PROPERTY,,) within group ( order by t.P…

MiniPCIe/SATA双用插槽无法识别minipcie模块怎么回事!

在计算机和嵌入式系统设计中,MiniPCIe/SATA双用插槽作为一种高度集成的解决方案,提供了极大的灵活性与扩展能力。它不仅能够支持MiniPCIe接口的无线网卡、固态硬盘控制器等模块,还能适应SATA接口的硬盘或固态存储设备,大大丰富了系统配置的可能性。尽管设计初衷良好,但在实…