然而很多时候,被筛选的特征在模型上线的预测效果并不理想,究其原因可能是由于特征筛选的偏差。

但还有一个显著的因素,就是选取特征之间之间可能存在高度的多重共线性,导致模型对测试集预测能力不佳。

为了在筛选特征之初就避免陷入这样的误区。介绍一种VIF(方差膨胀检验)方法,来对特征之间的线性相关关系进行检验,从而选取到独立性更好的特征,增强模型的解释能力。

1.可决系数R^2

1.1什么是可决系数

可决系数,亦称测定系数、决定系数、可决指数。

与复相关系数类似的,表示一个随机变量与多个随机变量关系的数字特征,用来反映回归模式说明因变量变化可靠程度的一个统计指标,一般用符号“R”表示,

可定 义为已被模式中全部自变量说明的自变量的变差对自变量总变差的比值。

1.2总变异的分割

一个特定数值对于其平均值的偏离,称为离差,而一变量的各数值对于其平均值的偏离,称为变异。通常用离差平方和来描述变异程度。离差平方和又简称平方和(Sum of square)。在研究单变量的离中趋势描述时,我们已经接触了离差平方和的概念,样本标准差的定义公式中就直接使用了上述概念。平方和被相应的自由度去除,得到平均平方,简称为均方(Mean square)。样本标准差就是被自由度(n-1)所平均的x对于离差均方的算术平方根。下面我们将应用平方的概念去开发测度一个回归方程拟合协变关系效果的量数。

先结合图1分析一下在因变量y倚自变量x回归前提下y值的离差。

y值对其平均数的离差可以看作是由两部分合成的,一是y的回归拟合值对平均数的离差(),另一是y值对于拟合值的离差()。

前者呈线性变化,在时,=0,x取值越偏离,这一离差就越大,存在着这样的函数关系:

这一离差完全是由y倚x的回归关系决定的,因而称为已解释离差(Explained deviation)。

后者呈随机变化,与y倚x的回归关系无关,因而称为未解释离差(Unexplained deviation)。

总离差与已解释离差、未解释离差的关系写成公式是:

图1

总离差的平方和,简称总平方和,用SST表示,又称作总变差(Total variation)。

已解释离差的平方和,简称回归平方和,用SSR表示,又称作已解释变差(Explained variation)。

未解释离差的平方和,简称误差平方和,用SSE表示,又称作未解释变差(Unexplained variation)。

可以证明,由总离差的分解公式能推出总变差的分解公式:

,或:SST=SSR+SSE。

将上式两边都除以,得:已解释变差/总变量 +未解释变差/总变差=1,即

这样我们就把在绝对数意义上对总变差的分割,改换成在相对数意义上对总变差的分割,这对于研究回归方程的拟合效果很有帮助。

1.3样本可决系数

从公式(1)看到,若以总变差为基数,相对数

表示的是回归关系已经解释的y值变异在其总变异中所占的比率,而相对数则表示回归关系不能解释的y值变异在总变异中所占的比率。

前者正是我们要寻求的测度回归方程拟合y对x的协变关系效果的量数,称为可决系数(Coefficient of determination)。

产生于样本数据的可决系数是样本可决系数,用r2表示。

在总体回归分析中,相对于样本可决系数的是总体可决系数,用表示。

因此,样本可决系数的定义公式是:

1.4相关系数与可决系数的关系

可以推导到所以存在着这样的关系:可决系数是相关系数的二次幂。

因此,也可以在求得可决系数的基础上计算相关系数,方法是将可决系数开平方,至于平方根的符号,则取与回归方程斜率b相同的符号。正是因为存在这样的关系,我们用r2作为可决系数的符号,而没有另用别的字母。

即然r和r2两者问存有这样的联系,那么它们的描述分析作用是否相同呢?我们认为,尽管两者对变量间协变关系的解释有相通的一面,但是两者间的区别也是不容忽视的。

首先,可决系数是在拟合回归方程后进一步评价它的解释作用,而回归分析有其具体目的和假定前提。相关系数直接用于相关分析,它只描述变量间协变关系的密切程度,而不问哪个是自变量,哪个是因变量,相关分析也有3条假设前提:

(1) X和Y均为随机变量。

(2) X和Y均服从正态分布,两者不必相互独立。

(3) 对于X所有取值,Y值的标准差都相等;对于Y所有取值,X值的标准差也都相等。

这样看来,可决系数和相关系数所描述的问题性质不尽相同。

其次,可决系数取已解释变差对总变差的比率形式,在运算上有直接的解释意义。相关系数是沿交叉乘积和——协方差——相关系数的思想开发出来的,其最终公式形式不好作直接的解释。尽管如此,在许多应用中,如果两者都可以出现,我们还是更多地注意到r 值。

1.5总体可决系数

总体可决系数是在总体中关于Y总变异中总体回归方程已经解释的变异所占比重的描述量数。它用下式表示

的定义公式中,是围绕总体回归直线的方差,是围绕总体平均数的方差。

作为总体参数,通常视为未知的,有待于用样本统计量去估计。将的无偏估计量分别代入上式,即得到估计量的公式

不难发现,公式(2)与公式(4)略有不同,前者采用的是平方和比率的形式,而后者采用的是均方和比率的形式。

称为经调整样本可决系数(Adjusted coefficient of determination),它用于对总体可决系数进行点估计。

经调整可决系数平抑了方程中自变量数目的对解释作用的夸大,尤其在多元回归分析中,因为对同一样本k个自变量的回归方程总比k-1个自变量的回归方程求得已解释变差小,

经调整的可决系数在k个自变量的方程中已解释变差除以(n-k-1),而在(k-1)个自变量的方程中则除以(n-k-2)。

2方差膨胀因子VIF

所谓VIF方法,计算难度并不高。在线性回归方法里,应用最广泛的就是最小二乘法(OLS),只不过我们对每个因子,用其他N个因子进行回归解释。

其中有一个检验模型解释能力的检验统计指标为R^2(样本可决系数),R^2的大小决定了解释变量对因变量的解释能力。

而为了检验因子之间的线性相关关系,我们可以通过OLS对单一因子和解释因子进行回归,然后如果其R^2较小,说明此因子被其他因子解释程度较低,线性相关程度较低。

注:之所以不使用协方差计算相关性是由于协方差难以应用在多元线性相关情况下。给出VIF计算方法:

其中,

 为第i个变量

 与其他全部变量

 (

 )的复相关系数,所谓复相关系数即可决系数

 的算术平方根,也即拟合优度的算术平方根。不过这个可决系数

 是指用

做因变量,对其他全部

 (

 )做一个新的回归以后得到的可决系数。

方差膨胀因子不仅和可决定系数有关,还跟皮尔逊相关系数(矩阵)有关系

 ,

 不用说,就是对这个相关系数矩阵求行列式,即皮尔逊相关系数矩阵。例子如下

 则指的是将相关系数矩阵

的第i行i列去掉,剩下的部分计算行列式。如果大学线代课没全忘的话,这个东西就是余子式。

3、检验实践

选取因子:EPS(每股收益),

ROE(净资产收益率),

market_cap(市值),

pb(市净率),

'net_profit_ratio'(销售净利率),

'gross_income_ratio',(销售毛利率)

'quick_ratio',(速动比率)

'current_ratio'(流动比率(单季度))

时间窗口选取:2012.3.4—2018.7.4

回望频率:两个月检

1. 获取数据:(鉴于篇幅仅展示2012-03-04当日前十支股票数据)

2. 缺失值检验:(鉴于篇幅仅展示2013-03-04当日检验情况)

返回0代表无缺失值,返回其他数字代表缺失值数量

3. 被检验两两特征间线性相关性预了解(图例,鉴于篇幅仅展示2013-03-04当日检验情况)

案例图表示,各特征对市值特征market_cap的解释能力

蓝色阴影部分,是回归直线斜率95%的置信区间

4. 计算并获取每个时点下被解释特征与其余7个特征之间的回归VIF值,绘制时间序列图

分别是百分比堆积图,和绝对数值图(柱状图)。通过百分比堆积图可以看出,各因子的VIF值全程比较稳定,所以其占据总体的百分比也稳定。柱状图可以看出各因子值细节。

5. 全段测试计算时间内,各特征VIF值均值,比较大小(图例)

6. 相比而言quick_ratio这一特征的VIF在窗口期平均值较低,因而这就提示了我们如果在构建模型时,采用其余其中特征时可以考虑添加这一特征,增强模型的解释能力。

4.方法总结与体会

使用VIF进行检验的方法主要为,对某一特征和其余特征进行回归,得到R^2,计算VIF,剔除因子中VIF高的特征,保留VIF较低的特征,以此类推,直到得到一个相关性较低的特征组合来增强模型的解释能力。

在实际测试过程中,并非要指定一个VIF阈值,比如某特征的VIF值超过阈值才剔除,而是通过观察所有特征的VIF值,如果发现该值较大(显著离群),剔除该特征即可。

本次我们的几个特征表现都非常出色,VIF值稳定且没有离群较大值,因此,没能找到任何一个需要剔除的特征。

python计算方差膨胀因子_可决系数R^2和方差膨胀因子VIF相关推荐

  1. 用python计算圆的面积_用Python计算大圆距

    用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...

  2. python计算文件md5值_用python 正确计算大文件md5 值

    python 计算文件的md5值很方便,但如果只是简单的把文件都入到内存中,大文件会导致问题,一般采用切片的方式分段计算,下面的几个函数可以很好的解决这个问题. 使用 hashlib import h ...

  3. python计算时间差的方法_如何计算时间差,用Python算法的话

    这篇文章主要介绍了python计算时间差的方法,实例分析了Python时间操作的相关模块与技巧,需要的朋友可以参考下 本文实例讲述了python计算时间差的方法.分享给大家供大家参考.具体分析如下: ...

  4. python计算圆环的面积_巧用转化 计算圆环面积

    巧用转化,计算圆环面积 学校操场新刷了奥运五环的标志, 我与小佳想运用所学过的知识计算出其中 一个圆环的面积. 我们先确定了外圆的直径是 6 分米,内圆直径是 4 分米.然后计算出 S 外圆 = π ...

  5. python计算文件md5值_用python计算文件的MD5值

    md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...

  6. python计算存款本息和_假如你有1000万存款!躺着够花几年,用Python分分钟告诉你!...

    今天同学聚会,轮到我做东,在学校附近找了一个馆子.哥几个好久没见了,聚餐吃牛蛙火锅,还喝了几瓶啤酒,吃完饭小编去买单一共花了386元.哎..这个月的生活费又要省点了,有的时候我在想如果你有1000万, ...

  7. python计算csv列平均值_利用Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...

  8. python计算平均绩点_【python】以五分制绩点为基础的绩点计算器,可计算学分加权平均...

    [python]以五分制绩点为基础的绩点计算器,可计算学分加权平均 [python]以五分制绩点为基础的绩点计算器,可计算学分加权平均分和平均学分绩点 目录 一.以五分制绩点为基础的绩点计算器 1.1 ...

  9. python计算中文文件字数_完成计算文本文件字数的Python代码实例

    这篇文章主要介绍了Python实现统计文本文件字数的方法,涉及Python针对文本文件读取及字符串转换.运算等相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python实现统计文本文件字数的方法. ...

  10. python计算学分绩点_使用Python计算研究生学分绩(绩点)

    最近看了CSDN上一个专栏< 具体过程专栏作者写得很清楚,详见 根据那篇博文,整个过程分为以下几步: 打开教务系统网站,查看登陆时发送了哪些信息,分析POST和GET信息,并在模拟登陆时使用: ...

最新文章

  1. MFC如何打开文件路径
  2. Java报异常时getMessage()方法返回null
  3. 滚动时背景ListView变为黑色
  4. 开源与自由 | 商业自由:从边缘到核心贡献
  5. NET问答: 如何将 DataTable 转成 IEnumerableT ?
  6. iOS上传图片和视频(base64和file)
  7. SpringBoot Serverless 实战 | 监控调试
  8. 七种方法完美解救你爆满的C盘(瘦身+扩容)
  9. 怎么给word文档注音_怎么为整篇word文字添加拼音标注
  10. 在线渐变配色网站分享
  11. VirtualBox实现文件与主机复制粘贴
  12. 调整肠道微生物的饮食结构有助于缓解儿童遗传和单纯性肥胖
  13. 微信公众号获取AppID和AppSecret
  14. 子类、父类各种方法的执行顺序
  15. UE4贴图自适应屏幕大小
  16. 怎样用通俗的语言解释REST,以及RESTful?
  17. Quectel_Ec600硬件练习
  18. 惠普G80服务器做阵列和安装redhat系统
  19. MHDD检测电脑硬盘坏道
  20. 客户端Mock服务端的JSON数据

热门文章

  1. 简单易用的APIv3版微信支付SDK
  2. appfuse上手(选取刘文涛blog)
  3. SCH自动标注器件号
  4. Altium designer Sch Compiler:编译常见错误
  5. 2019 计蒜之道 初赛 第一场(A. 商汤的AI伴游小精灵)
  6. Spring Boot 错误页面解析原理(超级无敌详细)
  7. (数位dp) 算法竞赛入门到进阶 书本题集
  8. 3D打印的来临,传统打印机就要玩完了?
  9. SlideShow Pro(幻灯片制作)v5.0.0.10绿色中文版
  10. [Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content.