regression-analysis-algorithm

regression-analysis-algorithm

Charles Lv7

回归分析算法

回归分析算法的概念与建模

回归分析算法的概念

回归分析的任务就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。

一元线性回归模型
image-20230902114829335
多元线性回归模型
image-20230902115817010
逐步回归分析模型

“最优”的回归方程就是包含所有对Y有影响的变量, 而不包含对Y影响不显著的变量回归方程.

选择“最优”的回归方程有以下几种方法:

(1)从所有可能的因子(变量)组合的回归方程中选择最优者;

(2)从包含全部变量的回归方程中逐次剔除不显著因子;

(3)从一个变量开始,把变量逐个引入方程;

(4)“有进有出”的逐步回归分析.

以第四种方法,即逐步回归分析法在筛选变量方面较为理想

逐步回归分析法的思想:

  • 从一个自变量开始,视自变量Y对作用的显著程度,从大到小地依次逐个引入回归方程.

  • 当引入的自变量由于后面变量的引入而变得不显著时,要将其剔除掉.

  • 引入一个自变量或从回归方程中剔除一个自变量,为逐步回归的一步.

  • 对于每一步都要进行Y值检验,以确保每次引入新的显著性变量前回归方程中只包含对Y作用显著的变量.

  • 这个过程反复进行,直至既无不显著的变量从回归方程中剔除,又无显著变量可引入回归方程时为止.

回归分析模型的建模

回归分析模型的适用条件
  • 回归分析可以作为对拟合问题做的一种统计分析
  • 在作为预测模型使用时可以适用于自变量和因变量之间有逻辑相关性时
普通最小二乘法(OLS)

给定一组样本观测值(Xi, Yi),i=1,2,…n,假如模型参数估计量已经求得,并且是最合理的参数估计量,那么样本回归函数应该能够最好地拟合样本数据,即样本回归线上的点与真实观测点的“总体误差”应该尽可能地小。

普通最小二乘法给出的判断标准是:二者之差的平方和最小。

image-20230902115014383

检验、预测与控制

回归方程的显著性检验

image-20230902115059059 image-20230902115115798 image-20230902115127184

回归系数的置信区间

image-20230902115153192

预测与控制

预测
image-20230902115257286
控制
image-20230902115315966

MATLAB代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
%reg.m
%回归分析法解
%…………………………………………
clc
%原始数据
%公路客运量(万人)
glkyl=[12815 15543 19326 22864 26150 28468 30882 39375 45759 49589 52560 48726 51083 56495 62767 83606 92090 101370 107317 108654 111847 112872 116997 126007 128980];
%公路货运量(万吨)
glhyl=[2690 2998 3012 3042 3616 3728 3988 9397 17680 19426 24128 24354 22879 24162 28957 36439 40593 45052 47400 45224 45338 45815 47151 55705 63532];
%市区人数(万人)
sqrs=[47.8 52.2 59 63.1 68.5 70 72 79.2 84.7 88.6 91 93 97.5 103.7 110 123 129.6 132 137.6 141 145 155.5 157 163.1 165.9];
%市区机动车数(万辆)
sqjdcs=[1.2 1.5 1.7 1.8 2.1 2.7 2.9 3.2 3.4 3.7 4.3 4.4 4.5 4.7 5 5.2 5.4 5.7 5.9 6.2 6.3 6.7 7.2 7.5 7.9];
%市区公路面积(万平方公里)
sqglmj=[0.2 0.25 0.25 0.3 0.45 0.5 0.5 0.7 0.7 0.75 0.8 0.8 0.85 1.1 1.25 1.3 1.3 1.5 1.55 1.75 1.8 1.8 2.05 2.1 2.3];
bb=[sqrs;sqjdcs;sqglmj]'; %输入数据矩阵
cc=[glkyl;glhyl]'; %输出数据矩阵

V=[]; %将来的系数矩阵
sh=[];
X=[ones(25,1) , bb]; %自变量矩阵(注意:第一列全为1)

%回归法求系数
for n=1:2
[b,bint,r,rint,ss]=regress(cc(:,n),X,0.0005); %regress函数
V(:,n)=b; %系数矩阵
sh(:,n)=r;
end

%带回验算 并绘图与原始数据对比
nf=1980:2004;
RLW=X*V;
figure;plot(nf,cc,'b:+');
hold on
plot(nf,RLW,'r-.');
grid on

%利用线性拟合出的数据来预测05、06的公路客运量和货运量
nh=[170.67 175.7
7.927 8.1949
2.1955 2.2818]';
nn=[zeros(2,1),nh];
ycc=nn*V; %预测结果
  • Title: regression-analysis-algorithm
  • Author: Charles
  • Created at : 2023-09-02 10:38:48
  • Updated at : 2023-09-03 09:12:26
  • Link: https://charles2530.github.io/2023/09/02/regression-analysis-algorithm/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments