机器学习数学基础: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格式) 此数据…...
WinForm项目中的并发控制
引言 在编写WinForm应用程序时,处理并发问题是一个常见的挑战,尤其是在涉及数据库操作的场景中。本文将讨论如何在C#的WinForm项目中,通过SQL数据库的操作来避免并发问题,并介绍一种使用原子操作的解决方案。 问题描述 假设有一个WinForm项目,其中包含一个功能模块,需…...
突破音乐加密限制:Unlock Music实现跨平台音频自由解决方案
突破音乐加密限制:Unlock Music实现跨平台音频自由解决方案 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: …...
langchain4j 学习系列(9)-AIService与可观测性
一、基本用法1.1 定义业务接口View Code注:{{it}}是langchain4j内部约定的默认占位符名。当只有1个参数时,{{it}}在运行时,会自动替换成用户的prompt. 当然也可以强制指定参数名,就本示例而言,注释的二种写法ÿ…...
Plumbum管道与重定向完全教程:构建复杂Shell命令链
Plumbum管道与重定向完全教程:构建复杂Shell命令链 【免费下载链接】plumbum Plumbum: Shell Combinators 项目地址: https://gitcode.com/gh_mirrors/pl/plumbum Plumbum是一个强大的Python库,它让您在Python中编写shell脚本般简洁的代码&#x…...
零克云联合创始人占冰强:如何借助OpenClaw为企业AI变革提速!
3月28日,由MoltBank&聚鲸科技、AIGCLink联合主办的“赢在OpenClaw北京站”闭门分享会,在北京成功举行。本次活动聚焦AI Agent落地、AI商业场景落地、AI法律合规边界等关键议题。在演讲环节,零克云联合创始人兼COO占冰强分享了:…...
别再只记*#*#284#*#*了!揭秘小米手机日志抓取的‘售后模式’:CIT工具(*#*#6484#*#*)的隐藏用法与解读
解锁小米手机CIT工具的隐藏潜能:从硬件诊断到日志深度解析 在智能手机高度普及的今天,用户对设备问题的自主排查需求日益增长。小米手机内置的CIT工具(Customer Interface Test)作为售后服务的核心诊断利器,其实蕴藏着…...
Pixel Epic效果可视化:研报生成后自动进行事实核查与数据溯源标注演示
Pixel Epic效果可视化:研报生成后自动进行事实核查与数据溯源标注演示 1. 引言:当研报写作遇上像素冒险 在金融分析和行业研究领域,撰写高质量研究报告一直是个耗时费力的过程。传统方式下,分析师需要花费大量时间收集数据、验证…...
LosslessCut:解锁无损视频编辑的5个专业技巧
LosslessCut:解锁无损视频编辑的5个专业技巧 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字内容创作领域,视频质量与处理效率往往难以兼…...
打破设备壁垒:Sunshine让游戏自由流动的串流革命
打破设备壁垒:Sunshine让游戏自由流动的串流革命 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想象一下:你在客厅的高性能电脑上开始了一场紧张刺激的3A大…...
PyTorch张量操作实战:从基础运算到CNN应用
1. PyTorch张量基础:从概念到创建 第一次接触PyTorch张量时,我完全被各种术语搞晕了。什么标量、向量、矩阵,还有这个奇怪的"张量"词。后来才发现,其实张量就是多维数组的另一种说法,只不过在深度学习中我们…...
