【可视化】无法理解PCA,条件概率,最小二乘回归?可视化帮你!

news2024/11/23 12:15:04

主成分分析PCA

    • 2D示例

首先,只考虑两个维度的数据集,比如高度和重量。这个数据集可以绘制成平面上的点。但如果想要整理出变量,PCA会找到一个新的坐标系,其中每个点都有一个新的(x,y)值。坐标轴实际上没有任何物理意义。它们是高度和重量的组合,被称为“主分量”。

拖动原始数据集中的点,可以看到PC坐标系统正在调整

PCA对于降维很有用。下面,我们将数据绘制成两条直线:一条由x值组成,另一条由y值组成。

但是,如果我们只打算沿一个维度查看数据,那么将该维度作为具有最大变化的主成分可能会更好。通过减少PC2,不会造成太大损失,因为它对数据集的变化贡献最小。

    • 3D示例

看透一个数据云是非常困难的,因此,在3D空间中,PCA显得更为重要。在下面的示例中,原始数据以3D的形式绘制,但可以通过不同的视角,将其投射到2D空间。确定好角度之后,点击“显示PCA”按钮,即可呈现2D的结果。在本例中,PCA变换确保水平轴PC1的变化量最大,垂直轴PC2的变化量次之,第三轴PC3的变化量最少。显然,PC3是丢弃的。

    • 应用:吃喝在英国

如果数据集不仅仅是三维的,而是17个维度的呢?!如下表所示:

表中是英国每个地区平均每人每周17种食物的消费量,单位为克。这张表显示了不同食物类型之间存在的一些有趣的差异,但总体差异并不显著。让我们看看PCA是否可以通过降维来强地区家之间的差异。

下图是第一个主成分的数据图。我们可以看到一些有关北爱尔兰的情况已经发生了变化。

现在,看看第一和第二主成分,可以看到北爱尔兰是一个主要的异常值。一旦回过头来看看表格中的数据,这就显得很有道理了:北爱尔兰人吃的新鲜土豆要很多,吃的新鲜水果、奶酪、鱼和酒精饮料较少。这是一个很好的迹象,我们所看到的结构反映了现实世界地理的一个重要事实北爱尔兰是四个国家中唯一一个不在大不列颠岛上的。

条件概率

条件概率是指一个事件在另外一个事件已经发生条件下的发生概率。一个落下来的球可能落在红色的架子上(称之为A事件),或者落在蓝色架子上(称之为B事件),或者两者兼而有之。

那么给定一个球,它击中了红色架子(A事件),而后击中蓝色架子(B事件)的概率会是多少呢?可以通过给定A的条件概率,即P(B | A)来回答这个问题。

普通最小二乘法回归

统计回归基本上是一种从一批现有数据中预测未知数量的方法。例如,假设我们一开始就知道 "样本人口 "中一群人的身高和手掌大小,并且我们想找出一种方法,从身高预测不在样本中的人的手掌大小。通过应用OLS,我们将得到一个方程,将手的大小--"自变量 "作为输入,而将身高--"因变量 "作为输出。

下面,OLS是在幕后进行的,以产生回归方程。回归中的常数--即所谓的 "betas"--是OLS吐出的东西。在这里,beta_1是一个截距;它告诉人们即使手的尺寸为零,身高也会是多少。而β_2是手掌大小的系数;它告诉我们,在手掌大小给定的情况下,我们应该期望某人能长多高。拖动样本数据,看看贝塔的变化。

在某些时候,你可能会问你的父母,"贝塔是从哪里来的?" 让我们揭开OLS如何找到其betas的帷幕。

误差是预测和现实之间的差异:真实数据点和回归线之间的垂直距离。OLS关注的是误差的平方数。它试图找到一条穿过样本数据的线,使误差平方之和最小。下面,误差的平方表示为正方形,你的工作是选择betas(回归线的斜率和截距),使所有正方形的总面积(误差的平方之和)尽可能的小。这就是OLS!

现在,真正的科学家甚至社会学家很少只用一个自变量做回归,但OLS在更多自变量的情况下效果完全一样。下面是有两个自变量的OLS。不过,现在的误差不是相对于一条线,而是相对于三维空间中的一个平面。所以现在OLS的工作是找到这个平面的方程。前两幅图中显示了通过每个轴的平面的切片。

通过移动这些点,你可以看到,当涉及多个变量时,真正的关系可能是非常反直觉的。这就是为什么我们有统计学:让我们对事情没有把握。

下面,看看你是否可以选择betas来最小化平方误差之和。

还有许多比OLS更复杂的预测技术,如逻辑回归、加权最小二乘回归、稳健回归和越来越多的非参数方法家族。


来源:Explained Visually (setosa.io)

个人gzh:疼疼痒痒小家园

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

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

相关文章

【JavaScript】如何转换blob数据与file文件还有url

大家好,关于blob对象和file对象有了解多少呢,它们都是一种文件的表示形式,文件之间是可以互相转换的,顺带一提,还有经常用到的临时文件路径tempFileURL。 文章目录文件类型Blob对象File对象URL临时路径文件类型 首先&…

c++ -- STL容器--vector

STL中最常用的容器为Vector&#xff0c;可以理解为数组#include <iostream> #include <vector> #include <algorithm> using namespace std;void myPrint(int val) {cout <<val<<endl; }//vector容器存放内置数据类型void test01() {//创建了一个…

数据库(tidb、clickhouse、hive)概念笔记

目录 1、有哪些分布式数据库 2、OLAP、OLTP、HTAP 3、TIDB、clickhouse、hive 一、TIDB 1. TiDb 核心特性&#xff1a; 2. TiDb 整体架构&#xff1a; 3.TiDB 存储&#xff1a; 二、clickhouse 三、hive 1.什么是 Hive&#xff1f; 2.Hive 架构和如何运作&#xff1…

KMP -- 代码求解next数组

代码求解next数组 1. KMP相关概念 前缀&#xff1a;包含首位字符但不包含末位字符后缀&#xff1a;包含末位字符但不包含首位字符next数字&#xff1a;主串与模式串不匹配时&#xff0c;模式串需要回退的位置next[j]&#xff1a;第 j 位字符前面的j-1位字符组成的字串的前后缀…

QGIS查看属性和选择要素

目录1. 查看属性和选择要素2. 调整图层样式&#xff0c;添加自动标注1. 查看属性和选择要素 #pic_center x400 暂时移除&#xff0c;不是删除&#xff0c;它还是存在它本来的位置&#xff0c;用的时候再次添加即可。 选择工具 点完工具后&#xff0c;点击图中一个点&#xf…

c++ -- STL容器--stack容器

5. stack容器5.1 简介① stack是一种先进后出的容器&#xff0c;它只有一个出口。② 栈中只有顶端的元素才可以被外界使用&#xff0c;因此栈不允许有遍历行为。③ 栈中进入数据称为&#xff1a;入栈 push④ 栈中弹出数据称为&#xff1a;出栈 pop5.2 常用接口① 功能描述&…

蓝桥杯STM32G431RBT6学习——GPIO

蓝桥杯STM32G431RBT6学习——GPIO GPIO外设分布 国信长天开发板使用的STM32G431RBT6为LQFP64的封装&#xff0c;可用的GPIO为49个&#xff0c;包括如下&#xff1a; PA0~PA15 PB0~PB15 PC0~PC15 PD2&#xff0c;PF0&#xff0c;PF1&#xff0c;PG10 其中PF0与PF1用于连接外部…

前端入门笔记 02 —— CSS

CSS标签通常要配合html或者js使用 CSS本身的构造 p{color : red}/*color 属性 red 值*//*p选择器 括号内内容 生命*/配合html <style>p{color : red}<\style>或者直接引入整个css文件 <head><style type text/css>import "1.3.css";<…

【vue组件之间的数据传递和组件的生命周期】一.组件之间的通信;二.组件的声明周期

目录 一.组件之间的通信 1.组件之间的关系&#xff1a;父子关系、兄弟关系、跨级关系 2.父子组件之间的通信&#xff08;数据传递&#xff09;&#xff1a; &#xff08;1&#xff09;父组件----》子组件&#xff1a;使用props &#xff08;2&#xff09;子组件----》父组件…

为什么互联网公司不欢迎中年人?

除开几个“越老越值钱”的岗位&#xff08;如医生、教师、建筑师&#xff09;外&#xff0c;大多数公司就是不欢迎中年人的。 你很难见到30岁的地推、40岁的销售、50岁的文员&#xff0c;但是20岁的年轻小伙一抓一大把&#xff0c;我们的互联网经济&#xff0c;就是建立在人口密…

RHEC——ansible配置yum源仓库

1.挂载本地光盘到/mnt 2.配置yum源仓库文件通过多种方式实现 1&#xff09;、仓库1 &#xff1a; Name: RH294_Base Description&#xff1a; RH294 base software Base urt: file:///mnt/BaseOS 不需要验证钦件包 GPG 签名 启用此软件仓库 2&#xff09;、仓库 2: Name: RH29…

立创eda专业版学习笔记(1)

之前那些博客对应的是立创eda标准版&#xff0c;版本号是6.5.4以前 最近开始使用专业版&#xff0c;原本以为专业版是标准版的基础上添加了些功能&#xff0c;现在才发现不是这么回事&#xff0c;专业版跟标准版在界面上的区别很大&#xff0c;几乎就是另外一个软件了&#xff…

外贸客户接待的基本环节有哪些?

外贸客户来了&#xff0c;接待人员一定要有耐心&#xff0c;那么怎么接待呢&#xff1f;以下是米贸搜为您整理的外贸客户接待流程。希望对你有帮助。外贸客户接待流程既然客人愿意来我们公司参观&#xff0c;他们一定有很大的诚意。但从这几年的案例来看&#xff0c;大部分来访…

JavaSE学习day1_01,计算机基础知识

学习正式开始&#xff1a; 学习之前先了解一些计算机基本常识&#xff1a; 1. CMD 1.1 什么是CMD&#xff1f; 先看一张图&#xff1a; 这是黑客大佬使用的命令。 这是现代计算机的图形化界面。学过操作系统的同学应该知道这是操作系统提供的一个接口&#xff0c;它严格意义…

ORB-SLAM2 --- KeyFrame::SetBadFlag函数

目录 1.函数作用 2.code 3.函数解析 1.函数作用 真正地执行删除关键帧的操作。 需要删除的是该关键帧和其他所有帧、地图点之间的连接关系。 2.code void KeyFrame::SetBadFlag() { // Step 1 首先处理一下删除不了的特殊情况{unique_lock<mutex> lock(mMutexConn…

visual studio控制台中文乱码问题

踩坑经历&#xff1a; 这是一个向文件中写入文字&#xff08;中文&#xff0c;在将文件中文字读取出来的代码。读取出来的结果是符号码。 这个问题在网上找了很多的解决办法&#xff0c;都没有完全解决。 其实要不出现乱码&#xff0c;就要保持控制台编码和源代码编码相一致就可…

照片恢复软件哪个好用?5个好用的照片恢复软件推荐

照片可以勾起回忆&#xff0c;让我们想起与最亲近的人一起度过的时光&#xff0c;这就是为什么仅仅丢失一张重要照片就会让人感觉完全毁灭性的——几乎就像你失去了记忆本身一样。好消息是&#xff0c;大多数丢失或意外删除的照片都可以使用照片恢复软件恢复&#xff0c;而且我…

XILLINX时钟约束相关说明

时钟说明 primary clock 基准时钟&#xff0c;primary这里有“基本的”更贴切&#xff0c;虽然其有“主要的、首要的、初级的、原发性的”意思。 提供的基准时钟有俩种情况&#xff1a; 时钟由外部时钟源提供&#xff0c;通过输入引脚进入FPGA&#xff1b;高速收发器(GT)的时…

Google编程规范

Google编程规范总结一、前言二、头文件三、类构造函数可拷贝类型和可移动类型struct和class接口存取控制和声明顺序四、来自Google的奇技所有权与智能指针cpplint五、其他C特性六、命名约定(重点)七、注释(重点)八、代码格式(重点)九、结束语一、前言 昨天听了雷军的演讲&#…

猪齿鱼知识沉淀

数据源知识沉淀 1、下拉框与Lov的注意点&#xff1a; 下拉框 {name: intertradeType,lookupCode: "HCMS.INTERTRADE_TYPE",label: intl.get(${prefix}.table.intertradeType).d(贸易性质),required: true, }, {name: intertradeTypeMeaning,label: intl.get(${pref…