霍特林分布matlab,【MATLAB机器学习系列】——主成份分析(PCA)在量化投资中的应用...

本文主要是介绍霍特林分布matlab,【MATLAB机器学习系列】——主成份分析(PCA)在量化投资中的应用...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原标题:【MATLAB机器学习系列】——主成份分析(PCA)在量化投资中的应用

0a07f0e36a5d68ce250070bbaca948ec.png

编辑部

我们会再接再厉

1

PAC 核心思想

PCA 算法也叫主成分分析(principal components analysis),用来减少数据集的维数,同时保留数据集中对方差贡献最大的特征来达到简化数据集的目的。 其核心思想就是将 n 维特征映射到 k 维上(k < n),这 k 维是全新的正交特征。我们将这 k 维成为主元,是重新构造出来的 k 维特征,而不是简单地从 n 维特征中取出其余 n-k 维特征。

2

PCA 几何意义

在PCA中,数据从原来的坐标系转换到新的坐标系下,新的坐标系的选择与数据本身是密切相关的。其中,第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选取的是与第一个坐标轴正交且具有最大方差的方向,依次类推,我们可以取到这样的 k 个坐标轴。

0维-PCA:将所有样本信息都投影到一个点,因此无法反应样本之间的差异;要想用一个点来尽可能的表示所有样本数据,则这个点必定是样本的均值。

1维-PCA:相当于将所有样本信息向样本均值的直线投影;

2维-PCA:将样本的平面分布看作椭圆形分布,求出椭圆形的长短轴方向,然后将样本信息投影到这两条长短轴方向上,就是二维PCA。(投影方向就是平面上椭圆的长短轴方向);

3维-PCA:样本的平面分布看作椭圆形分布,投影方法分别是椭圆球的赤道半径a和b,以及是极半径c(沿着z轴);

3

PCA 理论基础

最大方差理论

如何在降维后最大程度保留原有的信息呢?这就要基于最大方差理论来解决这个问题。

信号处理中认为信号(Signal)具有较大的方差,噪声(Noise)有较小的方差,信噪比就是信号与噪声的方差比,越大越好。

因此我们认为,最好的 k 维特征既是将 n 维样本点转换为 k 维后,每一维上的样本方差都很大。

如下图所示:

9b2bcff4ecd0d1b5af88694237db09a0.png

那我们应该选择哪一个呢?很明显是左图比较好。原因有两个:

1、投影后方差最大

2、点到直线的距离平方和最小

从另一个角度看,左边的图每个点直线上的距离绝对值之和比右边的每个点到直线距离绝对值之和小。那么接下来我们就分析一下,为什么是两个原因。

方差:偏离平均值的程度

88a8742d4bb51755f66cc0ae51efa0bf.png

红点 A 表示样本点,蓝点 B 表示在 u 上的投影点。u 是直线的斜率也是直线的方向向量,而且是单位向量。

现在从 A 点向 B 所在直线引一条垂线。垂线与 B 的交点叫做 A 在 B 上的投影,再设 A 与 B 的夹角是alphaα,则投影的矢量长度为:

1977c5f530d3c5382123288fa0eb54fc.png

又因为:

A 与 B 的内积等于 A 到 B 的投影长度乘以 B 的模。因为 B 的模即为 u ,并且是单位向量,那么:

也就是说的值等于A向B所在直线投影的矢量长度!

我们再回顾一下协方差的一些概念

协方差:两个随机变量关系的统计量

让数据尽可能表示更多的原始信息,让它们之间不存在(线性)相关性,因为相关性意味着两个字段不是完全独立,必然存在重复表示的信息。

cce54a4eb174f8e4e4a35adbb8f808c5.png

协方差具体的大小并不重要,但是它的正负是重要的。如果它的值是正的,这表明两个特征之间同时增加或减小;如果它的值是负的,这表明两个特征之间有一个增加而另一个减小。如果它的值为0,则表明两

这篇关于霍特林分布matlab,【MATLAB机器学习系列】——主成份分析(PCA)在量化投资中的应用...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244933

相关文章

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加