多元线性回归分析

举报
aqhs 发表于 2023/01/05 17:13:04 2023/01/05
【摘要】 一元线性回归用以解释一个自变量与因变量之间的线性关系,用y=ax+b来描述因变量y与一个自变量x的线性依存关系。由于事物之间的相互联系往往是多方面的,需要用线性方程来描述和分析一个因变量和多个自变量的数量关系,这就是多元线性回归。使用一组自变量和因变量的观测值,在误差平方和为最小的前提下,采用最小二乘法求解出线性回归系数,并考察回归方程的优劣以及变量的取舍。

多元线性回归分析

一元线性回归用以解释一个自变量与因变量之间的线性关系,用y=ax+b来描述因变量y(dependent variable)与一个自变量x(independent variable)的线性依存关系。由于事物之间的相互联系往往是多方面的,需要用线性方程来描述和分析一个因变量和多个自变量的数量关系,这就是多元线性回归模型(multivariable linear regression model)。使用一组自变量和因变量的观测值,在误差平方和为最小的前提下,采用最小二乘法求解出线性回归系数,并考察回归方程的优劣以及变量的取舍。一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或者估计因变量,具有普遍实际意义。

1 多元线性回归计算说明

设随机因变量为y,m个自变量组成的向量为X:

给定n组自变量和因变量观测值:

用线性表达式对观测数据进行回归分析,

根据最小二乘原理,使下列q值达到最小求得回归系数。

具体计算方法描述如下:

解方程RA=B,求得向量A即多元线性回归系数(regression coefficient):

使用自变量样本数据构建(m+1)×n维数据矩阵C:

计算(m+1)×(m+1)维矩阵R:

计算m+1维向量B,

可以用下列五个指标来衡量回归效果。

(1)​ 偏差平方和

(2)​ 平均标准偏差

(3)​ 复相关系数

当复相关系数r接近于1时,说明相对误差q/t接近于0,线性回归效果好。

(4)​ 回归平方和

(5)​ 偏相关系数

当偏相关系数vj越大时,说明xj对于y的作用越显著,此时不可把xj剔除掉。

参考文献

[1] 徐士良 编. C常用算法程序集[M]. 北京 清华大学出版社,1994年1月第1版,397-401.
[2] 宁智 编. Microsoft C科学与工程工具库[M]. 北京 学苑出版社,1993年12月第1版. 16-17.
[3] [美]W.H.Press, S.A.Teukolsky, W.T.Vetterling, B.P.Flannery 著. 傅祖芸,赵梅娜,丁岩 等译. C语言数值算法程序大全(第二版)[M]. 北京 电子工业出版社,1995年10月第1版. 第568-576页.
Numerical Recipes in C, The Art of Scientific Computing, Second Edition, Cambridge University Press, 1988, 1992.
[4] 田金方 译. 数理统计与数据分析[M]. 北京 机械工业出版社,2016年5月第1版,第373-406页.
(美)John A.Rice. Mathematical Statistics and Data Analysis (Third Edition).
[5] 刘筱娴 主编. 医学统计学[M]. 北京 科学出版社,2000年10月第1版. 第224-235页.
[6] 蒋长锦 编著. 科学计算和C程序集[M]. 合肥 中国科学技术大学出版社,1998年9月第1版. 第190-198页.
[7] 赵选民,徐伟,帅义民,秦超英 编. 数理统计[M]. 北京 科学出版社,2002年9月第2版. 第257-280页.

2 软件操作说明

菜单操作:《工具箱》→ 《外部工具》,弹出对话框,选择“数值表格”按钮,显示数值表格显示程序。

数值表格显示程序。在表格中选择因变量列,其余列为自变量列。

选择《处理》→ 《多元线性回归》菜单项,以当前列为因变量,其他列为自变量,进行多元线性回归计算,得到如下结果,

其中显示了回归系数,偏相关系数,以及复相关系数,平均标准偏差,偏差平方和,回归平方和参数。复相关系数越接近1表示线性模型越好。偏相关系数反映变量的重要性,越接近1表示该变量越重要。可以将计算结果保存到文本文件之中。

本软件限制自变量个数不得多于40个,如果超出40则只取前40个变量。

样本数据文件可保存在文本(*.txt)文件之中,以ANSI编码,第1行是列标题,第1列是行标题,每行代表一个样本数据,样本数之间用逗号(,)隔开。

一个股票价格数据的多元线性回归例子

3 支持的表格数据文件格式

(1) 表格数据的ASCII文件格式(带行列标题)

以下是ASCII文件(*.txt)保存的矩阵数据例子,第1行是列标题,第1列是行标题,中间是数值,数据之间用逗号或者分号、空格、制表符隔开,ANSI编码保存,注意行列标题应当使用字母开头。文件采用ANSI编码保存。

Sn,Y,V2,V3,V4,V5,V6
S1,2.57958,2.00000,2.00000,2.00000,2.00000,2.00000
S2,2.62922,1.99112,1.98423,1.97538,1.96457,1.95183
S3,2.74138,1.96457,1.93717,1.90211,1.85955,1.80965
S4,2.99739,1.92059,1.85955,1.78201,1.68866,1.58031
S5,3.24942,1.85955,1.75261,1.61803,1.45794,1.27485
S6,3.48036,1.78201,1.61803,1.41421,1.17557,0.90798
S7,3.77536,1.68866,1.45794,1.17557,0.85156,0.49738
S8,4.06546,1.58031,1.27485,0.90798,0.49738,0.06282
S9,4.33679,1.45794,1.07165,0.61803,0.12558,-0.37476
S10,4.59991,1.32262,0.85156,0.31287,-0.25067,-0.79430
S11,4.71013,1.17557,0.61803,0.00000,-0.61803,-1.17557
S12,4.74119,1.01808,0.37476,-0.31287,-0.96351,-1.50022
S13,4.68006,0.85156,0.12558,-0.61803,-1.27485,-1.75261
S14,4.41395,0.67748,-0.12558,-0.90798,-1.54103,-1.92059
S15,4.07169,0.49738,-0.37476,-1.17557,-1.75261,-1.99605
S16,3.50729,0.31287,-0.61803,-1.41421,-1.90211,-1.97538
S17,2.83722,0.12558,-0.85156,-1.61803,-1.98423,-1.85955
S18,2.07203,-0.06282,-1.07165,-1.78201,-1.99605,-1.65416

(2) 不带行列标题的纯数值ASCII文件

ASCII文件可以用记事本程序编辑产生,但在保存时需使用ANSI编码。例如:

2.57958,2.00000,2.00000,2.00000,2.00000,2.00000
2.62922,1.99112,1.98423,1.97538,1.96457,1.95183
2.74138,1.96457,1.93717,1.90211,1.85955,1.80965
2.99739,1.92059,1.85955,1.78201,1.68866,1.58031
3.24942,1.85955,1.75261,1.61803,1.45794,1.27485
3.48036,1.78201,1.61803,1.41421,1.17557,0.90798
3.77536,1.68866,1.45794,1.17557,0.85156,0.49738
4.06546,1.58031,1.27485,0.90798,0.49738,0.06282
4.33679,1.45794,1.07165,0.61803,0.12558,-0.37476
4.59991,1.32262,0.85156,0.31287,-0.25067,-0.79430
4.71013,1.17557,0.61803,0.00000,-0.61803,-1.17557
4.74119,1.01808,0.37476,-0.31287,-0.96351,-1.50022
4.68006,0.85156,0.12558,-0.61803,-1.27485,-1.75261
4.41395,0.67748,-0.12558,-0.90798,-1.54103,-1.92059
4.07169,0.49738,-0.37476,-1.17557,-1.75261,-1.99605
3.50729,0.31287,-0.61803,-1.41421,-1.90211,-1.97538
2.83722,0.12558,-0.85156,-1.61803,-1.98423,-1.85955
2.07203,-0.06282,-1.07165,-1.78201,-1.99605,-1.65416
1.09495,-0.25067,-1.27485,-1.90211,-1.93717,-1.36909
0.10474,-0.43629,-1.45794,-1.97538,-1.80965,-1.01808
-0.95385,-0.61803,-1.61803,-2.00000,-1.61803,-0.61803
-2.16736,-0.79430,-1.75261,-1.97538,-1.36909,-0.18822
-3.27709,-0.96351,-1.85955,-1.90211,-1.07165,0.25067
-4.45848,-1.12417,-1.93717,-1.78201,-0.73625,0.67748
-5.55199,-1.27485,-1.98423,-1.61803,-0.37476,1.07165

(3) TabData矩阵数据二进制文件格式(*.TabData,不带行列标题)

(a) 文件标识,头8个字节,数据为84,97,98,68,97,116,97,0,代表TabData。
(b) 紧接为4字节,存储矩阵的行数,nRows。
(c) 接着是4字节,存储矩阵的列数,nCols。
(d) 后面是nRows×nCols个浮点数,每个数占4字节,存储矩阵元素,a(i*nCols+j),j=0…nCols-1, i=0…nRows-1。

(4) tabx矩阵数据二进制文件格式(*.tabx,带行列标题)

(a)​ 文件头,8个字节,116,97,98,120,0,0,0,0。
(b)​ 行数nRows,4字节整数。
(c)​ 列数nCols,4字节整数。
(d)​ 左上角标题,占16字节。
(e)​ 列标题,每列标题占16字节,共计长度nCols*16。
(f)​ 行标题,每行标题占16字节,共计长度nRows*16。
(g)​ 矩阵数据,长度为4*nRows*nCols字节,每个元素为4字节浮点数,a(i*nCols+j)。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。