当前位置: 首页 > news >正文

机器学习数学基础: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} 252310987109161565876598  = 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

概要&#xff1a; ZCC5090EA是一款5V输入&#xff0c;最大1.5A充电电流&#xff0c;支 持双 节 锂 电 池 串 联 应 用 的 升 压 充 电 管 理 I C 。ZCC5090EA集成功率MOS&#xff0c;采用异步开关架构&#xff0c; 使其在应用时仅需极少的外围器件&#xff0c;可有效减少整体 …...

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模块的代码&#xff0c;Jupyter Notebook却看不到变化&#xff1f;” 一、问题现象&#xff1a;令人抓狂的开发体验 假设你正在开发一个图像处理项目&#xff0c;项目结构如下&#xff1a; project/ ├── utils/ │ └── image_processor.py └…...

Redis 篇

一、数据结构 二、持久化方式 Redis 提供了两种主要的持久化方式&#xff0c;分别是 RDB&#xff08;Redis Database&#xff09;和 AOF&#xff08;Append Only File&#xff09;&#xff0c;此外&#xff0c;还可以同时使用这两种方式以增强数据安全性&#xff0c;以下为你…...

React + TypeScript 实战指南:用类型守护你的组件

TypeScript 为 React 开发带来了强大的类型安全保障&#xff0c;这里解析常见的一些TS写法&#xff1a; 一、组件基础类型 1. 函数组件定义 // 显式声明 Props 类型并标注返回值 interface WelcomeProps {name: string;age?: number; // 可选属性 }const Welcome: React.FC…...

从零开始:Linux环境下如何制作静态库与动态库

个人主页&#xff1a;chian-ocean 文章专栏-Linux 前言 动静态库是编程中两种主要的库类型&#xff0c;它们用于帮助开发者复用已有的代码&#xff0c;而不需要每次都从头开始编写。它们的主要区别在于链接和加载的时机、方式以及使用场景 库 库就是一些已经写好并且经过测试…...

【智能体Agent】ReAct智能体的实现思路和关键技术

基于ReAct&#xff08;Reasoning Acting&#xff09;框架的自主智能体 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相关笔记

概要总结&#xff1a; ●Zookeeper是一个开源的分布式协调服务&#xff0c;需要下载并部署在服务器上(使用cmd启动&#xff0c;windows与linux都可用)。 ●zookeeper一般用来实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。 ●有多台服…...

QT-绘画事件

实现颜色的随时调整&#xff0c;追加橡皮擦功能 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QColor> #include <QPoint> #include <QVector> #include <QMouseEvent> #include <QPainter> #include <Q…...

鸿蒙NEXT开发-端云一体化开发

注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注&#xff0c;博主会一直更新鸿蒙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光数据集&#xff08;cervical spine X-ray dataset&#xff09; 一.颈椎X光&#xff08;1248张原始图像&#xff0c;无处理&#xff0c;jpg格式&#xff09; 二&#xff0e;颈椎X光&#xff08;1000张原始图像&#xff0c;无处理&#xff0c;jpg格式&#xff09; 此数据…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...