从案例中学习新知识是比较快的,所以我们直接上例子:
(本文为基础学习,以理解为主)
案例一:拟合一元一次
x = [143,145,146,148]
y = [11,13,14,15]
# 我们现在拟合这个y = bx+a
这里要介绍一个写好的包,regress()使用参数如下:
[B,BINT,R,RINT,STATS] = regress(Y,X)
B:回归系数。(可以当斜率来理解)
BINT:回归系数的95%置信区间,可以暂时理解为B的一个取值范围(想要详细理解的可以bd)
R:残差。(这不用解释吧)
RINT:同BINT理解。
STATS:检验模型的统计量,它包括四个值:①判定系数R^2,②统计量观测值F,③检验的p的值,④误差方差的估计。(这里简单说下判定系数,他可以评价模型好坏,取值范围[0,1],越接近于1模型越好)
X = [143,145,146,148]';
Y = [11,13,14,15]';
X = [ones(size(Y)),X];
[b,bint,r,rint,stats] = regress(Y,X);
这里对x做了一点改动,加了一列1,(加与不加的区别是预测的结果有没有‘y=bx+a’的‘a’)
案例二:拟合二元二次
X1 = [143,145,146,148]';
X2 = [56,58,59,61]';
Y = [11,13,14,15]';
X = [ones(size(Y)),X1.^2,X2.^2,X1,X2,X1.*X2];
[b,bint,r,rint,stats] = regress(Y,X);
其他的可以举一反三。