非线性普遍存在于工业系统中,这里用核函数来处理原始数据,使得原始数据近似为线性数据结构。再通过偏最小二乘法进行质量指标的预测,T2/SPE统计量来检测系统故障。
数据
链接:https://pan.baidu.com/s/1yHgZRqy6yyk9wsm6igqUSw
提取码:odsz
核函数
本代码使用高斯核函数:
function K = gaussian_kernel(X, Y, sigma)
% X: 第一个数据集 (行表示样本,列表示特征)
% Y: 第二个数据集
% sigma: 高斯核的宽度参数
% 获取数据集的尺寸
nX = size(X, 1); % X 中的样本数
nY = size(Y, 1); % Y 中的样本数
% 计算 X 和 Y 之间的欧几里得距离的平方
% 这里使用矩阵运算来加速计算
XX = sum(X.^2, 2); % X 每个样本的平方和
YY = sum(Y.^2, 2); % Y 每个样本的平方和
% 使用矩阵操作计算欧几里得距离的平方
D = XX + YY' - 2 * (X * Y'); % 欧几里得距离的平方矩阵
% 计算高斯核矩阵
K = exp(-D / (2 * sigma^2));
end
T2控制限
function T2_limit = calculateT2Limit(n, p, alpha)
% 计算 T^2 控制限
% 输入:
% n - 样本数
% p - 主元数
% alpha - 置信水平,通常是 0.05