【统计至简】【入门测试1】给定数据矩阵X,如何求其质心、中心化数据、标准化数据、格拉姆矩阵、协方差矩阵、相关系数矩阵

 给定数据矩阵X,如何求其质心、中心化数据、标准化数据、格拉姆矩阵、协方差矩阵、相关系数矩阵。
  设数据矩阵 X X X是一个 n × p n\times p n×p的矩阵,其中 n n n是样本数量, p p p是变量数量, X = ( x i j ) X = (x_{ij}) X=(xij) i = 1 , 2 , ⋯ , n i = 1,2,\cdots,n i=1,2,,n j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p

1. 质心 X ˉ \bar{X} Xˉ

  质心是数据矩阵 X X X每一列的均值所构成的向量。对于第 j j j列,其均值 x ˉ j = 1 n ∑ i = 1 n x i j \bar{x}_j=\frac{1}{n}\sum_{i = 1}^{n}x_{ij} xˉj=n1i=1nxij j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p。所以质心向量 X ˉ = ( x ˉ 1 , x ˉ 2 , ⋯ , x ˉ p ) \bar{X}=(\bar{x}_1,\bar{x}_2,\cdots,\bar{x}_p) Xˉ=(xˉ1,xˉ2,,xˉp)

2. 中心化数据 X c X_c Xc

  中心化是将数据矩阵X的每一个样本点减去其质心。中心化后的数据矩阵 X c X_c Xc的元素 x i j c = x i j − x ˉ j x_{ij}^c=x_{ij}-\bar{x}_j xijc=xijxˉj i = 1 , 2 , ⋯ , n i = 1,2,\cdots,n i=1,2,,n j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p

3. 标准化数据 X s X_s Xs

  • 首先计算每一列的标准差 s j = 1 n − 1 ∑ i = 1 n ( x i j − x ˉ j ) 2 s_j=\sqrt{\frac{1}{n - 1}\sum_{i = 1}^{n}(x_{ij}-\bar{x}_j)^2} sj=n11i=1n(xijxˉj)2 j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p
  • 标准化后的数据矩阵 X s X_s Xs的元素 x i j s = x i j − x ˉ j s j x_{ij}^s=\frac{x_{ij}-\bar{x}_j}{s_j} xijs=sjxijxˉj i = 1 , 2 , ⋯ , n i = 1,2,\cdots,n i=1,2,,n j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p
    (减均值、除方差)

4.格拉姆矩阵 G G G

  格拉姆矩阵 G G G的元素 g i j = X T X g_{ij}=X^T X gij=XTX,即 g i j = ∑ k = 1 n x k i x k j g_{ij}=\sum_{k = 1}^{n}x_{ki}x_{kj} gij=k=1nxkixkj i = 1 , 2 , ⋯ , p i = 1,2,\cdots,p i=1,2,,p j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p
(每一个元素,都是 X X X中两个向量的内积)

5.协方差矩阵 C C C

  • 协方差矩阵C可以通过中心化后的数据矩阵 X c X_c Xc来计算, C = 1 n − 1 X c T X c C=\frac{1}{n - 1}X_c^T X_c C=n11XcTXc
  • 其元素 c i j = 1 n − 1 ∑ k = 1 n ( x k i − x ˉ i ) ( x k j − x ˉ j ) c_{ij}=\frac{1}{n - 1}\sum_{k = 1}^{n}(x_{ki}-\bar{x}_i)(x_{kj}-\bar{x}_j) cij=n11k=1n(xkixˉi)(xkjxˉj) i = 1 , 2 , ⋯ , p i = 1,2,\cdots,p i=1,2,,p j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p

6.相关系数矩阵 R R R

  • 可以由标准化后的数据矩阵 X s X_s Xs来计算相关系数矩阵R, R = 1 n − 1 X s T X s R=\frac{1}{n - 1}X_s^T X_s R=n11XsTXs

  • 也可以根据协方差矩阵C计算, r i j = c i j c i i c j j r_{ij}=\frac{c_{ij}}{\sqrt{c_{ii}c_{jj}}} rij=ciicjj cij i = 1 , 2 , ⋯ , p i = 1,2,\cdots,p i=1,2,,p j = 1 , 2 , ⋯ , p j = 1,2,\cdots,p j=1,2,,p,其中 r i j r_{ij} rij是相关系数矩阵R的元素

python实现

import numpy as npdef calculate_statistics(X):# 质心centroid=np.mean(X,axis=0)# 中心化数据X_cX_centered=X-centroid# 标准化数据X_sstd_dev=np.std(X,axis=0,ddof=1)# 格拉姆矩阵Ggram_matrix=np.dot(X.T,X)# 协方差矩阵Ccov_matrix=np.cov(X,rowvar=False)# 相关系数矩阵Rcorr_matrix=np.corrcoef(X,rowvar=False)return centroid, X_centered, std_dev, gram_matrix, cov_matrix, corr_matrix# Test the function
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
centroid, X_centered, std_dev, gram_matrix, cov_matrix, corr_matrix = calculate_statistics(X)print("Centroid:", centroid)
print("Centered data:", X_centered)
print("Standard deviation:", std_dev)
print("Gram matrix:", gram_matrix)
print("Covariance matrix:", cov_matrix)
print("Correlation matrix:", corr_matrix)
Centroid: [4. 5. 6.]
Centered data: [[-3. -3. -3.][ 0.  0.  0.][ 3.  3.  3.]]
Standard deviation: [3. 3. 3.]
Gram matrix: [[ 66  78  90][ 78  93 108][ 90 108 126]]
Covariance matrix: [[9. 9. 9.][9. 9. 9.][9. 9. 9.]]
Correlation matrix: [[1. 1. 1.][1. 1. 1.][1. 1. 1.]]

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

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

相关文章

CI/CD—Jenkins、Maven安装

Jenkins简介 Jenkins 是一款广泛使用的开源持续集成和持续交付(CI/CD)工具,以下是对它的详细介绍: 基本信息 起源与发展:Jenkins 最早起源于 Hudson 项目,后来从 Hudson 项目中分离出来独立发展。自 2011 …

抽奖系统测试报告

项目链接: 管理员登录页面 项目功能: 管理员登录: 登录方式分为两种: 手机号密码登录: 正确输入密码和手机号登录 短信验证码登录: 输入手机号,等待验证码,输入验证码登录 管理员注册: 登录页面点击注册按钮即可注册管理员身份 人员管理模块: 人员管理模块分为注册…

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台 文章目录 准备工作连接设备RTMP概念ENCSHV2推流地址设置大疆Pocket 3直播设置总结 老铁们好! 很久没写软文了,今天给大家带了一个干货,如上图,大疆Pocket 3加ENC编…

【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Servlet 与 JSP 的协作:MVC 模式的雏形

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Servl…

【不是广告】华为昇腾的一小步,Pytorch的一大步

华为昇腾的一小步&#xff0c;Pytorch的一大步 关键词 首个、中国首个、全球第十、最高级别&#xff01;看看这些字眼&#xff0c;就知道事情不简单&#xff01; 书接上文《Pytorch的一小步&#xff0c;昇腾芯片的一大步》 在2023年10月4日PyTorch 2.1版本的发布博客上&…

python从入门到精通(二十六):python文件操作之Word全攻略(基于python-docx)

python文件操作之word技巧大全 word技巧基础到高级操作大全A.准备工作1. 安装python-docx库2. 导入库 B.基础操作1. 创建Word文档1.1 创建文档对象1.2 添加word标题1.3 添加word段落1.4 设置段落样式1.5 创建有序列表1.6 创建无序列表1.7添加word分页1.8 添加word图片1.9 添加w…

Debian二次开发一体化工作站:提升科研效率的智能工具

在科研领域&#xff0c;数据处理是实验成功的关键环节之一。随着实验数据的复杂性和规模不断增加&#xff0c;传统的数据处理方法已经难以满足科研人员的需求。这时&#xff0c;一体化工作站应运而生&#xff0c;成为科研实验数据处理的 “智能大脑”。 一体化工作站&#xff…

linux学习(五)(服务器审查,正常运行时间负载,身份验证日志,正在运行的服务,评估可用内存)

服务器审查 在 Linux 中审查服务器的过程包括评估服务器的性能、安全性和配置&#xff0c;以确定需要改进的领域或任何潜在问题。审查的范围可以包括检查安全增强功能、检查日志文件、审查用户帐户、分析服务器的网络配置以及检查其软件版本。 Linux 以其稳定性和安全性而闻名…

Redis- 大key

大key 什么是大key问题大key的危害大key的识别方法大key问题的解决方案数据结构优化与拆分压缩与序列化优化预防与监控机制 什么是大key问题 大Key问题是指在Redis等内存数据库中&#xff0c;某个Key对应的value数据结构过大&#xff0c;通常是指单个Key的大小超过10KB甚至达到…

C语言_数据结构总结6:链式栈

纯c语言代码&#xff0c;不涉及C 顺序栈的实现&#xff0c;欢迎查看这篇文章&#xff1a;C语言_数据结构总结5&#xff1a;顺序栈-CSDN博客 0. 结构单元 #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct Linknode { ElemType…

新品速递 | 多通道可编程衰减器+矩阵系统,如何破解复杂通信测试难题?

在无线通信技术快速迭代的今天&#xff0c;多通道可编程数字射频衰减器和衰减矩阵已成为测试领域不可或缺的核心工具。它们凭借高精度、灵活配置和强大的多通道协同能力&#xff0c;为5G、物联网、卫星通信等前沿技术的研发与验证提供了关键支持。从基站性能测试到终端设备校准…

AI自动化应用的影响

生产力的迭代也终将伴随着一代人的落幕。 2025年是AI应用爆发的开局之年&#xff0c;预计3-5年现有生产关系将出现颠覆性改革。 AI自动化对经济和就业的影响是一个复杂且多维的问题&#xff0c;其长期影响取决于技术进步、政策调控、社会适应能力等多重因素的综合作用。以下从技…

润开鸿重磅首发基于“RISC-V+OpenHarmony+星闪”的“鸿锐”AI开发平台

润开鸿重磅首发基于“RISC-VOpenHarmony星闪”的“鸿锐”AI开发平台 2月28日&#xff0c;2025中国RISC-V生态大会在北京中关村国际创新中心隆重召开。作为领先的鸿蒙生态专业技术公司和终端操作系统发行版提供商&#xff0c;以及不断推进基于RISC-V与OpenHarmony全栈开源生态构…

Java 深度复制对象:从基础到实战

目录 一、深度复制的概念二、实现深度复制的方法1. 使用序列化2. 手动实现深度复制 三、总结 在 Java 编程中&#xff0c;对象的复制是一个常见的需求。然而&#xff0c;简单的复制操作&#xff08;如直接赋值&#xff09;只会复制对象的引用&#xff0c;而不是创建一个新的对象…

C++ Primer 交换操作

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

FFmpeg-chapter7和chapter8-使用 FFmpeg 解码视频(原理篇和实站篇)

解码流程如下图 流程&#xff1a;首先&#xff0c;通过 avcodec_alloc_context3(nullptr) 分配一个 AVCodecContext 结构体&#xff0c;然后使用 avcodec_parameters_to_context 将参数复制到上下文中&#xff0c;接着通过 avcodec_find_decoder 查找指定的解码器&#xff0c;并…

2025 docker安装TiDB数据库

1.确保安装了docker和docker-compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod x /usr/local/bin/docker-compose2.编写 Docker Compose 文…

定制化开发的WooCommerce独立站商城更安全

定制化开发的WooCommerce独立站商城在安全性、交易风险控制以及整体用户体验方面有显著优势。以下是定制化开发在这些方面的具体表现&#xff1a; 1. 安全性更高 定制化开发允许开发者从底层架构开始设计和优化&#xff0c;确保网站的安全性。以下是具体表现&#xff1a; (1…

CSS【实战】模拟 html 的 title 属性(鼠标悬浮显示提示文字)

效果 原理 提示内容的定位&#xff1a;子绝父相鼠标悬浮前&#xff0c;提示内容visibility: hidden;通过 :hover 触发鼠标悬浮样式&#xff0c;提示内容变为 visibility: visible; 代码 <!DOCTYPE html> <html lang"en"><head><meta charset&qu…

K8s控制器Deployment详解

回顾 ReplicaSet 控制器,该控制器是用来维护集群中运行的 Pod 数量的&#xff0c;但是往往在实际操作的时候&#xff0c;我们反而不会去直接使用 RS&#xff0c;而是会使用更上层的控制器&#xff0c;比如说 Deployment。 Deployment 一个非常重要的功能就是实现了 Pod 的滚动…