Python和C++及R相关系数数学统计学可视化和神经模型及评估指标

🎯要点

  1. 较少统计样本显著性评估和变量关系梳理
  2. 功能磁共振成像一致性分析
  3. 检测非单调关联性结构
  4. 随机变量动力学相关性
  5. 热图和矩阵图基因疫苗非线性变量相关性
    在这里插入图片描述

Python相关矩阵

相关矩阵

n n n 个随机变量 X 1 , … , X n X_1, \ldots, X_n X1,,Xn 的相关矩阵是 n × n n \times n n×n 矩阵 C C C,其 ( i , j ) (i, j) (i,j) 条目为
c i j : = corr ⁡ ( X i , X j ) = cov ⁡ ( X i , X j ) σ X i σ X j , if  σ X i σ X j > 0 c_{i j}:=\operatorname{corr}\left(X_i, X_j\right)=\frac{\operatorname{cov}\left(X_i, X_j\right)}{\sigma_{X_i} \sigma_{X_j}}, \quad \text { if } \sigma_{X_i} \sigma_{X_j}>0 cij:=corr(Xi,Xj)=σXiσXjcov(Xi,Xj), if σXiσXj>0
因此对角线条目都是相同的。如果使用的相关性度量是乘积矩系数,则相关矩阵与标准化随机变量 X i / σ ( X i ) X_i / \sigma\left(X_i\right) Xi/σ(Xi) 的协方差矩阵相同,其中 $i=1, \dots, n $。这既适用于总体相关性矩阵(在这种情况下 σ \sigma σ 是总体标准差),也适用于样本相关性矩阵(在这种情况下 σ \sigma σ 表示样本标准差)。因此,每个矩阵都必然是正半定矩阵。此外,如果没有变量可以将其所有值精确地生成为其他变量值的线性函数,则相关矩阵是严格正定的。

相关矩阵是对称的,因为 X i X_i Xi X j X_j Xj 之间的相关性与 X j X_j Xj X i X_i Xi 之间的相关性相同。例如,相关矩阵出现在多重确定系数的一个公式中,多重确定系数是多重回归中拟合优度的一种度量。

在统计建模中,表示变量之间关系的相关矩阵被分为不同的相关结构,这些结构通过估计它们所需的参数数量等因素来区分。例如,在可交换相关矩阵中,所有变量对都被建模为具有相同的相关性,因此矩阵的所有非对角元素彼此相等。另一方面,当变量表示时间序列时,通常使用自回归矩阵,因为当测量时间更接近时,相关性可能会更大。

相关矩阵市场应用

让我们考虑相关矩阵在识别线性相关的股票中的应用。下面是使用 yfinance Python 库检索几只大型科技股的历史定价数据的一些示例代码。

import yfinance as yf
import pandas as pdtickers = ['msft', 'aapl', 'tsla', 'nvda', 'goog']
df = yf.download(ticker=tickers, period='6mo')['Adj Close']# ResultAAPL         GOOG        MSFT        NVDA        TSLA
Date                                                                   
2021-01-22  138.627029  1901.050049  224.911453  137.046280  846.640015
2021-01-25  142.464767  1899.400024  228.474991  136.454132  880.799988
2021-01-26  142.704010  1917.239990  231.262131  134.275360  883.090027
2021-01-27  141.607513  1830.790039  231.829514  129.103348  864.159973
2021-01-28  136.653336  1863.109985  237.831787  130.435074  835.429993
...                ...          ...         ...         ...         ...
2021-07-15  148.479996  2625.330078  281.029999  189.662506  650.599976
2021-07-16  146.389999  2636.909912  280.750000  181.610001  644.219971
2021-07-19  142.449997  2585.080078  277.010010  187.797501  646.219971
2021-07-20  146.149994  2622.030029  279.320007  186.119995  660.500000
2021-07-21  145.399994  2652.010010  281.399994  194.100006  655.289978

yfinance download() 方法默认提供开盘价-最高价-最低价-收盘价 (OHLC) 数据,包括开盘价、最高价、最低价、收盘价、成交量、调整收盘价。这里我们仅提取了过去 6 个月内每只股票每日调整收盘价数据。

鉴于这些股票都来自同一行业,并且是市场上交易量最大的股票,因此它们的价格很有可能会一起变动。也就是说,当 M S F T MSFT MSFT 的价格上涨时, G O O G GOOG GOOG 的价格很可能也会上涨。不过,这只是猜测,让我们创建一个相关矩阵来验证我们的假设。

>>> data.corr()# ResultAAPL      GOOG      MSFT      NVDA      TSLA
AAPL  1.000000  0.429290  0.708614  0.634802  0.407953
GOOG  0.429290  1.000000  0.894801  0.882468 -0.535120
MSFT  0.708614  0.894801  1.000000  0.911506 -0.218011
NVDA  0.634802  0.882468  0.911506  1.000000 -0.243408
TSLA  0.407953 -0.535120 -0.218011 -0.243408  1.000000

这些结果详细列出了 6 个月期间每只股票调整后收盘价之间的相关系数,可供交叉引用。请注意,1.0 的值从左上角向右下角对角移动。这些值反映了完美的相关性,因为它们引用的是同一只股票。换句话说,$AAPL 和 $AAPL 之间的相关系数为 1.0,因为它们始终完全相同!

矩阵中的相关系数介于 -1 到 1 之间,其中 -1 表示完全负相关,0 表示无相关,1 表示完全正相关。考虑这些值可以让我们识别价格一起变动的不同股票,无论是正向变动还是负向变动。关于如何解释这些结果,存在不同的学派,但一般来说,高于 .7 和低于 -.7 的值被视为可能存在共线性的危险信号。在这种情况下,应进行进一步调查,以确保得到的线性模型具有最小的误差。

上面的表格非常有见地,但在解释大型数据集时,它并不是最友好的格式。相关矩阵在其他应用中很有用,例如对特征工程等应用程序的变量进行快速初步评估。在这些情况下,使用一种更直观的格式,称为热图。

matplotlib 和 seaborn 都提供了生成这些可视化效果的宝贵工具。让我们使用seaborn 生成一个相关矩阵热图来直观地表示我们的定价相关性。

import seaborn as sns
import matplotlib.pyplot as pltcmap = sns.diverging_palette(230, 20, as_cmap=True)sns.heatmap(data=data.corr(),  linewidths=0.3,  square=True,   cmap=cmap,  vmax=1,  vmin=-1, center=0, cbar_kws={"shrink": .75}  )plt.yticks(rotation=0)  
plot.show()

在此热图中,最接近深棕色的值表示更强的正相关性。那些更接近深蓝色的值表示更强的正负相关性。由于相关矩阵中数据组织的性质,存在大量冗余数据。例如,从左上角到右下角对角线上方的每个单元格都是下半部分的重复。我们可以通过在之前的代码中添加掩码来减少这些:

import numpy as npmask = np.triu(np.ones_like(data.corr(), dtype=bool))
np.fill_diagonal(mask, False)  # keeps the diagonal[[False  True  True  True  True][False False  True  True  True][False False False  True  True][False False False False  True][False False False False False]]sns.heatmap(..., mask=mask, ...)

通过从我们的可视化中删除冗余数据,我们创建了一种更高效的技术股相关系数关系表示。从这种映射中获得的见解可以帮助确定在应用程序中应使用哪些特征,例如使用线性回归预测股价或为更复杂的建模设计特征。

从交易者/投资者角度理解相关矩阵

  • 分散化:交易者可以使用相关矩阵来识别弱相关或负相关的股票,从而帮助他们分散投资组合。通过投资不朝同一方向变动的股票,交易者可以潜在地降低其投资组合的整体风险。
  • 风险管理:相关性分析可以通过突出显示倾向于共同波动的股票来帮助交易者识别和管理风险。通过了解这些关系,交易者可以调整头寸并对冲潜在的损失。
  • 市场情绪分析:相关矩阵还可以提供对市场情绪的洞察。例如,如果某个行业或市场中的大多数股票高度相关,则可能表明它们都受到共同因素的影响,例如广泛的市场趋势、经济状况或地缘政治事件。这些信息可以帮助交易者对其投资做出明智的决策。

👉更新:亚图跨际

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

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

相关文章

CTF流量分析题目一把梭,零基础入门到精通,收藏这一篇就够了

https://github.com/Arinue/CTF-NetA CTF-NetA是一款专门针对CTF比赛的网络流量分析工具,可以对常见的网络流量进行分析,快速自动获取flag。而且是有gui图形界面的,有了它即使小白也能轻松应对流量分析题目,不得不说这CTF工具太专…

论文笔记:交替单模态适应的多模态表征学习

整理了CVPR2024 Multimodal Representation Learning by Alternating Unimodal Adaptation)论文的阅读笔记 背景MLA框架实验Q1 与之前的方法相比,MLA能否克服模态懒惰并提高多模态学习性能?Q2 MLA在面临模式缺失的挑战时表现如何?Q3 所有模块是否可以有…

Java 多态(难)

1. 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。 2.一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。 举例说明:新建两个类,Person类和Student类,Student类继承Person类&#xff1a…

【学习笔记】数据结构(六 ①)

树和二叉树 (一) 文章目录 树和二叉树 (一)6.1 树(Tree)的定义和基本术语6.2 二叉树6.2.1 二叉树的定义1、斜树2、满二叉树3、完全二叉树4、二叉排序树5、平衡二叉树(AVL树)6、红黑树 6.2.2 二叉树的性质6.…

Linux启动流程,0,1,2进程,init进程,idle进程,内核态到用户态的kernel_execve(一)

?是,如果定义了,就按Makefile的,如果如下make编译时,就按如下 linux内核入口 进程0在用户空间看不到,因为他是内核进程 进程2就是守护进程,维护内涵运转的 一生二,二生三&#xff…

Redis中Hash(哈希)类型的基本操作

文章目录 一、 哈希简介二、常用命令hsethgethexistshdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhincrbyfloathstrlen 三、命令小结四、哈希内部编码方式五、典型应用场景六、 字符串,序列化,哈希对比 一、 哈希简介 几乎所有的主流编程语言都提供了哈…

CANopen开源库canfestival的移植

本文记录将CANopen开源库CANfestival移植到GD32F470单片机的过程。CANopen协议理解请参考博客:CANopen协议的理解-CSDN博客 CANfestival开源库下载链接 CSDN链接: https://download.csdn.net/download/heqiunong/89774627 官网链接:https:/…

智能BI项目第五期

本期主要内容 系统问题分析异步化业务流程分析线程池讲解(入门 原理 实战)系统异步化改造开发 1.系统问题分析 当系统面临大量用户请求时,我们后端的 AI 处理能力有限,例如服务器的内存、CPU、网络带宽等资源有限&#xff0c…

基于微信小程序的游泳馆管理系统--论文源码调试讲解

2 关键技术介绍 2.1 SSM框架 开发信息管理系统的主流框架是SSM(Spring Spring MVC MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框…

redis分布式锁(看门枸机制)

分布式锁确保在同一时间只有一个节点能获得对共享资源的独占访问权限&#xff0c;从而解决并发访问问题。 Redisson锁(简称看门狗) 它可以实现锁的延长&#xff0c;确保某个线程执行完才能让其他线程进行抢锁操作 引入看门狗机制后 如何使用&#xff1f; 1、引入依赖包 <…

Java数据结构专栏介绍

专栏导读 在软件工程的世界里&#xff0c;数据结构是构建高效、可靠程序的基石。"Java数据结构"专栏致力于为Java开发者提供一个全面、深入的学习平台&#xff0c;帮助他们掌握各种数据结构的原理、实现及其在Java中的应用。通过这个专栏&#xff0c;读者将能够提升…

【第34章】Spring Cloud之SkyWalking分布式日志

文章目录 前言一、准备1. 引入依赖 二、日志配置1. 打印追踪ID2. gRPC 导出 三、完整日志配置四、日志展示1. 前端2. 后端 总结 前言 前面已经完成了请求的链路追踪&#xff0c;这里我们通过SkyWalking来处理分布式日志&#xff1b; 场景描述&#xff1a;我们有三个服务消费者…

Hive企业级调优[3]—— Explain 查看执行计划

Explain 查看执行计划 Explain 执行计划概述 EXPLAIN 命令呈现的执行计划由一系列 Stage 组成。这些 Stage 之间存在依赖关系&#xff0c;每一个 Stage 可能对应一个 MapReduce Job 或者一个文件系统的操作等。如果某 Stage 对应了一个 MapReduce Job&#xff0c;则该 Job 在 …

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【内核通信机制】下

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 子系统开发内核 轻量系统内核&#xff08;LiteOS-M&#xff09; 轻量系统内核&#…

微信支付开发-后台统计工厂实现

一、数据库设计图 二、后端统计工厂逻辑 1、统计父抽象类 a、StatisticsHandle.php 2、统计工厂通道类 a、StatisticsFactory.php 3、查询实现类 a、答题统计(Answer.php) 三、后端统计工厂代码实现 1、统计父抽象类(StatisticsHandle.php) <?php /*** 统计父抽象类* Use…

VirtualBox 7.1.0 发布下载 - 开源跨平台虚拟化软件

VirtualBox 7.1.0 (macOS, Linux, Windows) - 开源跨平台虚拟化软件 Oracle VM VirtualBox 7 请访问原文链接&#xff1a;https://sysin.org/blog/virtualbox-7/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 2024 年 9 月 …

Redis面试真题总结(三)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 什么是缓存雪崩&#xff1f;该如何解决&#xff1f; 缓存雪崩是指…

算法课习题汇总(2)

整数划分问题 将正整数n表示成一系列正整数之和&#xff0c;nn1n2…nk(n1>n2>…>nk,k>1)。正整数n的这种表示称为正整数n的划分。 思路&#xff1a; n表示待划分数&#xff0c;m表示最大减数。 #include<iostream> using namespace std;int q(int n, int…

面试题给图例举测试用例或测试点

目录 从功能测试的角度考虑&#xff1a; 从性能角度考虑&#xff1a; 从兼容性的角度考虑&#xff1a; 从自动化角度考虑&#xff1a; 从安全性角度考虑&#xff1a; 用户体验的角度测试&#xff1a; 面试通常会有技术和人事两种&#xff0c;侧重点不一样。 今天聊一下测…

Qt日志输出及QsLog日志库

目录 Qt日志输出及QsLog日志库日志输出格式化日志普通格式化条件格式化环境变量设置格式化日志输出位置日志输出对象信息禁用输出 QsLog日志库使用方法1. 将QsLog目录添加到项目中2. 配置CMakeLists.txt文件3. 配置.pro文件4. 日志记录器的配置5. 运行程序6. 启用行号和文件名C…