主成分分析例题 (多元统计分析期末复习)

例一

给定X的协差阵,对其进行主成分分析,

在这里插入图片描述
(1)求出每个主成分的贡献率;
(2)求出每个原始变量的信息提取率;


解:对于主成分分析的题,一般来说,题目给定一个协方差阵,不管怎样先求出特征值和特征向量。
Step1 计算特征根

∣ Σ − λ I ∣ |Σ-λI| ∣ΣλI=0,得: λ 1 λ_1 λ1=2, λ 2 λ_2 λ2=2, λ 3 λ_3 λ3=1 ( λ 1 λ_1 λ1 λ 2 λ_2 λ2 λ 3 λ_3 λ3
如果解出来不确定或者解不出来的话可以通过特征值的和等于协方差阵对角线元素的和以及特征值的积等于协方差阵对应的行列式来进行验证

Step2 求特征向量,这里一定不能忘记要化成单位特征向量

U 1 = [ 1 0 0 ] U_1=\left[ \begin{matrix} 1 \\ 0 \\ 0 \end{matrix} \right] U1= 100 U 2 = [ 0 1 2 1 2 ] U_2=\left[ \begin{matrix} 0 \\ {1 \over {\sqrt{2}} } \\ {1 \over {\sqrt{2}} } \end{matrix} \right] U2= 02 12 1 U 3 = [ 0 − 1 2 1 2 ] U_3=\left[ \begin{matrix} 0 \\ -{1 \over {\sqrt{2}} } \\ {1 \over {\sqrt{2}} } \end{matrix} \right] U3= 02 12 1

Step3 计算贡献率

第一个主成分的贡献率为: λ 1 λ_1 λ1/( λ 1 λ_1 λ1+ λ 2 λ_2 λ2+ λ 3 λ_3 λ3)=2/5=40%
第二个主成分的贡献率为: λ 2 λ_2 λ2/( λ 1 λ_1 λ1+ λ 2 λ_2 λ2+ λ 3 λ_3 λ3)=2/5=40%
第三个主成分的贡献率为: λ 3 λ_3 λ3/( λ 1 λ_1 λ1+ λ 2 λ_2 λ2+ λ 3 λ_3 λ3)=1/5=20%
(注意这里算的不是累积贡献率)所以我们取前两个主成分就可以了

Step4 求信息提取率

分别计算 x i x_i xi F 1 F_1 F1 F 2 F_2 F2的相关系数的平方,信息提取率为两者之和,
计算相关系数的公式如下
在这里插入图片描述
所以x1的信息提取率就是x1与 F 1 F_1 F1相关系数的平方加上x1与 F 2 F_2 F2相关系数的平方,其他原始变量同理。

x i x_i xi x i x_i xi F 1 F_1 F1相关系数的平方 x i x_i xi F 2 F_2 F2相关系数的平方信息提取率
1101
202/30.67
302/30.67

例二

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3协方差矩阵如下,试求主成分分析,并求出每个主成分的贡献率及每个原始变量的信息提取率
Σ = [ 1 − 2 0 − 2 5 0 0 0 2 ] Σ=\left[ \begin{matrix} 1 & -2 & 0 \\ -2 & 5 & 0 \\ 0 & 0 & 2 \end{matrix} \right] Σ= 120250002


解:
Step1 计算特征根

∣ Σ − λ I ∣ |Σ-λI| ∣ΣλI=0,得: λ 1 λ_1 λ1=5.83, λ 2 λ_2 λ2=2, λ 3 λ_3 λ3=0.17 ( λ 1 λ_1 λ1 λ 2 λ_2 λ2 λ 3 λ_3 λ3

Step2 求特征向量

U 1 = [ 0.383 − 0.924 0.000 ] U_1=\left[ \begin{matrix} 0.383 \\ -0.924 \\ 0.000 \end{matrix} \right] U1= 0.3830.9240.000 U 2 = [ 0 0 1 ] U_2=\left[ \begin{matrix} 0 \\ 0 \\ 1 \end{matrix} \right] U2= 001 U 3 = [ 0.924 0.383 0.000 ] U_3=\left[ \begin{matrix} 0.924 \\ 0.383 \\ 0.000 \end{matrix} \right] U3= 0.9240.3830.000

Step3 计算贡献率
第一个主成分的贡献率为: λ 1 λ_1 λ1/( λ 1 λ_1 λ1+ λ 2 λ_2 λ2+ λ 3 λ_3 λ3)=5.83/8=72.875%
第二个主成分的贡献率为: λ 2 λ_2 λ2/( λ 1 λ_1 λ1+ λ 2 λ_2 λ2+ λ 3 λ_3 λ3)=2/8=25%
第三个主成分的贡献率为: λ 3 λ_3 λ3/( λ 1 λ_1 λ1+ λ 2 λ_2 λ2+ λ 3 λ_3 λ3)=0.17/8=2.125%

Step4 求信息提取率
虽然第一个主成分的贡献率不小,但在本题中第一主成分不含第三个原始变量的信息,因此应该取两个主成分
所以分别计算 x i x_i xi F 1 F_1 F1 F 2 F_2 F2的相关系数的平方,信息提取率为两者之和

x i x_i xi x i x_i xi F 1 F_1 F1相关系数的平方 x i x_i xi F 2 F_2 F2相关系数的平方信息提取率
10.85500.855
20.99600.996
3011

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

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

相关文章

us提升到ns级精度settimeofday()到clock_settime()

精度 clock_settime()精度比settimeofday()高,受限制于参数的结构体,一个是ns级精度,另一个us级精度。具体两个函数原因参考如下。 int clock_settime(clockid_t clk_id, const struct timespec *tp); int settimeofday(const struct timeva…

[vue3] 使用 vite 创建vue3项目的详细流程

一、vite介绍 Vite(法语意为 “快速的”,发音 /vit/,发音同 “veet”) 是一种新型前端构建工具,能够显著提升前端开发体验(热更新、打包构建速度更快)。 二、使用vite构建项目 【学习指南】学习新技能最…

Elasticsearch:使用 ILM 示例运行降采样 (downsampling)

如果你对降采样还不是很熟的话,请阅读之前的文章 “Elasticsearch:对时间序列数据流进行降采样(downsampling)”。这是一个简化的示例,可让你快速了解降采样如何作为 ILM 策略的一部分来减少一组采样指标的存储大小。 该示例使用典…

2021年3月9日 Go生态洞察:Go开发者调研结果解读

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

java对象 转换成json字符串 工具类 jackson

jackson概述 Jackson 是一个用于处理 JSON 数据的 Java 库,由 FasterXML 公司开发和维护。它提供了一组功能强大的 API,用于在 Java 对象和 JSON 数据之间进行高效的序列化(将对象转换为 JSON 格式)和反序列化(将 JSO…

获取焦点后,样式异常的处理方法

问题 在使用monaco-editor 设置代码提示未正常显示,提示框出现,看不到内容,如图 看不到内容,有两种情况: 情况一:没有得到数据,所以没有展示; 情况二:得到了数据&#x…

数据预处理:随机裁剪放缩

随机裁剪放缩是一种数据增强技术,可以在训练神经网络时增加数据的多样性,提高模型的泛化能力。具体来说,随机裁剪放缩可以通过随机裁剪和缩放原始图片来生成多个不同的训练样本,从而增加数据集的大小和多样性。这种技术在图像分类…

CentOS一键安装docker脚本

CentOS安装Docker一键脚本 在CentOS上安装Docker是许多项目中常见的任务之一。为了简化这个过程,你可以使用下面的一键脚本。 #!/bin/bash# 卸载旧版本(如果有) sudo yum remove -y docker \docker-client \docker-client-latest \docker-c…

Django之Auth认证模块

文章目录 一、简介二、Auth模块是什么三、Auth模块常用方法create_user() 创建普通用户authenticate() 用户认证auth.login(HttpResponse,user)登录状态保持is_authenticated 登录认证判断auth.loginout(reqeust)退出登录login_required() 登录认证装饰器check_pass…

MySQL之JDBC

💕"我像离家的孤儿,回到了母亲的怀抱,恢复了青春。"💕 作者:Mylvzi 文章主要内容:MySQL之JDBC 一.什么是JDBC? JDBC编程就是通过Java 代码来操纵数据库 数据库编程, 需要数据库服务器提供一些API供程序…

reversed函数(python)

在Python中,reversed()是一个内置函数,用于将序列(如字符串、列表、元组等)进行反转。它返回一个反向迭代器对象,可以使用list()函数将其转换为一个列表。 语法: reversed(sequence)参数: se…

原来10张图就可以搞懂分布式链路追踪系统原理

分布式系统为什么需要链路追踪? 随着互联网业务快速扩展,软件架构也日益变得复杂,为了适应海量用户高并发请求,系统中越来越多的组件开始走向分布式化,如单体架构拆分为微服务、服务内缓存变为分布式缓存、服务组件通…

经典策略梯度算法

经典策略梯度算法 DDPG算法 DDPG 算法被提出的初衷其实是 DQN 算法的一个连续动作空间版本扩展。深度确定性策略梯度算法( deep deterministic policy gradient,DDPG),是一种确定性的策略梯度算法。 由于DQN算法中动作是通过贪…

STM32CubeIDE(CUBE-MX)----快速移植FreeRTOS实战

文章目录 前言一、Freertos可视化配置二、生成代码三、实验现象总结 前言 FreeRTOS(Real-Time Operating System)是一个开源的实时操作系统内核,专注于嵌入式系统。它提供了一套用于管理任务、调度器、内存管理等的实时操作系统功能&#xf…

spring RedisTemplate RedisLockRegistry opsForXxx 基本使用总结以及介绍

一、基本介绍 RedisTemplate 为 spring 对 redis 操作的高度封装,基本已经满足所有使用场景。 若存在其他拓展使用我们可以自行封装工具类对基本操作进行组装。 RedisLockRegistry 对 redis 锁的一些封装 二、不同环境下依赖以及基本配置 2.1 spring-boot 下依赖…

windows启动后直接进入指定程序并且不显示欢迎界面和windows桌面

windows启动后直接进入指定程序并且不显示欢迎界面和windows桌面 前言开机进入指定程序方法问题 浅尝GINA和Credential Providers关闭欢迎屏幕 前言 由于系统需求需要做到电脑开机后显示完windows加载页面就直接进入自己系统的界面,并且不显示登录欢迎页面&#xf…

Linux swapon命令教程:如何在Linux中启用和禁用交换空间(附实例教程和注意事项)

Linux swapon命令介绍 Linux的swapon命令用于启用指定设备和文件的交换。当物理内存(RAM)达到其最大容量时,Linux使用交换空间。如果系统需要更多的内存,而RAM不足,内存中的非活动页面将被移动到交换空间。交换空间是…

【九日集训】第七天:二维数组

二维数组就是一个矩阵,它有两个参数,像这样a[i][j],其中i表示第几行,j表示第几列(注意下标从0开始) 一维数组的传参用的一个*,int a(int * nums); 二维数组的传参用的两个**,int a(i…

java操作windows系统功能案例(二)

1、打印指定文件 可以使用Java提供的Runtime类和Process类来打印指定文件。以下是一个示例代码: import java.io.File; import java.io.IOException;public class PrintFile {public static void main(String[] args) {if (args.length ! 1) {System.out.println(…

supermap-iserver激活教程(linux)

本篇只介绍linux临时许可激活教程,windows的原理一摸一样不做赘述。 1.下载许可中心(web版) SuperMap技术资源中心|为您提供全面的在线技术服务 2.解压 supermap-bslicense-server-3.0.24-linux-x64.tar.gz tar -zxvf supermap-bslicense…