资讯

展开

dy161(dy161网站恢复了吗)

作者:本站作者 人气:

很多朋友对于dy161和dy161网站恢复了吗不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

matlab怎么求多元线性回归方程系数?

应用中经常碰到多因子的问题,即多元线性回归。下面给大家介绍一下matlab怎么求多元线性回归方程系数。

1、对于多元线性回归方程系数的求解,通常使用matlab中自带的函数regress来求。首先需要创建一个函数:function dy_beta=dyxxgxs(X,y); X,y是输入的两个参数,自变量和因变量,如图所示:

2、然后检测输入的因变量和自变量是否正确,如图所示~=是不等于的意思,如果不等于则报错。if nargin~=2 erro('需要输入因变量和自变量')end

3、接下来,需要求X自变量和y因变量的行列数,使用[m n]=size();如图所示[n q]=size(X);[n1 q1]=size(y);%求变量的行列数。

4、检验自变量和因变量的行是否相等,检测自变量y是否为列向量,如图所示if n~=n1, error('输入参数y的行数,必须等于输入参数X的行数.');endif collhs~=1, error('输入参数y应该是一个列向量')。

5、需要对自变量X进行添加一列1的数据,将数据写成矩阵形式,需要一列1的数据才能得到正确的结果。B=[ones(n,1),X];

6、最后就是求多元线性回归模型的系数,即公式dy_beta=By;即可得到系数参数,如图所示

1、第一步我们打开matlab,在命令行窗口中输入“x=[143 144 145 147 148 150 153 154 155 156 157 158 159 160 161 162]';X=[ones(16,1),x];Y=[87 85 88 91 92 90 93 95 98 98 97 95 97 99 100 102]';[b,bint,r,rint,stats]=regress(Y,X)”,其中需要注意的是Y,X都是列向量,x后面加'是进行转置,将行向量转成列向量,如下图所示:


2、第二步我们可以看一下b的值,其中方程常数B0=-20.7500,变量系数B1=0.7500,置信区间是[-42.1526,0.6526]和[0.6105,0.8895],R的平方为0.9047,F为132.8768,P为0.0000,其中R的平方越接近于1代表回归模型越准确,P<0.5也代表Y=-20.7500+0.7500X方程成立,如下图所示:


3、第三步我们也可以绘制出图形,来看一下效果,t为样本数量,y_fitting为拟合的值,通过plot(t,y_fitting,'r-',t,Y(t,:),'b-',t,abs(y_fitting-Y(t,:)),'k-');绘制出Y实际值曲线和拟合值曲线,以及残差曲线,如下图所示:


4、第四步我们也可以将残差的置信区间上限,下限绘制出来,如下图所示:


5、第五步运行脚本,我们可以看到多元线性回归的拟合效果,两条曲线已经比较接近了,如下图所示:


6、第六步我们可以看到残差值都在置信区间上限,下限里面,代表回归模型正常,如下图所示:

好了,关于dy161和dy161网站恢复了吗的问题到这里结束啦,希望可以解决您的问题哈!

加载全部内容

相关教程
猜你喜欢
用户评论