news 2026/4/16 18:22:08

探索多元经验模式分解:从数据到可视化的完整实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探索多元经验模式分解:从数据到可视化的完整实践

多元经验模式分解(memd)算法,是emd算法从单个变量到任意数量变量的扩展。 从Excel表格中读取,电流,温度,湿度,油温。 然后将个序列输入算法,得到分解结果并画图,每个变量的imf用不同颜色来表示。

在数据分析的世界里,多元经验模式分解(MEMD)算法是一个让人眼前一亮的工具。它不仅是经验模式分解(EMD)算法的升级版,更是一种能够同时处理多个变量的利器。本文将通过一个完整实践案例,带你了解如何运用MEMD算法对多维数据进行分解和可视化。我们选取了电流、温度、湿度和油温四个变量作为示例数据,通过代码实现数据读取、分解以及结果可视化,让你直观感受MEMD的强大功能。

数据准备:从Excel表格获取原始数据

在正式开始之前,我们需要准备一些数据。我们的数据来源于一个Excel文件,包含四个变量:电流、温度、湿度和油温。为了方便后续分析,我们需要将这些数据读取到Python环境中,并进行必要的预处理。

import pandas as pd import numpy as np # 读取Excel文件 data_df = pd.read_excel('multivariate_data.xlsx') # 提取需要变量的数据 current = data_df['Current'].values temperature = data_df['Temperature'].values humidity = data_df['Humidity'].values oil_temp = data_df['Oil_Temperature'].values # 确保数据长度一致 assert len(current) == len(temperature) == len(humidity) == len(oil_temp), "数据长度不一致"

数据预处理:标准化与降噪

为了使数据更适合进行经验模式分解,通常需要对数据进行标准化处理,以消除量纲和数量级差异带来的影响。此外,原始数据往往包含噪声,因此进行适当的降噪处理也是有必要的。

# 数据标准化 def normalize(data): return (data - data.mean()) / data.std() current_norm = normalize(current) temperature_norm = normalize(temperature) humidity_norm = normalize(humidity) oil_temp_norm = normalize(oil_temp) # 手动降噪(简单移动平均法) def smooth(data, window_size=3): return np.convolve(data, np.ones(window_size)/window_size, mode='same') current_smooth = smooth(current_norm) temperature_smooth = smooth(temperature_norm) humidity_smooth = smooth(humidity_norm) oil_temp_smooth = smooth(oil_temp_norm)

分解过程:MEMD算法的应用

经验模式分解(EMD)算法是一种将复杂信号分解为若干本征模函数(IMF)的方法,而多元经验模式分解(MEMD)则是EMD的扩展,能够同时处理多变量数据。我们使用第三方库pymcdm来实现MEMD算法。

# 安装pymcdm库 !pip install pymcdm import numpy as np from pymcdm import methods # 准备数据矩阵,各行代表不同的变量 data_matrix = np.array([current_smooth, temperature_smooth, humidity_smooth, oil_temp_smooth]) # 初始化MEMD方法 memd = methods.MEMD() # 设置参数 max_inner_iterations = 100 # 最大内层迭代次数 stop_condition = 0.0001 # 停止条件 # 执行分解 # 我们需要为每个变量单独运行MEMD,由于MEMD处理的是单变量数据, # 这里的处理方式可能需要根据具体库的实现进行调整 # 这里仅为示例代码,需根据实际情况修改 decomposed_data = [] for i in range(data_matrix.shape[0]): data = data_matrix[i, :] imfs = memd.decompose(data, max_inner_iterations=max_inner_iterations, stop_condition=stop_condition) decomposed_data.append(imfs)

结果可视化:多变量IMF的直观呈现

分解完成后,我们需要将结果以图表的形式展示出来。通过给每个变量的IMF分配不同的颜色,我们可以更清晰地观察各个变量的内在模式。

import matplotlib.pyplot as plt # 准备绘图区域 fig, axes = plt.subplots(len(decomposed_data[0]), 4, figsize=(20, 10 * len(decomposed_data[0]))) # 定义颜色映射 colors = ['blue', 'orange', 'green', 'red'] # 对应四个变量 variables = ['Current', 'Temperature', 'Humidity', 'Oil Temperature'] # 绘制每个IMF for imf_idx in range(len(decomposed_data[0])): for var_idx in range(4): imf = decomposed_data[var_idx][imf_idx] axes[imf_idx][var_idx].plot(imf, color=colors[var_idx]) axes[imf_idx][var_idx].set_title(f'IMF {imf_idx + 1} of {variables[var_idx]}')

分析与总结:从数据中发现规律

通过以上步骤,我们完成了对四个变量数据的MEMD分解和可视化。从图中我们可以看到,每个变量被分解成了多个IMF,每个IMF代表了信号中不同频率的成分。通过颜色的区分,我们能够更直观地比较不同变量之间的IMF分布,从而发现潜在的关联或差异。

例如,电流和温度的IMF分布较为相似,可能存在某种物理上的相关性;而湿度和油温的波动模式则有所不同,可能受到不同的环境因素影响。结合专业知识,我们可以通过这些IMF进一步分析变量之间的相互作用机制。

总结:MEMD的应用前景

多元经验模式分解(MEMD)算法为多维数据分析提供了一个强大的工具。通过本文的实践案例,我们展示了如何从数据读取、预处理、分解到结果可视化的完整流程。这种算法特别适用于那些需要同时分析多个相关变量的场景,如设备状态监测、环境数据分析等领域。希望本文能为你的数据分析实践提供一些启发!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:33:35

导师推荐 10款一键生成论文工具 本科生毕业论文必备

导师推荐 10款一键生成论文工具 本科生毕业论文必备 一、不同维度核心推荐:10款AI工具各有所长 在撰写毕业论文的过程中,本科生往往会遇到从选题构思到最终排版的多个环节,每个阶段都可能需要不同的工具来协助。因此,选择一款功能…

作者头像 李华
网站建设 2026/4/16 0:42:42

低成本学AI:云端GPU按需付费,比培训班实战性强

低成本学AI:云端GPU按需付费,比培训班实战性强 1. 为什么选择云端GPU学习AI? 对于想转行AI领域的朋友来说,动辄上万的培训班费用确实让人犹豫。更现实的问题是:即使报了班,家里的普通电脑也跑不动练习项目…

作者头像 李华
网站建设 2026/4/16 12:20:21

AI实体侦测省钱攻略:云端GPU按需付费比买卡省90%

AI实体侦测省钱攻略:云端GPU按需付费比买卡省90% 1. 为什么开发者需要云端GPU方案 接了个异常流量检测的私活,客户预算有限,算了下买显卡回本要接10单?这种情况在自由开发者中很常见。买显卡就像买私家车,看起来拥有…

作者头像 李华
网站建设 2026/4/16 11:57:57

StructBERT轻量版揭秘:为何在CPU上表现优异

StructBERT轻量版揭秘:为何在CPU上表现优异 1. 引言:中文情感分析的现实需求与挑战 随着社交媒体、电商平台和用户评论系统的普及,中文情感分析已成为自然语言处理(NLP)领域的重要应用方向。企业需要快速识别用户对产…

作者头像 李华
网站建设 2026/4/16 10:41:28

AI智能体自动化测试:持续集成流水线,每日成本<5元

AI智能体自动化测试&#xff1a;持续集成流水线&#xff0c;每日成本<5元 1. 为什么需要AI智能体自动化测试 在AI模型开发过程中&#xff0c;回归测试是确保模型质量的关键环节。传统方式下&#xff0c;DevOps团队通常需要维护一套完整的GPU测试环境&#xff0c;但这种方式…

作者头像 李华
网站建设 2026/4/16 11:05:25

StructBERT部署教程:电商平台情感分析系统

StructBERT部署教程&#xff1a;电商平台情感分析系统 1. 引言 1.1 中文情感分析的业务价值 在电商、社交、客服等场景中&#xff0c;用户评论、反馈和对话文本蕴含着丰富的情感信息。准确识别这些文本的情绪倾向&#xff08;正面或负面&#xff09;&#xff0c;对于品牌监控…

作者头像 李华