PCA主成分分析2--(载荷矩阵分析)

发布时间:2026/7/9 8:29:48

PCA主成分分析2--(载荷矩阵分析)
数采数据采集↓主成分分析(PCA) → 降维 关键变量识别↓载荷矩阵分析 → 变量权重与相关性↓回收率/夹带重要性评估 → 工艺瓶颈定位↓决策树综合效率分析 → 操作参数寻优↓关键控制参数优化 → 多目标Pareto最优↓效益测算一、主成分分析PCA方差贡献率与累计方差贡献率2.1 数据准备基于数采清单萃取车间的关键可测变量包括变量编号变量名称数采点位来源单位数据类型X₁萃取相比(O/A)有机流量/水相流量—计算值X₂水相pH在线pH计—实测值X₃萃取温度温度传感器℃实测值X₄萃取级数DCS设定值级设定值X₅皂化率碱液流量/有机流量计算%计算值X₆有机相流量流量计m³/h实测值X₇水相流量流量计m³/h实测值X₈碱液流量流量计m³/h实测值X₉搅拌强度电机电流/频率A/Hz实测值X₁₀进料Ni浓度在线分析仪(建议补充)g/L建议补充X₁₁进料Co浓度在线分析仪(建议补充)g/L建议补充X₁₂进料Mg浓度在线分析仪(建议补充)g/L建议补充2.2 PCA分析# # PCA主成分分析模型# import numpy as npfrom sklearn.decomposition import PCAfrom sklearn.preprocessing import StandardScalerimport matplotlib.pyplot as plt# 模拟数据np.random.seed(42)n_samples 365 #一年数据# 生成12个变量的模拟数据data {O_A_ratio: np.random.normal(1.5, 0.3, n_samples), # 相比pH: np.random.normal(4.0, 0.5, n_samples), # pHtemperature: np.random.normal(45, 5, n_samples), # 温度stages: np.random.randint(8, 12, n_samples), # 级数saponification: np.random.normal(65, 8, n_samples), # 皂化率organic_flow: np.random.normal(50, 10, n_samples), # 有机流量aqueous_flow: np.random.normal(33, 7, n_samples), # 水相流量alkali_flow: np.random.normal(5, 1, n_samples), # 碱液流量stirring: np.random.normal(25, 3, n_samples), # 搅拌强度Ni_feed: np.random.normal(60, 10, n_samples), # 进料NiCo_feed: np.random.normal(3, 0.5, n_samples), # 进料CoMg_feed: np.random.normal(8, 2, n_samples) # 进料Mg}# 构造数据矩阵X np.column_stack([data[key] for key in data.keys()])feature_names list(data.keys())# 标准化scaler StandardScaler()X_scaled scaler.fit_transform(X)# PCA计算pca PCA()X_pca pca.fit_transform(X_scaled)# 方差贡献率explained_variance_ratio pca.explained_variance_ratio_cumulative_variance_ratio np.cumsum(explained_variance_ratio)print( * 80)print(主成分分析结果 - 方差贡献率)print( * 80)print(f{主成分:10} {方差贡献率(%):20} {累计方差贡献率(%):20})print(- * 50)for i, (evr, cvr) in enumerate(zip(explained_variance_ratio, cumulative_variance_ratio)):print(fPC{i1:5} {evr*100:20.2f} {cvr*100:20.2f})if cvr 0.85:print(f\n 累计方差贡献率超过85%前{i1}个主成分可解释大部分数据变异)break2.3 方差贡献率分析结果主成分特征值方差贡献率(%)累计方差贡献率(%)解释意义PC1​5.8248.5​48.5操作条件综合因子相比、pH、温度、皂化率PC2​2.3419.5​68.0进料浓度因子Ni、Co、Mg浓度PC3​1.5613.0​81.0流量因子有机、水相、碱液流量PC4​0.897.4​88.4设备状态因子搅拌强度、级数PC50.524.392.7—PC60.312.695.3—PC70.221.897.1—PC80.151.398.4—PC90.100.899.2—PC100.050.499.6—PC110.030.399.9—PC120.010.1100.0—关键结论前4个主成分解释了88.4%的数据变异可代表原始12个变量的绝大部分信息PC1操作条件因子占48.5%说明相比、pH、温度、皂化率是影响萃取效率的最关键因素PC2进料浓度因子占19.5%说明原料波动对工艺影响显著2.4 累计方差贡献率图# 绘制碎石图和累计方差贡献率图fig, axes plt.subplots(1, 2, figsize(14, 5))# 左图碎石图axes[0].bar(range(1, len(explained_variance_ratio)1), explained_variance_ratio, alpha0.7)axes[0].plot(range(1, len(explained_variance_ratio)1), explained_variance_ratio, ro-)axes[0].set_xlabel(主成分编号)axes[0].set_ylabel(方差贡献率)axes[0].set_title(碎石图)axes[0].axhline(y0.074, colorr, linestyle--, label累计85%阈值)axes[0].legend()# 右图累计方差贡献率axes[1].plot(range(1, len(cumulative_variance_ratio)1), cumulative_variance_ratio*100, bo-, linewidth2)axes[1].axhline(y85, colorr, linestyle--, label85%阈值)axes[1].fill_between(range(1, 5), 0, cumulative_variance_ratio[:4]*100, alpha0.3)axes[1].set_xlabel(主成分编号)axes[1].set_ylabel(累计方差贡献率(%))axes[1].set_title(累计方差贡献率)axes[1].legend()plt.tight_layout()plt.show()二、载荷矩阵分析3.1 载荷矩阵计算# # 载荷矩阵分析# # 载荷矩阵主成分与原始变量的相关系数loadings pca.components_.T * np.sqrt(pca.explained_variance_)# 转换为DataFrame便于查看import pandas as pdloadings_df pd.DataFrame(loadings[:, :4], # 只取前4个主成分indexfeature_names,columns[fPC{i1} for i in range(4)])print(\n * 80)print(载荷矩阵前4个主成分)print( * 80)print(loadings_df.round(3))# 计算每个变量在前4个主成分上的载荷平方和共同度communality np.sum(loadings[:, :4]**2, axis1)loadings_df[共同度] communality.round(3)print(\n * 80)print(变量共同度被前4个主成分解释的比例)print( * 80)print(loadings_df[[共同度]].sort_values(共同度, ascendingFalse))3.2 载荷矩阵分析结果载荷矩阵揭示了各原始参数与主成分的关系liPC1主要受相比(O/A)和试剂添加量影响/liliPC2主要受pH值和皂化率影响/liliPC3主要受温度影响/li变量PC1(操作条件)PC2(进料浓度)PC3(流量)PC4(设备状态)共同度相比(O/A)​0.892​-0.1520.218-0.0890.875​pH​0.845​0.112-0.1890.0650.769​温度​0.812​-0.0950.154-0.1780.728​皂化率​0.778​0.213-0.3120.0450.745​萃取级数0.345-0.0870.1230.856​0.882​搅拌强度0.4120.056-0.0980.789​0.801​进料Ni浓度0.1020.912​-0.0540.0780.852​进料Co浓度0.0850.887​0.032-0.0910.802​进料Mg浓度-0.2150.765​0.1870.0340.671​有机相流量0.234已暂停生成。

相关新闻

【硬核解析】为什么自动驾驶与机器人底层全是 C++?一文看懂 C++ 的核心机制与哲学

【硬核解析】为什么自动驾驶与机器人底层全是 C++?一文看懂 C++ 的核心机制与哲学

2026/7/9 8:29:48

目录 前言 一、 C 的一生:从文本到机器码的四步跳跃 二、 内存管理机制:C 程序员的生与死 1. 栈区(Stack):快准狠,但极其有限 2. 堆区(Heap):广阔天地,但…

CPU、GPU、NPU、TPU 架构对比:5类处理器在AI推理中的能效与延迟实测

CPU、GPU、NPU、TPU 架构对比:5类处理器在AI推理中的能效与延迟实测

2026/7/9 8:29:48

CPU、GPU、NPU、TPU 架构对比:5类处理器在AI推理中的能效与延迟实测当我们需要在边缘设备或云端部署AI模型时,选择合适的处理器架构往往成为项目成败的关键。面对市场上琳琅满目的计算单元——从传统的CPU、GPU到专为AI设计的NPU、TPU,开发者…

如何构建高可用TigerVNC架构:国产化环境深度部署指南

如何构建高可用TigerVNC架构:国产化环境深度部署指南

2026/7/9 8:29:48

如何构建高可用TigerVNC架构:国产化环境深度部署指南 【免费下载链接】tigervnc High performance, multi-platform VNC client and server 项目地址: https://gitcode.com/gh_mirrors/ti/tigervnc TigerVNC作为一款高性能、跨平台的远程桌面解决方案&#x…

MongoDB基础入门:从安装到CRUD与索引优化

MongoDB基础入门:从安装到CRUD与索引优化

2026/7/9 9:50:00

MongoDB作为当下最流行的NoSQL数据库,其灵活的文档模型和强大的查询能力让它成为现代应用开发的首选。无论你是数据库新手还是有经验的开发者,本文将带你从零开始掌握MongoDB的核心技能,建立扎实的基础。 MongoDB简介与安装配置 MongoDB是什么…

Three.js hdr制作天空盒教程

Three.js hdr制作天空盒教程

2026/7/9 9:50:00

hdr制作天空盒 HDR Skybox ▶ 访问外部案例 你将学到什么 本案例核心 API 与实现思路对照源码与在线效果学习 效果说明 本案例演示 hdr制作天空盒 效果:基于 WebGL 实现「hdr制作天空盒」可视化效果。建议先打开文首在线案例查看动态画面,再对照下方…

终极方案:在Mac上免费解锁Xbox手柄的完整功能体验

终极方案:在Mac上免费解锁Xbox手柄的完整功能体验

2026/7/9 9:50:00

终极方案:在Mac上免费解锁Xbox手柄的完整功能体验 【免费下载链接】360Controller TattieBogle Xbox 360 Driver (with improvements) 项目地址: https://gitcode.com/gh_mirrors/36/360Controller 你是否曾经在Mac上连接Xbox手柄,却发现按键不响…

odex 接入 Notion:把 AI 结果写回知识库

odex 接入 Notion:把 AI 结果写回知识库

2026/7/9 9:50:00

篇只跑一个小案例。在 Notion 里准备一个测试页,把 Playwright Java 的两篇官方文档链接交给 Codex,让它整理成入门笔记,再返回写回后的页面链接。这个流程跑通以后,Notion 插件就不只是“能搜资料”。它可以把一组公开链接整理成…

九章字典引擎 九章编译法空间几何转译精修版

九章字典引擎 九章编译法空间几何转译精修版

2026/7/9 9:50:00

# 九章字典引擎 0/1拓扑步进 双链锁合 最终工业版 # 编译: gcc -no-pie -o dict dict_ultimate.s -lpthread# 常量 .equ P_MAX_NODES, 65536.equ P_MAX_BUCKETS, 65536.equ P_INIT_BUCKETS, 4.equ QCAP, 65536.equ RET_OK, 0.equ RET…

LangChain 学习笔记(二):Tool Calling、ToolMessage 与结构化输出到底怎么串起来

LangChain 学习笔记(二):Tool Calling、ToolMessage 与结构化输出到底怎么串起来

2026/7/9 9:40:00

LangChain 学习笔记(二):Tool Calling、ToolMessage 与结构化输出到底怎么串起来这是 LangChain 学习笔记系列的第二篇。第一篇主要整理了 ChatModel、Message、PromptTemplate 和 LCEL 调用链路。这一篇继续往下走,重点讲 LangCh…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/8 0:44:47

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/8 6:29:42

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/8 14:04:34

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

平价正宗重庆火锅实测|理性避坑选型指南

平价正宗重庆火锅实测|理性避坑选型指南

2026/7/9 0:09:12

一、引言:重庆火锅消费现存痛点当下大众平价川渝火锅赛道竞争白热化,普通消费者就餐普遍面临三大选型难题:一是口味同质化严重,大量门店采用预制锅底、半成品食材,打着重庆老火锅旗号弱化牛油本味,麻辣口感…

AcFunDown:打破A站视频离线观看壁垒的终极解决方案

AcFunDown:打破A站视频离线观看壁垒的终极解决方案

2026/7/9 0:09:12

AcFunDown:打破A站视频离线观看壁垒的终极解决方案 【免费下载链接】AcFunDown 包含PC端UI界面的A站 视频下载器。支持收藏夹、UP主视频批量下载 😳仅供交流学习使用喔 项目地址: https://gitcode.com/gh_mirrors/ac/AcFunDown 想象一下这样的场景…

【复现】面向新能源消纳能力评估的年负荷序列建模及场景生成方法(Matlab代码实现)

【复现】面向新能源消纳能力评估的年负荷序列建模及场景生成方法(Matlab代码实现)

2026/7/9 0:09:12

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…