机器学习数学基础:39.样本和隐含和残差协方差矩阵
假设我们研究学生的数学成绩、英语成绩和学习时间之间的关系。收集了100名学生这三项数据作为样本。
样本协方差矩阵
计算得到的样本协方差矩阵如下(假设数据简化):
[ V a r ( 数学 ) C o v ( 数学 , 英语 ) C o v ( 数学 , 学习时间 ) C o v ( 英语 , 数学 ) V a r ( 英语 ) C o v ( 英语 , 学习时间 ) C o v ( 学习时间 , 数学 ) C o v ( 学习时间 , 英语 ) V a r ( 学习时间 ) ] = [ 25 10 8 10 16 6 8 6 9 ] \begin{bmatrix} Var(数学) & Cov(数学,英语) & Cov(数学,学习时间) \\ Cov(英语,数学) & Var(英语) & Cov(英语,学习时间) \\ Cov(学习时间,数学) & Cov(学习时间,英语) & Var(学习时间) \end{bmatrix} \ = \begin{bmatrix} 25 & 10 & 8 \\ 10 & 16 & 6 \\ 8 & 6 & 9 \end{bmatrix} Var(数学)Cov(英语,数学)Cov(学习时间,数学)Cov(数学,英语)Var(英语)Cov(学习时间,英语)Cov(数学,学习时间)Cov(英语,学习时间)Var(学习时间) = 2510810166869
这里 V a r ( 数学 ) Var(数学) Var(数学)表示数学成绩的方差, C o v ( 数学 , 英语 ) Cov(数学,英语) Cov(数学,英语)表示数学成绩和英语成绩的协方差,以此类推,体现了实际样本中这三个变量之间的离散和相关关系。
隐含协方差矩阵
我们构建一个结构方程模型,假设学习时间会影响数学和英语成绩,通过模型计算得到隐含协方差矩阵:
[ 23 9 7 9 15 5 7 5 8 ] \begin{bmatrix} 23 & 9 & 7 \\ 9 & 15 & 5 \\ 7 & 5 & 8 \end{bmatrix} 23979155758
这是基于我们设定的模型,推导出来的变量之间的协方差关系。
比较拟合程度
用样本协方差矩阵减去隐含协方差矩阵,得到残差矩阵:
[ 25 − 23 10 − 9 8 − 7 10 − 9 16 − 15 6 − 5 8 − 7 6 − 5 9 − 8 ] = [ 2 1 1 1 1 1 1 1 1 ] \begin{bmatrix} 25 - 23 & 10 - 9 & 8 - 7 \\ 10 - 9 & 16 - 15 & 6 - 5 \\ 8 - 7 & 6 - 5 & 9 - 8 \end{bmatrix} \ = \begin{bmatrix} 2 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix} 25−2310−98−710−916−156−58−76−59−8 = 211111111
如果残差矩阵里的元素都比较小,就说明我们构建的这个模型推导出来的变量关系,和实际样本数据中的变量关系差异不大,模型拟合较好。但如果残差矩阵元素值较大,那就说明模型和实际数据不太相符,拟合程度差。
为了让你更好地理解,下面再以一个更简单的例子详细说明隐含协方差矩阵的计算过程:
假设我们有一个非常简单的结构方程模型,只包含两个观测变量 X X X和 Y Y Y,它们都受到一个共同的潜变量 Z Z Z的影响,且模型中路径系数分别为 a a a( Z Z Z对 X X X的影响)和 b b b( Z Z Z对 Y Y Y的影响),潜变量 Z Z Z的方差为 V a r ( Z ) = σ 2 Var(Z)\ =\sigma^2 Var(Z) =σ2。
首先,根据结构方程模型的理论,观测变量 X X X和 Y Y Y的方差可以表示为:
V a r ( X ) = a 2 × V a r ( Z ) = a 2 σ 2 Var(X)\ =a^2\times Var(Z)\ =a^2\sigma^2 Var(X) =a2×Var(Z) =a2σ2
V a r ( Y ) = b 2 × V a r ( Z ) = b 2 σ 2 Var(Y)\ =b^2\times Var(Z)\ =b^2\sigma^2 Var(Y) =b2×Var(Z) =b2σ2
观测变量 X X X和 Y Y Y之间的协方差可以表示为:
C o v ( X , Y ) = a × b × V a r ( Z ) = a b σ 2 Cov(X,Y)\ =a\times b\times Var(Z)\ =ab\sigma^2 Cov(X,Y) =a×b×Var(Z) =abσ2
那么,这个模型的隐含协方差矩阵就是:
[ V a r ( X ) C o v ( X , Y ) C o v ( Y , X ) V a r ( Y ) ] = [ a 2 σ 2 a b σ 2 a b σ 2 b 2 σ 2 ] \begin{bmatrix} Var(X)&Cov(X,Y)\\ Cov(Y,X)&Var(Y) \end{bmatrix} \ = \begin{bmatrix} a^2\sigma^2&ab\sigma^2\\ ab\sigma^2&b^2\sigma^2 \end{bmatrix} [Var(X)Cov(Y,X)Cov(X,Y)Var(Y)] =[a2σ2abσ2abσ2b2σ2]
例如,假设 a = 0.6 a \ = 0.6 a =0.6, b = 0.5 b \ = 0.5 b =0.5, σ 2 = 4 \sigma^2 \ = 4 σ2 =4,则:
V a r ( X ) = a 2 σ 2 = 0. 6 2 × 4 = 1.44 Var(X)\ =a^2\sigma^2\ =0.6^2\times4 \ = 1.44 Var(X) =a2σ2 =0.62×4 =1.44
V a r ( Y ) = b 2 σ 2 = 0. 5 2 × 4 = 1 Var(Y)\ =b^2\sigma^2\ =0.5^2\times4 \ = 1 Var(Y) =b2σ2 =0.52×4 =1
C o v ( X , Y ) = a b σ 2 = 0.6 × 0.5 × 4 = 1.2 Cov(X,Y)\ =ab\sigma^2\ =0.6\times0.5\times4 \ = 1.2 Cov(X,Y) =abσ2 =0.6×0.5×4 =1.2
所以隐含协方差矩阵为:
[ 1.44 1.2 1.2 1 ] \begin{bmatrix} 1.44&1.2\\ 1.2&1 \end{bmatrix} [1.441.21.21]
这就是在这个简单的结构方程模型下,通过模型设定的参数计算得到隐含协方差矩阵的过程。在实际的结构方程模型中,可能会有更多的观测变量、潜变量以及更复杂的关系,但基本的计算原理是类似的。
相关文章:
机器学习数学基础:39.样本和隐含和残差协方差矩阵
假设我们研究学生的数学成绩、英语成绩和学习时间之间的关系。收集了100名学生这三项数据作为样本。 样本协方差矩阵 计算得到的样本协方差矩阵如下(假设数据简化): [ V a r ( 数学 ) C o v ( 数学 , 英语 ) C o v ( 数学 , 学习时间 ) C …...
java之http传MultipartFile文件
【需求】前端请求后端做文件上传或者excel上传,后端不解析直接把MultipartFile传给第三方平台,通过http的方式该怎么写 import org.springframework.web.multipart.MultipartFile;import java.io.*; import java.net.HttpURLConnection; import java.ne…...
深入解析SpringMVC中Http响应的实现机制
在Web应用开发中,处理HTTP请求并返回相应的HTTP响应是核心任务之一。SpringMVC作为Java生态中广泛使用的Web框架,提供了灵活且强大的机制来处理HTTP请求和生成HTTP响应。本文将深入探讨SpringMVC中如何实现HTTP响应的返回,涵盖从控制器方法的…...
构建一个支持精度、范围和负数的-Vue-数字输入框
分析并实现一个支持精度、范围和负数控制的数字输入框。 背景 在很多业务中,我们经常需要使用数字输入框,通常这些输入框会涉及到数字校验,比如限制输入范围、设置小数精度、是否允许负数等。每次写表单时,都需要重复定义这些校…...
尚硅谷爬虫note14
一、scrapy scrapy:为爬取网站数据是,提取结构性数据而编写的应用框架 1. 安装 pip install scrapy 或者,国内源安装 pip install scrapy -i https://pypi.douban.com/simple 2. 报错 报错1)building ‘twisted.te…...
1438. 绝对差不超过限制的最长连续子数组
目录 一、题目二、思路2.1 解题思路2.2 代码尝试2.3 疑难问题2.4 代码复盘 三、解法四、收获4.1 心得4.2 举一反三 一、题目 二、思路 2.1 解题思路 滑动窗口 2.2 代码尝试 class Solution { public:int longestSubarray(vector<int>& nums, int limit) {int cou…...
ZCC5090EA适用于TYPE-C接口,集成30V OVP功能, 最大1.5A充电电流,带NTC及使能功能,双节锂电升压充电芯片替代CS5090EA
概要: ZCC5090EA是一款5V输入,最大1.5A充电电流,支 持双 节 锂 电 池 串 联 应 用 的 升 压 充 电 管 理 I C 。ZCC5090EA集成功率MOS,采用异步开关架构, 使其在应用时仅需极少的外围器件,可有效减少整体 …...
Dify 开源大语言模型应用开发平台使用(二)
文章目录 说明Dify 使用报告1. 应用创建——专业的锂电池相关知识解答1.1 平台简介1.2 创建应用 2. 知识库、工作流、变量、节点与编排节点详解2.1 知识库管理2.2 工作流配置2.3 变量管理2.4 节点与编排节点 3. 测试和调试3.1 单元测试3.2 日志与监控3.3 实时调试3.4 性能测试 …...
【LangFuse】数据集与测试
1. 在线标注 2. 上传已有数据集 import json# 调整数据格式 {"input":{...},"expected_output":"label"} data [] with open(my_annotations.jsonl, r, encodingutf-8) as fp:for line in fp:example json.loads(line.strip())item {"i…...
【Python】如何解决Jupyter Notebook修改外部模块后必须重启内核的问题?
“为什么我修改了Python模块的代码,Jupyter Notebook却看不到变化?” 一、问题现象:令人抓狂的开发体验 假设你正在开发一个图像处理项目,项目结构如下: project/ ├── utils/ │ └── image_processor.py └…...
Redis 篇
一、数据结构 二、持久化方式 Redis 提供了两种主要的持久化方式,分别是 RDB(Redis Database)和 AOF(Append Only File),此外,还可以同时使用这两种方式以增强数据安全性,以下为你…...
React + TypeScript 实战指南:用类型守护你的组件
TypeScript 为 React 开发带来了强大的类型安全保障,这里解析常见的一些TS写法: 一、组件基础类型 1. 函数组件定义 // 显式声明 Props 类型并标注返回值 interface WelcomeProps {name: string;age?: number; // 可选属性 }const Welcome: React.FC…...
从零开始:Linux环境下如何制作静态库与动态库
个人主页:chian-ocean 文章专栏-Linux 前言 动静态库是编程中两种主要的库类型,它们用于帮助开发者复用已有的代码,而不需要每次都从头开始编写。它们的主要区别在于链接和加载的时机、方式以及使用场景 库 库就是一些已经写好并且经过测试…...
【智能体Agent】ReAct智能体的实现思路和关键技术
基于ReAct(Reasoning Acting)框架的自主智能体 import re from typing import List, Tuplefrom langchain_community.chat_message_histories.in_memory import ChatMessageHistory from langchain_core.language_models.chat_models import BaseChatM…...
Java进阶:Zookeeper相关笔记
概要总结: ●Zookeeper是一个开源的分布式协调服务,需要下载并部署在服务器上(使用cmd启动,windows与linux都可用)。 ●zookeeper一般用来实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。 ●有多台服…...
QT-绘画事件
实现颜色的随时调整,追加橡皮擦功能 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QColor> #include <QPoint> #include <QVector> #include <QMouseEvent> #include <QPainter> #include <Q…...
鸿蒙NEXT开发-端云一体化开发
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 目录 端云一体化开发基本概念 传统架构 端云一…...
大模型——股票分析AI工具开发教程
大模型——股票分析AI工具开发教程 在本教程中,我们将利用Google Gemini 2.0 Flash模型创建一个简单但有效的股票分析器。 你是否曾被大量的股票市场数据所淹没?希望有一个私人助理来筛选噪音并为您提供清晰、可操作的见解?好吧,你可以自己构建一个,而且由于 Python 的强…...
nexus 实现https 私有镜像搭建
1、安装nexus 1.1 安装JDK17 rpm -ivh jdk-17.0.13_linux-x64_bin.rpm 1.2 下载安装包解压到指定目录 tar zxvf nexus-3.77.2-02-unix.tar.gz -C /usr/local 2、运行nexus 默认8081端口 cd /usr/local/nexus-3.77.2-02 && bin/nexus start 3、配置nexus私有docker 镜…...
颈椎X光数据集(cervical spine X-ray dataset)
颈椎X光数据集(cervical spine X-ray dataset) 一.颈椎X光(1248张原始图像,无处理,jpg格式) 二.颈椎X光(1000张原始图像,无处理,jpg格式) 此数据…...
基于Next.js与Shadcn/ui的现代Web仪表盘开发实战指南
1. 项目概述与核心价值 最近在折腾一个开源项目,叫 openclaw-dashboard ,是 anis-marrouchi 大佬在 GitHub 上开源的一个仪表盘项目。光看名字,你可能会觉得这又是一个平平无奇的“又一个仪表盘”,但实际深入把玩之后&#x…...
Docker 网络模式详解:bridge、host、overlay 和 macvlan
Docker 网络模式详解:bridge、host、overlay 和 macvlan Docker 提供了多种网络模式,让容器既能灵活通信,又能实现安全隔离。无论是单机多容器应用,还是跨主机的 Swarm 集群,亦或需要直接接入物理网络的 IoT 设备&…...
Perplexity Pro高阶用法深度解密:结合Obsidian/Notion实现知识自动蒸馏的完整链路(含可复用JSON Schema)
更多请点击: https://intelliparadigm.com 第一章:Perplexity Pro高阶用法深度解密:结合Obsidian/Notion实现知识自动蒸馏的完整链路(含可复用JSON Schema) Perplexity Pro 的 API 提供了结构化响应能力,配…...
别再只会用BurpSuite了!手把手教你用ZAP(Zed Attack Proxy)给Web应用做免费安全体检
从零开始掌握ZAP:开源Web安全测试实战指南 在当今快速迭代的Web开发领域,安全测试早已不是可选项而是必选项。当大多数开发者习惯性地打开BurpSuite时,他们可能忽略了开源世界中同样强大的替代方案——Zed Attack Proxy(ZAP&#…...
Windows热键冲突检测终极方案:Hotkey Detective一键定位占用程序
Windows热键冲突检测终极方案:Hotkey Detective一键定位占用程序 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...
CA-IS3741:四通道高速数字隔离芯片的选型、实测与光耦替代实战
1. 为什么需要高速数字隔离芯片? 在工业自动化、医疗设备、新能源等领域的电子系统中,不同模块之间经常需要进行电气隔离。传统的光耦器件(如PC817、TLP521等)虽然成本低廉,但在高速信号传输场景下暴露出明显短板。我曾…...
量子错误校正与离子阱系统的混合编码优化
1. 量子错误校正与离子阱系统的现状与挑战量子计算领域正经历着从NISQ(含噪声中等规模量子)时代向容错量子计算(FTQC)过渡的关键阶段。作为这一过渡的核心技术,量子错误校正(QEC)通过将逻辑量子…...
深入解析ACP Bridge:构建高效微服务通信与数据同步的协议转换桥梁
1. 项目概述与核心价值最近在折腾一个跨平台数据同步的项目,遇到了一个挺有意思的组件——allvegetable/acp-bridge。乍一看这个名字,可能会有点摸不着头脑,acp是什么?bridge又在这里扮演什么角色?实际上,这…...
别再被AD值乱跳搞懵了!CS1237电子秤芯片的5个硬件设计避坑点(附电路图)
别再被AD值乱跳搞懵了!CS1237电子秤芯片的5个硬件设计避坑点(附电路图) 电子秤设计中最令人头疼的莫过于AD值不稳定问题。作为一款高精度Σ-Δ ADC芯片,CS1237在电子秤、压力测量等领域应用广泛,但硬件设计中的细微偏差…...
Adafruit统一传感器驱动:嵌入式开发中的硬件抽象与数据标准化实践
1. 项目概述:为什么我们需要传感器数据标准化?在嵌入式开发领域,尤其是物联网和智能硬件项目中,传感器是连接物理世界与数字世界的桥梁。然而,但凡有过实际项目经验的开发者,都或多或少经历过这样的困扰&am…...
