tls.m

来自「基于多元线性回归、偏最小二乘、神经网络、卡尔漫滤波、径向基网络、主成分分析等等的」· M 代码 · 共 35 行

M
35
字号

function [F,error] = tls(X,Y)

%   [F,error] = tls(X,Y)
%
% Total Least Squares regression 
%
% Input parameters:
%  - X: Input data block (k x n)
%  - Y: Output data block (k x m)
% Return parameters:
%  - F: Mapping matrix, Yhat = X*F
%  - error: Prediction errors
%
% Heikki Hyotyniemi Dec.21, 2000


[kx,n] = size(X);
[ky,m] = size(Y);
if kx ~= ky
   disp('Incompatible X and Y'); break; 
else
   k = kx;
end

F = zeros(n,m);
for i = 1:m
   Z = [Y(:,i),X];
   l = pca(Z,-1);
   F(:,i) = -l(2:length(l))/l(1);
end

Yhat = X*F;
error = Y - Yhat;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?