偏最小二乘logistic回归
偏最小二乘logistic回归哪位有偏最小二乘logistic回归的程序?
想用它来做分类
可是第一步求logistic的系数就不知道怎么求了
郁闷
现在只编写了一般的线性偏最小二乘程序
哪位有的提供一下或给个思路
谢谢!!! % PLS 单因变量偏最小二乘回归
clear
% 原始数据:自变量 X, 因变量 Y
load XYpls
% 标准化 X--E0 , Y--F0
=prestd(X') ; E0=E0'
=prestd(Y') ; F0=F0'
E=E0; F=F0;
beta=0 ; Fg=0;
for ii=1:3
EF= ; =size(E)
EFcov=cov(EF) ; EFcov=EFcov(1:end-1,:) %协方差矩阵
w=EFcov(:,p+1)/sqrt(sum(EFcov(:,p+1).^2))
t=E*w
q=E0'*t/(t'*t)
r=F0'*t/(t'*t)
ww=pinv(E0)*t % w*
beta=r*ww+beta % 回归系数β
Fg=t*r+Fg % 预测值
E=E-t*q' ; F=F-t*r % 残差矩阵
end
Yg=poststd(Fg,meanY,stdY) % 预测值(还原值)
% 模型检验
% 复测定系数 R^2
SSE=sum((Y-Yg).^2)
SST=sum((Y-ones(n,1)*meanY).^2)
R2 = 1-SSE/SST % 复测定系数 R^2
R2tz = 1-(1-R2)*(n-1)/(n-p-1) % 调整复测定系数 R^2tz
% F 检验
F = ((SST-SSE)/p)/(SSE/(n-p-1))
来自:研学
回复 沙发 风花雪月 的帖子
您好,这段程序中对初始的数据是不是有什么要求,我做的输入是800*4的矩阵,输出是800*5的矩阵,运行后不行,t=E*w这步不对呢,w是一个8*1的矩阵,E是4*800的矩阵,对程序的算法也不十分明白,能给解释一下不?:loveliness:敬待回信
页:
[1]