数据分析-Pandas的Andrews曲线可视化解读

数据分析-Pandas的Andrews曲线可视化解读

数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?

数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。

数据分析

数据分析-Pandas如何转换产生新列

数据分析-Pandas如何统计数据概况

数据分析-Pandas如何轻松处理时间序列数据

数据分析-Pandas如何选择数据子集

数据分析-Pandas如何重塑数据表-CSDN博客

本文用到的样例数据:

Titanic数据

空气质量监测 N O 2 NO_2 NO2数据

样例代码:

源代码参考 Pandas如何重塑数据表

源代码参考 python数据分析-数据表读写到pandas

导入关键模块

import pandas as pd
import numpy as np
import matplotlib.pyplot as pltplt.close("all")

在pandas数据分析中,了解观察多维数据的分布规律是非常重要的。各个维度数据的分布、度量通常用来直观描述数据集的分类位置,作为进一步探查分析的方向。

Andrews Curves 是一种用于可视化多元数据的图形表示方法,它通过将每个观测值转换为一个曲线来展示数据集中的模式。Andrews Curves 最初由 B.W. Andrews 在 1972 年提出,是一种基于函数型数据分析的方法。

Andrews 曲线,是基于余弦级数的傅里叶级数表示法,在这种表示法中,任意的函数都可以表示为一系列余弦函数的线性组合,就是余弦级数的展开,每个函数的振幅和波长都是不同的。常用于信号处理技术。

Andrews Curves 的详细技术解读:

  1. 原理

    Andrews Curves 的基本原理是将多维数据降维到二维空间,通过绘制曲线来展示数据的特征。具体而言,它利用傅里叶级数(Fourier series)将多维数据转化为一系列正弦和余弦函数的组合,从而生成具有独特形状的曲线。这些曲线的形状反映了数据集的内在结构和类别信息。

  2. 数据

    在使用 Andrews Curves 之前,需要准备一组多维数据集。这些数据集可以是不同的类别、组或条件下的观测值。每个数据集都应包含相同数量的观测值,并且每个观测值都应具有相同数量的特征。

  3. 曲线生成

    对于每个数据集,Andrews Curves 算法会计算其傅里叶级数展开式。这个过程涉及到对数据的标准化、傅里叶变换和系数计算等步骤。最终,每个数据集都会被表示为一条曲线,曲线的形状由数据集的内在结构决定。

    具体步骤,假设我们有N个样本,每个样本有d个特征,那么我们可以用如下的公式来表示每个样本的Andrews 曲线:

    F i ( t ) = 1 2 ∑ k = 1 d w i k sin ⁡ ( k t ) + b i F_i(t) = \frac{1}{\sqrt{2}} \sum_{k=1}^{d} w_{ik} \sin(k t) + b_i Fi(t)=2 1k=1dwiksin(kt)+bi

    其中,i是样本的编号,从1到N,t是时间参数,$ w_{ik} $ 和 $ b_i $ 分别表示第 i 个样本的第k个特征的权重和偏移。将这个公式应用于每个样本,就可以得到N条Andrews曲线,每条曲线表示一个样本。

Andrews曲线图画法

pandas画 平行坐标图方法最简单,只要一句语句搞定。相当于雷达图在一条直线上展开。

直接使用 Dataframe,parallel_coordinates函数即可。

from pandas.plotting import andrews_curvesdata = pd.read_csv("data/iris.csv")
plt.figure();
andrews_curves(data, "Name");plt.show()
plt.close("all")

在这里插入图片描述

通过观察整个曲线集合,可以发现相似样本和异常值。Andrews曲线的可视化效果非常好,不仅可以方便的观察多个特征之间的关系,还能够将多个样本之间的差异可视化出来。

Andrews曲线解读

Andrews Curves 是一种用于可视化和比较多个数据集或类别的统计图形工具。这些曲线通过将多维数据映射到二维空间中,使得我们可以直观地观察到不同数据集或类别之间的相似性和差异性。

Andrews Curves 的坐标轴通常不直接表示具体的数值,而是表示时间或序列位置。每个观测值(例如,一个样本或一个数据点)都被映射到一个曲线,这个曲线在横轴(通常是时间或序列位置)上展示了一系列纵坐标值。这些纵坐标值是通过某种函数转换原始数据得到的,通常是基于某种基函数(如傅里叶级数)的系数。

通过将不同数据集的曲线绘制在同一个坐标系中,我们可以直观地比较它们之间的相似性和差异性。如果两条曲线形状相似,意味着它们所代表的数据集在结构上具有较高的相似性;反之,如果曲线形状差异较大,则表明数据集之间存在明显的差异。

解读方法:

  1. 形状识别:观察不同曲线之间的形状差异。相似的形状可能意味着对应的观测值在原始特征空间中有相似的模式或结构。
  2. 聚类分析:通过识别形状相似的曲线,可以对观测值进行聚类。这有助于发现数据集中的潜在结构或类别。
  3. 异常值检测:与其他曲线显著不同的曲线可能表示异常值或离群点。这些观测值在原始特征空间中可能具有与其他观测值显著不同的特征。
  4. 趋势分析:通过观察曲线的变化趋势,可以分析数据集中的整体趋势或周期性模式。例如,如果曲线呈现出周期性变化,这可能意味着原始数据中存在某种周期性结构。

应用场景

Andrews Curves 适用于多种场景,如模式识别、分类和聚类等。在模式识别中,它可以帮助我们识别不同类别之间的差异;在分类任务中,我们可以使用 Andrews Curves 来展示不同类别的特征分布;在聚类分析中,我们可以通过比较聚类结果的 Andrews Curves 来评估聚类的质量。

优缺点

Andrews Curves 的优点在于它可以直观地展示多维数据的结构和类别信息,并且具有较好的可视化效果。然而,它也有一些缺点。

首先,Andrews Curves 对于数据的维度和数量有一定的限制,过高的维度或过多的数据可能导致计算量大增,影响曲线的生成速度。

其次,Andrews Curves 在某些情况下可能无法充分揭示数据的复杂性和差异性,需要结合其他统计方法进行分析。

总之,Andrews Curves 是一种有效的可视化工具,它可以帮助我们直观地比较和分析多维数据集之间的相似性和差异性。通过合理地应用这种方法,我们可以更好地理解和挖掘数据的内在结构,为模式识别、分类和聚类等任务提供有力支持。

注意事项:

  • Andrews Curves 的解释可能受到所选基函数的影响。不同的基函数可能会产生不同的曲线形状,从而影响对数据集的解读。
  • Andrews Curves 主要用于可视化高维数据。当数据维度非常高时,传统的散点图等方法可能无法有效地展示数据中的模式,而 Andrews Curves 通过将每个观测值映射为一个曲线来克服这个问题。
  • 由于 Andrews Curves 是基于函数型数据分析的方法,因此在解释时需要考虑到函数的性质和特征。

总之,Andrews Curves 是一种强大的可视化工具,能够直观地展示高维数据中的模式和结构。通过识别曲线的形状、聚类和趋势等信息,可以更好地理解数据集并发现其中的潜在规律。

以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。

后面介绍下其他的展示形式。

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End

GPT专栏文章:

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-探究GPT等大模型的文本生成-CSDN博客

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

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

相关文章

纳米阱可提高未来光学设备的光强度

一种配置光捕获器件的方法有望通过放大光和提高发光纳米材料的发射效率来获得更好的光学纳米器件,而无需复杂的技术升级。 强光束对于从医学到电子产品的无数应用至关重要,但使用日常光源生产它们具有挑战性。然而,它们可以由激光产生。激光…

J.砍树【蓝桥杯】树上差分+LCA

树上差分 多次对树上的一些路径做加法操作,然后询问某个点或某条边经过操作后的值,就要考虑树上差分了。 点差分 模拟这个过程 对x到y路径上的点权值均1,可以等价成对x和y的权值加1,对lca的权值-1,对fa[lca]的权值-…

十一、CountDownLatch

CountDownLatch 倒数的门栓 CountDownLatch latch new CountDownLatch(threads.length); 创建一个门栓,在门栓上面记个数每一个线程结束就countDown 开启线程latch.await(); 每一个线程结束后线程数减一,当 latch.await()为0的时候门栓就打开 package com.mas…

‘list‘ object has no attribute ‘encode‘

‘list’ object has no attribute ‘encode’ Connection unexpectedly closed 出错代码 import smtplib from email.mime.text import MIMETextclass SendEmial(object):封装发送邮件类def __init__(self,host:str,port:int,user:str,pwd:str):self.host hostself.port …

文件处理(一)

file文件操作_操作系统底层关系_写入文件 文件操作 一个完整的程序一般都包括数据的存储和读取;我们在前面写的程序数据都没有进行实际的存储,因此python解释器执行完数据就消失了。实际开发中,我们经常需要从外部存储介质(硬盘…

基于Linux使用C语言实现简单的目录管理

在Linux下&#xff0c;需要实现某个目录下文件的遍历的时候&#xff0c;可以使用opendir&#xff0c;readdir&#xff0c;closedir这些接口。这些接口使用说明如下所示&#xff1a; 1).opendir DIR* opendir(const char * name); #include <sys/types.h> #include …

Linux系统学习总结(上)

B站大学地址&#xff1a;第二章-04-ls命令的参数和选项_哔哩哔哩_bilibili 操作系统概述 1、计算机是由硬件和软件两部分组成的 2、操作系统是软件的一类&#xff0c;主要作用是协助用户调度硬件工作&#xff0c;充当用户和计算机硬件之间的桥梁 3、常见的操作系统分为两类…

车企都卷入鸿蒙开发的行了!难怪岗位需求量涨这么快!!!

近日华为鸿蒙 OS 官微宣布&#xff0c;首批汽车行业伙伴广汽传祺、岚图汽车、零跑汽车、凯翼汽车官宣加入鸿蒙生态。 这四家车企加入&#xff0c;会不会影响着其他车企想哪些手机APP厂商那种陆续的跟上呢&#xff1f; 其实在此前国内新能源扛把子比亚迪早已与华为达成了合作&a…

18个惊艳的可视化大屏(第26辑):航空与运输业

hello&#xff0c;我是贝格前端工场老司机&#xff0c;这是第26期了&#xff0c;本次带来可视化大屏在航空与运输业的应用案例&#xff0c;喜欢文章的别忘点赞关注&#xff0c;文章底部也有其他行业的案例。 可视化大屏在航空与运输业中具有以下九大价值&#xff1a; 实时监控…

IT系统可观测性

什么是可观测性 可观测性&#xff08;Observability&#xff09;是指能够从系统的外部输出推断出系统内部状态的能力。在IT和云计算领域&#xff0c;它涉及使用软件工具和实践来收集、关联和分析分布式应用程序以及运行这些应用程序的硬件和网络产生的性能数据流。这样做可以更…

心灵治愈交流平台|基于springboot框架+ Mysql+Java+B/S结构的心灵治愈交流平台设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能模块 心理咨询师功能 系统功能设计 数据库…

蓝桥杯前端Web赛道-输入搜索联想

蓝桥杯前端Web赛道-输入搜索联想 题目链接&#xff1a;1.输入搜索联想 - 蓝桥云课 (lanqiao.cn) 题目要求&#xff1a; 题目中还包含effect.gif 更详细的说明了需求 那么观察这道题需要做两件事情 把表头的每一个字母进行大写进行模糊查询 这里我们会用到几个js函数&#…

洛谷 P1378 油滴扩展

本道题可以理解成一个平面直角坐标系&#xff0c;在坐标系上标出整个矩形和油滴的坐标&#xff0c;计算两个油滴的面积和直径&#xff0c;判断点是否在圆内&#xff08;点与圆的位置关系&#xff09;&#xff0c;利用使用坐标求两点间距离的公式取解。 代码如下&#xff1a; …

SpringBoot异常:类文件具有错误的版本 61.0, 应为 52.0的解决办法

问题&#xff1a; java: 无法访问org.mybatis.spring.annotation.MapperScan 错误的类文件: /D:/Program Files/apache-maven-3.6.0/repository/org/mybatis/mybatis-spring/3.0.3/mybatis-spring-3.0.3.jar!/org/mybatis/spring/annotation/MapperScan.class 类文件具有错误的…

实体门店加盟全解析:如何选择加盟项目与避免风险

对于想要开实体店或创业的人来说&#xff0c;拥有一个全面的运营方案是成功的关键。作为一名开鲜奶吧5年的创业者&#xff0c;我将为大家详细分享从选址到日常管理的实体店运营要点&#xff0c;帮助创业者少走弯路。 一、选择加盟项目 1.行业前景&#xff1a;选择一个有发展前…

Vue2(五):收集表单数据、过滤器、自定义指令、Vue的生命周期

一、收集表单数据 爱好&#xff1a;学习<input type"checkbox" value"study" v-model"hobby">打游戏<input type"checkbox" value"games" v-model"hobby">吃饭<input type"checkbox" v…

大数据开发--01.初步认识了解

一.环境准备 1.使用虚拟机构建至少三台linux服务器 2.使用公有云来部署服务器 二.大数据相关概念 大数据是指处理和分析大规模数据集的一系列技术、工具和方法。这些数据集通常涉及海量的数据&#xff0c;包括结构化数据&#xff08;如关系型数据库中的表格&#xff09;以及…

美联社报道波场与亚马逊云计算重磅合作 称符合其去中心化使命

近日,波场TRON宣布已集成亚马逊云计算服务(AWS),引发美联社、金融时报、费加罗报等多家海外主流媒体高度关注。报道表示,此次集成旨在利用AWS 强大的云计算资源,降低用户和开发者参与波场网络的准入门槛,打造更加去中心化、更强大的区块链生态系统。 报道内容显示,通过此次合作…

基于spring boot的民宿预约管理系统的设计与实现

目录 摘要 I Abstract II 一、绪论 1 &#xff08;一&#xff09;研究背景 1 &#xff08;二&#xff09;社会调查 1 &#xff08;三&#xff09;研究意义 2 &#xff08;四&#xff09;研究内容 2 二、关键技术介绍 3 &#xff08;一&#xff09;Spring Boot框架 3 &#xff…

GESP2024年3月C++语言三级答案(均为自己的想法,C++没学太多,有不对的地方欢迎指正)

选择题&#xff08;每题2分&#xff0c;共30分&#xff09; 第 1 题 整数-5的16位补码表示是(D)。 A. 1005 B. 1006 C. FFFA D. FFFB 解析&#xff1a;0是FFFF&#xff0c;用0-5&#xff08;即FFFF-5&#xff09;得到是FFFB。 第 2 题 如果16位短整数-2的二进制是“FFFE”&…