R学习日记——线性回归分析

先来介绍线性回归定义,本人较懒,直接引用百度百科的解释。
在统计学 中,线性回归(LinearRegression)是利用称为线性回归方程的最小平方函数对一个或多个 自变量 因变量 之间关系进行建模的一种 回归分析 。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。(这反过来又应当由多个相关的因变量预测的多元线性回归区别,[引文需要],而不是一个单一的标量变量。)

线性回归分析主要有两大用途,他们为:
1.预测: 线性回归可以用来对观测数据集的和X的值拟合出一个预测模型。当完成这样一个模型以后,对于一个新增的X值,在没有给定与它相配对的y的情况下,可以用这个拟合过的模型预测出一个y值。(百度百科)
2.相关强度: 给定一个变量y和一些变量X1,...,Xp,这些变量有可能与y相关,线性回归分析可以用来量化y与Xj之间相关性的强度,评估出与y不相关的Xj,并识别出哪些Xj的子集包含了关于y的冗余信息。

首先我们先看看回归分析的假设,我们在随后的分析中会用到这些假设。他们分别为:
1.独立性:自变量相互独立,没有相关性
2.同方差性:对自变量的所有观测值,随机误差项均有相同的方差
3.正态性:随机误差项服从正态分布。

OK,我们开始建立线性回归模型进行预测。
这次的要预测的内容是:利用上市公司当年公开的财务指标对来年的盈利状况进行预测。本次案例随机抽取了深市和沪市02年和03年各500个样本,对上市公司的净资产收益率(returnon equity ROE)进行预测。(案例内容,莫吐槽)。
先来看看我们有哪些变量:
因变量:下一年的净资产收益率(ROE,也是我们要预测的变量)
自变量:1.ROEt:当年净资产收益率
      2.ATO: 资产周转率 assetturnover ratio
      3.LEV: 债务资本比率 debt to assetratio 反映公司基本债务状况
       4. PB: 市倍率 price to bookratio 反映公司预期未来成长率
      5.ARR: 应收账款 / 主营业务收入 accountreceivable over totalincome 反映公司的收入质量
       6.PM: 主营业务利润 / 主营业务收入 profitmargin 反映公司利润状况
       7. GROWTH: 主营业务增长率 sales growthrate 反映公司已实现的当年增长率
      8.INV: 存货 / 资产总计 inventory toasset ratio 反映公司的存货状况
      9.ASSET: (对数)资产总计 log-transformedasset 反映公司的规模

建模第一步,数据探索。
建模之前,我们要熟悉一下整体数据的情况,看是否需要标准化处理。下图为数据情况。
R学习日记——线性回归分析_第1张图片然后进行数据探索,观察这些数据的均值、中位数等情况。
R学习日记——线性回归分析_第2张图片第三,进行相关分析,看看各自变量间是否独立。
R学习日记——线性回归分析_第3张图片这时会发现,ROEt与因变量ROE有强相关性(吼吼,但是与其他自变量没有相关性)
>plot(a1$ROEt,a1$ROE)
R学习日记——线性回归分析_第4张图片
第二,开始初步建模,并检验模型(检验模型的三个假设,前文已经验证了一个)。
1.初步建模。
R学习日记——线性回归分析_第5张图片通过F检验,发现初步建模的模型线性关系显著。但从T检验发现,只有ROEt、LEV和GROWTH三个自变量与因变量线性关系较为显著(注意,并不是说其余字段可以剔除)。
2.模型诊断,即显著性检验。
>par(mfrow = c(2, 2))    # 设置画图为 2x2 的格式 
>plot(lm1,which= c(1:4)) # 画出 lm1 中对应于模型检验的 4 张图, 包括 残差图(自变量随机误差项是否同方差)、 QQ 图(检验随机误差项是否正态分布)和 Cook 距离图(检验异常值) 
R学习日记——线性回归分析_第6张图片
从上图分析得出,模型符合假设,但47号数据是异常数据,应以剔除。
>a1=a1(-47)
剔除后模型拟合效果及检验:
>lm2=lm(ROE~ROEtATO+PM+LEV+GROWTH+PB+ARR+INV+ASSET,data=a1 )
>summary(lm2)
R学习日记——线性回归分析_第7张图片 R学习日记——线性回归分析_第8张图片
第三,检验自变量多重共线性(实际当中我很少考虑,呵呵,偷工减料了)
通过方差膨胀因子检验。定义 容忍度的倒数,VIF越大,显示共线性越严重。经验判断方法表明:当0<VIF<10,不存在多重共线性;当10≤VIF<100,存在较强的多重共线性;当VIF≥100,存在严重多重共线性。
R学习日记——线性回归分析_第9张图片 根据数据发现,各个自变量的VIF都在10以内,没有多重共线性问题。模型检验结束。

再给一个R中线性回归选择变量的方法。通过AIC和BIC选择。
AIC方法比较保守,其中 p 为自变量个数, 与RSS 成反比。 使 AIC 达到最小的模型是最优的。
R学习日记——线性回归分析_第10张图片
BIC 相对不那么保守,因此保留的变量可能会比较 少。
R学习日记——线性回归分析_第11张图片 R学习日记——线性回归分析_第12张图片 R学习日记——线性回归分析_第13张图片第四,模型建立完毕,我们进行模型的效果检验及各个模型之间的效果比对。
2003年数据为检验数据,可以用如下方法对数据进行准备。
R学习日记——线性回归分析_第14张图片建立模型机效果比对。
R学习日记——线性回归分析_第15张图片

R学习日记——线性回归分析_第16张图片

你可能感兴趣的:(算法)