MATLAB解决偏最小二乘回归分析法

来源:百度知道 编辑:UC知道 时间:2024/06/16 16:10:21
已知三个自变量值x、y、z和一个函数值e,通过新方法求得e与自变量之间的函数关系
x y z e x y z e
1.2424 1 200 -0.0000850 400 400 200 -0.0532630
1.2424 1 350 -2.7112000 400 400 350 0.9908900
1.2424 1 500 0.3282800 400 400 500 1.2144000
1.2424 400 200 0.0027129 600 1 200 -0.7455400
1.2424 400 350 1.0997000 600 1 350 -0.5715200
1.2424 400 500 2.7984000 600 1 500 -0.4054000
200 1 200 -0.6427100 600 400 200 1.9441000
200 1 350 2.0863000 600 400 350 0.7021700
200 1 500 -0.4607700 600 400 500 0.6903000
200 400 200 3.4253000 800 1 200 -6.4449000
200 400 350 4.8946000 800 1 350 -2.2801000
200 400 500 2.4998000 800 1 500 0.1483200
400 1 200 -2.2702000 800 400 200 -3.7869000
400 1 350 -0.8187100 800 400 350 0.2750100
400 1 500 -0.6684200 800 400 500 0.0515480
下列数据用于预测验证。
x y z e
1.2424 391 129.3769 -0.1019500

线性回归和二次线性回归都不太理想,用神经网络吧。
这是线性回归的程序:

A=[...
1.2424 1 200 -0.0000850 400 400 200 -0.0532630
1.2424 1 350 -2.7112000 400 400 350 0.9908900
1.2424 1 500 0.3282800 400 400 500 1.2144000
1.2424 400 200 0.0027129 600 1 200 -0.7455400
1.2424 400 350 1.0997000 600 1 350 -0.5715200
1.2424 400 500 2.7984000 600 1 500 -0.4054000
200 1 200 -0.6427100 600 400 200 1.9441000
200 1 350 2.0863000 600 400 350 0.7021700
200 1 500 -0.4607700 600 400 500 0.6903000
200 400 200 3.4253000 800 1 200 -6.4449000
200 400 350 4.8946000 800 1 350 -2.2801000
200 400 500 2.4998000 800 1 500 0.1483200
400 1 200 -2.2702000 800 400 200 -3.7869000
400 1 350 -0.8187100 800 400 350 0.2750100
400 1 500 -0.6684200 800 400 500 0.0515480]
B=[A(:,1:4);A(:,5:end)]
x=B(:,1:3),y=B(:,4)
format short g
X1=[ones(length(y),1),x]
B1=regress(y,X1)
[m,n]=size(x)
X2=[];
for i=1:n
for j