多元线性回归 matlab中求解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多元线性回归matlab中求解
源代码:
y=data(:,1);
>> x=data(:,2:3);
>> [b,bint,r,rint,stats]=regress(y,x)
结果:
b =1.6031
21.0280
bint =0.6449 2.5612
14.4526 27.6034
r =-16.2442
8.8754
17.5828
8.3155
7.6692
-20.7990
0.1578
9.1298
21.1145
-28.9567
rint =-54.5200 22.0316
-28.0267 45.7775
-15.2745 50.4401
-29.9540 46.5850
-30.7374 46.0758
-57.6551 16.0572
-40.7942 41.1098
-30.8252 49.0848
-15.2155 57.4446
-59.3228 1.4095
stats =1.0148 742.1191 0.0000 322.5068
分析结果:
stats四个值说明:判决系数r^2,,F统计值,p值,误差方差
y=a1*x(1)+a2*x(2);其中a1=1.6031,a2=21.0280,
a1的置信区间【0.6449,2.5612】,a2的置信区间【14.45426,27.6043】,p小于0.05,说明显著效果很好,越小越好
在spss中求解:
线性规划matlab求解
例1:c=[2;3;1]; mix z=2*x1+3*x2+x3 >> a=[1 4 2;3 2 0]; s.t 1.x1+4*x2+2*x3>=8; >> b=[8;6]; 2.3*x1+2*x2>=6;
>> [x,y]=linprog(c,-a,-b,[],[],zeros(3,1) ) 3.x1>=0,x2>=0,x3>=0结果:x =0.8066
1.7900
0.0166 %最优解
y =7.0000 %最优值
例2:c=[2;3;-5]; max z=2*x1+3*x2-5*x3
a=[-2,5,-1];b=-10; s.t 1.x1+x2+x3=7;
aeq=[1,1,1]; 2.2*x1-5*x2+x3>=10;
beq=7; 3.x1>=0,x2>=0,x3>=0
%是求最大值而不是最小值,注意这里是"-c"而不是"c"
x=linprog(-c,a,b,aeq,beq,zeros(3,1))
value=c'*x
结果:x =6.4286
0.5714
0.0000 %最优解
value = 14.5714 %最优值
例3.(整数规划)
灰色预测
clear
syms a b;
c=[a b]';
A=[89677,99215,109655,120333,135823,159878,182321,209407,246619,300670];
B=cumsum(A); %原始数据累加
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵end
% 计算待定参数的值
D=A;D(1)=[];
D=D' ;
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c' ;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据end
t1=1999:2008;
t2=1999:2018;
G
plot(t1,A,'o',t2,G)
结果; 1.0e+006 *
0.0897
0.0893
0.1034
0.1196
0.1385
0.1602
0.1854
0.2146
0.2483
0.2873
0.3325
0.3847
0.4452
0.5152
0.5962
0.6899
0.7984
0.9239
1.0691
1.2371