在二维空间中用椭圆表示不确定性

news2024/11/14 15:00:29

在二维空间中用椭圆表示不确定性

flyfish

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse

# 生成示例数据
np.random.seed(0)
data = np.random.multivariate_normal([0, 0], [[4, 2], [2, 3]], size=500)

# 计算均值和协方差矩阵
mean = np.mean(data, axis=0)
covariance = np.cov(data, rowvar=False)

# 计算特征值和特征向量
eigvals, eigvecs = np.linalg.eigh(covariance)

# 绘制数据点
fig, ax = plt.subplots()
ax.scatter(data[:, 0], data[:, 1], s=10, alpha=0.5)

# 绘制特征向量
for i in range(len(eigvals)):
    eigvec = eigvecs[:, i]
    start, end = mean, mean + 2 * np.sqrt(eigvals[i]) * eigvec
    ax.annotate('', xy=end, xytext=start,
                arrowprops=dict(facecolor='red', width=2.0))

# 绘制协方差椭圆
def plot_covariance_ellipse(mean, cov, ax, color='blue', n_std=2):
    eigvals, eigvecs = np.linalg.eigh(cov)
    order = eigvals.argsort()[::-1]
    eigvals, eigvecs = eigvals[order], eigvecs[:, order]
    angle = np.degrees(np.arctan2(*eigvecs[:, 0][::-1]))
    width, height = 2 * n_std * np.sqrt(eigvals)
    ellipse = Ellipse(xy=mean, width=width, height=height, angle=angle, 
                      edgecolor=color, facecolor='none')
    ax.add_patch(ellipse)

plot_covariance_ellipse(mean, covariance, ax, color='blue')

# 设置图表
ax.set_xlim(-10, 10)
ax.set_ylim(-10, 10)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_title('Data Points, Eigenvectors, and Covariance Ellipse')
plt.grid()
plt.show()

在这里插入图片描述

协方差矩阵和椭圆的关系

协方差矩阵 Σ \Sigma Σ 描述了多变量正态分布的形状和方向。在二维情况下,它是一个 2 × 2 2 \times 2 2×2 的矩阵: Σ = ( σ x x σ x y σ x y σ y y ) \Sigma = \begin{pmatrix} \sigma_{xx} & \sigma_{xy} \\ \sigma_{xy} & \sigma_{yy} \end{pmatrix} Σ=(σxxσxyσxyσyy)

特征值和特征向量
  • 特征值 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2 是协方差矩阵的特征值,它们表示分布在特征向量方向上的方差。

  • 特征向量 v 1 \mathbf{v}_1 v1 v 2 \mathbf{v}_2 v2 是协方差矩阵的特征向量,它们表示分布的主要方向。

特征值和特征向量的关系如下:
Σ v i = λ i v i \Sigma \mathbf{v}_i = \lambda_i \mathbf{v}_i Σvi=λivi
其中 v i \mathbf{v}_i vi 是特征向量, λ i \lambda_i λi 是对应的特征值。

椭圆的构造

在二维空间中,椭圆可以表示为:
x T Σ − 1 x = c \mathbf{x}^T \Sigma^{-1} \mathbf{x} = c xTΣ1x=c
其中 x \mathbf{x} x 是一个二维向量, c c c 是一个常数,通常取决于所选的置信水平。例如,对于95%的置信椭圆, c = χ 0.95 2 ( 2 ) c = \chi^2_{0.95}(2) c=χ0.952(2),这里的 χ 0.95 2 ( 2 ) \chi^2_{0.95}(2) χ0.952(2) 是卡方分布的95%分位数,具有2个自由度。

椭圆的几何解释

  • 中心 :椭圆的中心是数据的均值向量 μ \mu μ

  • 轴的方向 :椭圆的主轴方向由协方差矩阵的特征向量决定。

  • 轴的长度 :椭圆的轴长度由特征值的平方根决定,长轴为 2 λ 1 2\sqrt{\lambda_1} 2λ1 ,短轴为 2 λ 2 2\sqrt{\lambda_2} 2λ2

数学推导

考虑一个二维正态分布,其概率密度函数为:
f ( x ) = 1 2 π ∣ Σ ∣ 1 / 2 exp ⁡ ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) f(\mathbf{x}) = \frac{1}{2\pi|\Sigma|^{1/2}} \exp\left(-\frac{1}{2} (\mathbf{x} - \mu)^T \Sigma^{-1} (\mathbf{x} - \mu)\right) f(x)=2π∣Σ1/21exp(21(xμ)TΣ1(xμ))

在等概率密度下(即椭圆上的点),指数部分是常数:
( x − μ ) T Σ − 1 ( x − μ ) = constant (\mathbf{x} - \mu)^T \Sigma^{-1} (\mathbf{x} - \mu) = \text{constant} (xμ)TΣ1(xμ)=constant

这就是椭圆的方程。

椭圆公式的具体形式

如果协方差矩阵的特征值和特征向量分别为 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2 v 1 , v 2 \mathbf{v}_1, \mathbf{v}_2 v1,v2,则椭圆的参数如下:

  • 长轴方向 :特征向量 v 1 \mathbf{v}_1 v1

  • 短轴方向 :特征向量 v 2 \mathbf{v}_2 v2

  • 长轴长度 2 λ 1 2 \sqrt{\lambda_1} 2λ1

  • 短轴长度 2 λ 2 2 \sqrt{\lambda_2} 2λ2

椭圆

  1. 计算特征值和特征向量 :通过协方差矩阵。

  2. 确定椭圆的旋转角度 :由主要特征向量的方向决定。

  3. 确定椭圆的轴长度 :由特征值的平方根决定。

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

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

相关文章

使用node把任意网站封装为可执行文件

直接上步骤: 1. node.js 环境准备 下载地址 那个版本都行,下一步->下一步 安装即可 2. windows 系统下, 快捷键 winr ->输入 cmd -> 回车 3. 执行第一个命令,安装 nativefier 等一段时间 npm install nativefier -g 4…

GitHub爆赞!最适合新手入门的教程——笨方法学Python 3

“Python 是一门既容易上手又强大的编程语言。”这句话本身并无大碍,但需要注意的是,正因为它既好学又好用,所以很多 Python 程序员只用到了其强大功能的一小部分。 今天给小伙伴们分享的这份手册以习题的方式引导读者一步一步学习编程&…

VMware 虚拟机共享宿主机文件夹

一、背景 在虚拟机中,需要写文件到宿主机的文件系统中 宿主机的文件共享给虚拟机使用 这些场景就涉及到VM的虚拟机怎么访问宿主机的磁盘文件夹 二、软件背景 宿主机:window机器,本文是win7 虚拟软件:VMware12.5.6&#xff0…

js文件导出功能

效果图&#xff1a; 代码示例&#xff1a; <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title>html 表格导出道</title><script src"js/jquery-3.6.3.js"></script><st…

Office--加载宏-CS上线

免责声明:本文仅做技术交流与学习... 目录 关于宏上线的格式: 操作流程: 其他office文本的上线格式一样: 关于宏上线的格式: doc宏病毒: 1-生成格式为dotm 只要点启用宏就上线 2-生成格式为()word 97-2003 .doc) 被杀 操作流…

Qt入门小项目 | 实现一个图片查看器

文章目录 一、实现一个图片查看软件 一、实现一个图片查看软件 需要实现的功能&#xff1a; 打开目录选择图片显示图片的名字显示图片 在以上功能的基础上进行优化&#xff0c;需要解决如下问题&#xff1a; 如何记住上次打开的路径&#xff1f; 将路径保存到配置文件中&#x…

LabVIEW在SpaceX的应用

结合真实的资料介绍LabVIEW在SpaceX的应用&#xff0c;涵盖自动化测试系统、数据采集与监控、可视化与分析、模块化设计与扩展&#xff0c;以及效率与可靠性的提高。 ​ 自动化测试系统 LabVIEW在SpaceX的自动化测试系统中发挥了关键作用。自动化测试是确保SpaceX火箭及其子系…

Android焦点机制结合WMS

文章前提&#xff1a; 了解WMS基本作用了解window的概念&#xff0c;phoneWindow&#xff0c;rootViewImpl了解view的事件分发 开始&#xff1a; 讲三件事情&#xff1a; window的创建&#xff0c;更新焦点的更新事件的分发 Window的创建&#xff0c;更新&#xff1a; wi…

IT入门知识第二部分《编程语言》(2/10)

目录 IT入门知识博客文章大纲第二部分《编程语言》 1.引言 2.编程语言概述 2.1 编程语言的发展历程 2.2 编程范式 3.常见的编程语言 3.1 Python 3.2 Java 3.3 C 3.4 JavaScript 3.5 Ruby 4.编程语言的选择 4.1 技术需求 4.2 团队技能 4.3 社区和生态系统 4.4 可…

经验分享,CRC(循环冗余校验)在线计算

这里分享一个好用的在线计算CRC的网站。 网址&#xff1a;http://www.ip33.com/crc.html 截图&#xff1a;

Linux - 进程

一、什么是进程 首先&#xff0c;Linux是一个多用户多进程的操作系统&#xff0c;系统上可以同时运行多个进程。 进程的产生&#xff1a;①是在执行程序或者命令时产生的&#xff1b;②定时任务进程 进程的类型&#xff1a;前台进程/后台进程 前台进程&#xff1a;一个终端…

之所以选择天津工业大学,因为它是双一流、报考难度适宜,性价比高!天津工业大学计算机考研考情分析!

天津工业大学&#xff08;Tiangong University&#xff09;&#xff0c;简称“天工大”&#xff0c;位于天津市&#xff0c;是教育部与天津市共建高校、国家国防科技工业局和天津市共建的天津市重点建设高校、国家“双一流”建设高校、天津市高水平特色大学建设高校、中国研究生…

[Linux] 其他命令

cat cat是用法极多的一个命令&#xff1a; 1.输入输出 如果不加任何修饰&#xff0c;只一个cat&#xff0c;它是&#xff1a; 标准输入设备&#xff08;键盘&#xff09;——》标准输出设备&#xff08;显示器&#xff09; 显示文件内容&#xff1a; cat filename 输入重定向&a…

从0开始C++(二):类、对象、封装

目录 类&对象的概念 类的内容 对象的创建 ● 栈内存对象 ● 堆内存对象 封装 类&对象的概念 类和对象是一个比较抽象的概念&#xff0c;这里直接用一个实例方便理解。 类&#xff1a;类是一个抽象的概念&#xff0c;用来描述同一类对象的特点&#xff08;比如&am…

深圳中小企业融资攻略,贷款方法大盘点!

中小企业融资这事&#xff0c;可不是一个简单的事情。资金对中小企业来说&#xff0c;就像血液对人体一样重要。企业发展离不开资金支持&#xff0c;特别是在今年这个环境下&#xff0c;政策对中小企业还挺友好的。今天讲解一下中小微企业常用的几种贷款方法。希望能让大家更明…

Weaver E-Office v9.5 文件上传漏洞(CVE-2023-2648)

前言 CVE-2023-2648 是一个在 Weaver E-Office 9.5 版本中发现的严重漏洞。此漏洞位于文件 /inc/jquery/uploadify/uploadify.php 中&#xff0c;通过操控 Filedata 参数&#xff0c;可以进行不受限制的文件上传。这一漏洞允许攻击者上传可能包含危险类型的文件&#xff0c;并…

reason: the Java file contained parse errors

今天用Maven打包项目时发生一个错误&#xff1a; file: D:\workspace\echoo2.0-xxx-xxx-portal\src\main\java\com\echoo\service\impl\DecDataServiceImpl.java; reason: the Java file contained parse errors 打包报错显示这个类解析错误 在IDEA中没有任何错误提示 问题所…

​海康威视 isecure center 综合安防管理平台任意文件上传漏洞

文章目录 前言声明一、漏洞描述二、影响版本三、漏洞复现四、修复方案 前言 海康威视是以视频为核心的智能物联网解决方案和大数据服务提供商,业务聚焦于综合安防、大数据服务和智慧业务。 海康威视其产品包括摄像机、多屏控制器、交通产品、传输产品、存储产品、门禁产品、消…

[Linux] 文件/目录命令

pwd print working directory cd change directory cd #返回主目录 cd ..返回上级目录 cd . 不动 cd ~ 用户名 进入某用户的主目录 mkdir mkdir 目录名 mkdir -p xx/yy/zz #一次创建多重目录 rmdir remove directory 删除空目录&#xff0c;只能删除空目录&#xff0c;别的不能…

嵌入式开发十八:USART串口通信实验

上一节我们学习了串口通信的基本理论&#xff0c;串口通信是学习单片机的一个重要的一步&#xff0c;非常重要&#xff0c;这一节我们通过实验来学习串口通信的使用&#xff0c;以及串口的接收中断的使用。 一、发送单个字节uint8_t数据或者字符型数据 实现的功能&#xff1a;…