自動控制: 最小二乘估計(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.pswp.cn/bicheng/18938.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18938.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18938.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

conda環境里安裝ffmpeg

遇到的問題 在執行腳本的時候提示: /home/xxx/anaconda3/envs/llm-asr/lib/python3.9/site-packages/pydub/utils.py:170: RuntimeWarning: Couldnt find ffmpeg or avconv - defaulting to ffmpeg, but may not workwarn("Couldnt find ffmpeg or avconv - …

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編輯功能&…

藍牙設備中的UUID

文章目錄 一、Device UUID二、Service UUID 一、Device UUID Device UUID也可以被稱作為DeviceID。 Android 設備上掃描獲取到的 deviceId 為外圍設備的 MAC 地址,相對固定。iOS 設備上掃描獲取到的 deviceId 是系統根據外圍設備 MAC 地址及發現設備的時間生成的 …

如何成為AI工程師

AI工程師(不是打標員)已經成為新一代的熱門崗位(高薪、有前景),無論你是計算機科學專業的學生,還是已經在其他技術領域工作的專業人士,可以通過以下幾點來大概了解如何成為AI工程師。 1. 技術技…

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

大家好,我是鋒哥。今天分享關于 【ThreadLocal 是什么?有什么用?】面試題,希望對大家有幫助; ThreadLocal 是什么?有什么用? ThreadLocal 是一個本地線程副本變量工具類。主要用于將私有線程和該…

dust3r部署踩坑全記錄

目前dust3r是三維重建最新最好的技術,運用了ViT編碼器、Transformer、注意力機制、回歸等技術,無需相機參數標定。 但是我部署過程中有很多坑,記錄一下。 1.OSError: CUDA_HOME environment variable is not set. Please set it to your CU…

Itme4 對象使用前進行初始化

fun(){ int a; printf("%d\n", a); cout << a << endl; //會報錯 使用了未初始化的變量a } //若a是全局變量則不會報錯 會默認初始化為0 在對象中優先使用初始化列表&#xff1a; ABEntry::ABEntry(const std::string& name, const std::string&…

數字工廠管理系統可以和哪些軟件集成

隨著工業4.0時代的到來&#xff0c;數字工廠管理系統已成為制造業轉型升級的核心驅動力。數字工廠管理系統通過集成各種軟件和技術&#xff0c;實現了生產過程的數字化、網絡化和智能化&#xff0c;大大提高了生產效率和管理水平。本文將探討數字工廠管理系統可以與哪些軟件集成…

Axure RP軟件漢化操作步驟

隨著互聯網產業的發展&#xff0c;設計師已經成為一個越來越受歡迎的職業&#xff0c;設計軟件已經成為設計師必不可少的工具。說到設計軟件&#xff0c;不得不說的是 Axure rp &#xff0c;越來越多的設計師使用它來設計產品原型&#xff0c;作為美國 Axure Software Solution…

OrangePi Kunpeng Pro體驗——安裝Hass與驅動SPI小屏幕

OrangePi Kunpeng Pro 是一款面向開發者和愛好者的高性能開發板。在本次測評中&#xff0c;主要將以前的一些代碼在該開發板上實現&#xff0c;包括docker部署hass&#xff0c;引腳驅動SPI小屏幕。中間遇到了一些小小問題&#xff0c;但都成功了&#xff0c;一起來試試吧~ 一、…

IDM有哪些優勢?

IDM&#xff08;Internet Download Manager&#xff09;作為一款功能強大的文件下載工具&#xff0c;其優勢主要體現在以下幾個方面&#xff1a; 高速下載&#xff1a; IDM采用動態分段算法&#xff0c;將文件分成多個段同時下載&#xff0c;從而顯著加快了下載速度。支持從多個…

刪除中間節點

題目鏈接 刪除中間節點 題目描述 注意點 node既不是鏈表頭節點&#xff0c;也不是鏈表尾節點 解答思路 將當前節點的值替換為下一個節點的值&#xff0c;并將當前節點的next指針設置為下一個節點的next指針&#xff0c;可以理解為刪除了當前節點 代碼 /*** Definition f…

考研計組chap1計算機系統概述

目錄 一、計算機發展歷程(不考了) 二、計算機硬件的基本組成 3 1.五個部分 &#xff08;1&#xff09;輸入設備 &#xff08;2&#xff09;控制器 &#xff08;3&#xff09;運算器 &#xff08;4&#xff09;&#xff08;主&#xff09;存儲器 &#xff08;5&#xff0…

c語言基于mmap實現的內存池

文章目錄 0. 概要1. mmap基礎2. 為什么使用內存池&#xff1f;3. 使用示例4. 設計考慮5. 實現步驟 0. 概要 c語言基于mmap實現的內存池模塊 倉庫地址&#xff1a; https://gitee.com/liudegui/mem_allocator_c 1. mmap基礎 mmap系統調用在進程的虛擬地址空間和某個文件對象或…

doxygen 1.11.0 使用詳解(十四)——輸出格式

目錄 HTMLLATEXMan pagesRTFXMLDocBookCompiled HTML Help (a.k.a. Windows 98 help)Qt Compressed Help (.qch)Eclipse HelpXCode DocSetsPostScriptPDF The following output formats are directly supported by doxygen: HTML Generated if GENERATE_HTML is set to YES i…

時政|共享員工

概念 有人稱“共享員工”就是變相的“勞務派遣”“外包”“臨時工”&#xff0c;是對勞動者的變相壓榨。專家表示&#xff0c;應從根源上理清“共享員工”的概念&#xff0c;否則會破壞正常的勞動合同秩序&#xff0c;無法讓勞動者的合法權益得到有效保障。“共享員工”是指企…

被忽視的模塊化領域:聚合、結算與執行層

原文標題&#xff1a;《Aggregation, settlement, execution》撰文&#xff1a;Bridget Harris 編譯&#xff1a;Chris&#xff0c;Techub News 在關注度和創新方面&#xff0c;模塊化堆棧的各個部分并不一樣&#xff0c;雖然之前有許多項目在數據可用性&#xff08;DA&#xf…