元线性回归分析及其Matlab实现

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 11:43   526   0
  • 回归分析简介

回归(regression)一词最早由英国科学家弗朗西斯·高尔顿(Francis Galton)提出。高尔顿发现:“子辈的平均身高是其父辈平均身高以及他们所处族群平均身高的加权平均和”,这种现象称为“均值回归或者平庸回归”[1]。回归分析(regression analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。按照自变量的多少,可分为一元回归分析和多元回归分析;按照自变量因变量之间的关系类型,可分为线性回归分析和非线性回归分析[2]

线性回归分析的数学表达式为:

当n=1时为一元线性回归分析,当n>1时为多元回归分析,称为回归参数,通常采用最小二乘法来确定。Matlab中提供了函数regress来实现线性回归分析。

  • 基于Matlab的线性回归分析

1.函数regress语法:

[ b,bint,r,rint,stats ] = regress( y, x )

b表示回归参数

bint为回归参数b的置信区间

r表示残差

rint为残差r的置信区间

stats为用于检验回归模型的统计量

y为观测值

2.案例:

现有两组数据如下表,分别表示工作时间和收入,分析这两个因素之间是否存在线性关系。

工作时间

1097

1284

1502

1394

1303

1555

1917

2051

2111

收入

698

872

988

807

738

1025

1316

1539

1561

工作时间

2286

2311

2003

2435

2625

2948

3155

3372

收入

1765

1762

1960

1902

2013

2446

2736

2825

Matlab实现如下:

x = [ 1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3155 3372 ];
y = [ 698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825 ];
X = [ ones(size(x')), x'];
[ b,bint,r,rint,stats ] = regress( y', X, 0.05 );
rcoplot(r, rint)     %绘制残差图

运行结果如下:

b的输出值为-460.528, 0.984

也就是回归分析方程为:

残差图如下:

通过此回归方程即可得出工作时间与收入之间的具体的线性关系,而且可以以此预测其它工作时间长的收入情况。

  • 参考文献
  1. https://www.zhihu.com/question/30123729
  2. https://baike.so.com/doc/818671-865857.html

作者:YangYF

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP