机器学习数学基础: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格式) 此数据…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
