【matlab 多元回归】matlab数值预测--多元回归算法

主要内容:
1、excel数据读取
2、回归模型建立
3、预测及作图
4、相关性分析

对七个自变量,2个因变量分别做多元线性线性回归。

数据形式如下:
这里写图片描述

下面是matlab 代码:

clc,clear all
%% 
% 读取excel数据,data存放数值数据,text存放文本数据

[data1,text1]  = xlsread('E://ID//data//data.xlsx');

%%
%建立第一个多元回归模型
y1=data1(:,1);
y2=data1(:,2);
x=data1(:,3:end);
X=[ones(length(y1),1),x];
%%
%%
%(1)b=regress( Y,  X ) 确定回归系数的点估计值
%其中,Y为n*1的矩阵;X为(ones(n,1),x1,…,xm)的矩阵;
%(2)[b, bint,r,rint,stats]=regress(Y,X,alpha) 求回归系数的点估计和区间估计,并检验回归模型
%b 回归系数
%bint 回归系数的区间估计
%r 残差
%rint 残差置信区间
%stats 用于检验回归模型的统计量,有四个数值:相关系数R2F值、与F对应的概率p,
%误差方差。相关系数R2越接近1,说明回归方程越显著;F > F1-α(k,n-k-1)时拒绝H0F越大,说明回归方程越显著;
%与F对应的概率p 时拒绝H0,回归模型成立。p值在0.01-0.05之间,越小越好。




%%
%%现在要做的是多元线性回归,第一次以TIC为被解释变量,PUT/CALL/BOND RATING/ISSUER RATING/SCALE/MATURITY/PLC这七个为解释变量
%%

[b1,bint1,r1,rint1,stats1]=regress(y1,X);
%b1 是多元回归方程的系数
b1,bint1,stats1
%画残差图
rcoplot(r1,rint1)

%预测及作图
z=b1(1)+b1(2)*x(:,1)+b1(3)*x(:,2)+b1(4)*x(:,3)+b1(5)*x(:,4)+b1(6)*x(:,5)+b1(7)*x(:,6)+b1(8)*x(:,7);
plot(X,y1, 'k+',X,z, 'g')
%%
%第二次以SPREAD为被解释变量,解释变量还是上面那七个

[b2,bint2,r2,rint2,stats2]=regress(y2,X);
%b1 是多元回归方程的系数
b2,bint2,stats2
%画残差图
rcoplot(r2,rint2)

%预测及作图
z=b2(1)+b2(2)*x(:,1)+b2(3)*x(:,2)+b2(4)*x(:,3)+b2(5)*x(:,4)+b2(6)*x(:,5)+b2(7)*x(:,6)+b2(8)*x(:,7);
plot(X,y1, 'k+',X,z, 'o')



%%
%相关性分析
corr(x,y1,'type','Pearson')
corr(x,y2,'type','Pearson')
corr(x,'type','Pearson')
%%


b1 =

    8.7803
   -0.2399
    0.0381
   -0.4612
   -0.2660
   -0.2402
   -0.2677
    0.8170


bint1 =

    8.5136    9.0470
   -0.4441   -0.0357
   -0.0453    0.1216
   -0.5152   -0.4071
   -0.3069   -0.2252
   -0.3704   -0.1100
   -0.5724    0.0369
    0.7101    0.9239


stats1 =

    0.4004  421.1214         0    1.2627


b2 =

    6.1661
   -0.2509
    0.1169
   -0.4750
   -0.2732
   -0.0263
   -1.1360
    0.4911


bint2 =

    5.9500    6.3823
   -0.4164   -0.0853
    0.0492    0.1845
   -0.5188   -0.4312
   -0.3063   -0.2401
   -0.1318    0.0793
   -1.3829   -0.8890
    0.4045    0.5778


stats2 =

    0.4417  498.9204         0    0.8297


ans =

   -0.1065
   -0.1615
   -0.5202
   -0.5592
   -0.2346
    0.1174
    0.4007


ans =

   -0.0961
   -0.0641
   -0.5980
   -0.6006
   -0.2709
   -0.0374
    0.2754


ans =

    1.0000    0.1948    0.0490    0.0884   -0.0298   -0.0516   -0.1763
    0.1948    1.0000   -0.0143    0.1192   -0.1496   -0.2906   -0.5675
    0.0490   -0.0143    1.0000    0.7021    0.3472    0.0667   -0.1916
    0.0884    0.1192    0.7021    1.0000    0.4365   -0.0402   -0.3682
   -0.0298   -0.1496    0.3472    0.4365    1.0000    0.2177    0.0802
   -0.0516   -0.2906    0.0667   -0.0402    0.2177    1.0000    0.5885
   -0.1763   -0.5675   -0.1916   -0.3682    0.0802    0.5885    1.0000

>> 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东华果汁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值