精华内容
下载资源
问答
  • 机器学习 | 变量选择

    千次阅读 2019-04-14 01:38:16
    变量选择方法1 背景2 变量选择方法有哪些?3 什么叫向前/向后选择以及逐步回归、最优子集?AIC/BIC又是怎么定义的?3.1 四种统计上变量选择的方法3.2 什么是AIC/BIC3.2.1 AIC3.2.2 BIC4 如何实现5 参考 1 背景 为...

    1 背景

    为什么要聊一聊机器学习中的变量选择问题呢?因为这个问题在机器学习中相当重要,并且也是面试必问题之一,刚好前几天面试还被问到了变量选择中一个很细节的知识点(AIC/BIC)所以今天我们好好梳理一下!

    2 变量选择方法有哪些?

    之前面试的时候自己准备的答案:

    学术派:从统计上讲,有三大类方法。

    • 子集选择。包括下面4种方法:

      ①向前选择;

      ②向后选择;

      ③逐步回归(结合一些准则:AIC、BIC(解决过拟合问题,加入模型复杂度的惩罚项)。(BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。);

      ④最优子集

    • 收缩方法。

      ①岭回归(L2正则);

      ②Lasso(L1正则)

    • 维数缩减。

      ①主成分回归

      ②偏最小二乘法。

    实际业务中

    1. 结合业务人员的判断
    2. 先计算各个特征的缺失率,如果缺失率较高的就删了。
    3. 计算特征的方差,为0的删去
    4. 树模型用feature_importance来筛选。
    5. 相关性较高的两个变量可以考虑保留一个。
    6. 结合IV指标来进行变量重要性的判断

    除了上述这么多方法,还有其余的吗?是否有补充呢?

    • 之前发过的一篇推文中,里面的IV指标可以来度量变量重要性,进而实现变量选择的功能。

    • 相关性较高的两个变量可以考虑保留一个。

    3 什么叫向前/向后选择以及逐步回归、最优子集?AIC/BIC又是怎么定义的?

    3.1 四种统计上变量选择的方法

    可以看到,上面变量选择引申出来的方法有很多种,后面我们慢慢介绍,今天先说第一种,也是最简单的一类统计方法,这个在考研的时候复习的还是蛮多的,附上当时专业课的笔记:
    在这里插入图片描述
    在这里插入图片描述
    可以看到上面图片中对于四种方法解释的还是蛮清楚的,其实就是如何选最优变量,使得模型整体的SSE减少比较多,或者说得到尽可能多且有意义的显著的变量。

    同时上面引申出来一个问题,如何评价模型的优劣呢?即,模型都训练出来了,如何进行比较呢?这时候AIC/BIC就闪亮登场啦!

    3.2 什么是AIC/BIC

    这一部分在考研复习阶段我也 涉及过,而且总结的比较全面,先上图:
    在这里插入图片描述
    可以看到上面我的分析思路是:

    • 首先为什么要有调整的R2?
    • 然后引入的准则统计量
    • 结合准则统计量将问题进行了一般化处理,即针对机器学习中出现的拟合问题,我们可以采用准则统计量来进行衡量模型的优劣!

    所以说AIC/BIC都是准则统计量,他们是用来衡量模型的优劣的!但上述图片中并没有详细对这两个用的最多的统计量进行展开描述,接下来重点说一下,毕竟上周面试还被问到了!

    3.2.1 AIC

    1. 公式定义:
      在这里插入图片描述

    AIC称为赤池信息准则(Akaike Information Criterion,AIC),提供了权衡估计模型复杂度(K)和拟合数据优良性(似然函数L)的标准。

    可以看到当两个模型之间存在较大差异时,差异主要体现在似然函数项

    当似然函数差异不显著时,上式第一项,即模型复杂度则起作用,从而参数个数少的模型是较好的选择。

    1. 原理

    如何起作用的呢?

    一般而言,当模型复杂度提高(k增大)时,似然函数L也会增大,从而使AIC变小,但是k过大时,似然函数增速减缓,导致AIC增大,模型过于复杂容易造成过拟合现象。【即AIC越小总的来说还是模型更优】

    目标是选取AIC最小的模型,AIC不仅要提高模型拟合度(极大似然),而且引入了惩罚项,使模型参数尽可能少,有助于降低过拟合的可能性。

    3.2.2 BIC

    1. 公式定义:
      在这里插入图片描述

    BIC称为贝叶斯信息准则(Bayesian Information Criterion,BIC)

    BIC不仅考虑了模型参数的惩罚,还考虑了样本量的惩罚,惩罚比AIC更加的严重,故而模型的变量会比AIC要小

    1. 原理

    如何起作用的呢?

    目标是选取BIC最小的模型,BIC不仅要提高模型拟合度(极大似然),而且引入了模型参数和样本量的惩罚项,有助于降低过拟合的可能性。

    4 如何实现

    • 对于这四个方法,尤其是前三个,在R语言里实现即可,使用的函数就是step函数!

    • 一般我们的做法就是模型建立ok之后,我们通过逐步回归的方法来进行变量选择,其实变量选择也就是相当于帮我们选择了最优的模型了,那怎么去筛选呢?也就是使用AIC准则或者BIC准则!
      在这里插入图片描述
      总结:

    • 具体的R语言实现见上图

    • 使用的package是MASS

    • k=log(n)表示用BIC准则(其中n表示建模样本量),k=2表示用AIC准则

    5 参考

    展开全文
  • 机器学习中的变量选择——进阶篇

    千次阅读 2019-03-03 13:42:17
    机器学习中的变量选择变量选择回顾单变量筛选通过模型选择变量变量选择进阶只用模型就能选好变量么数据处理模型介绍实验结果认识伪相关两步法估计 变量选择回顾 符号说明: p:p:p: 特征数量 n:n:n: 样本数量 变量...

    变量选择回顾

    在这里插入图片描述
    更详细内容请见我的知乎回答 特征工程到底是什么?

    符号说明:
    p:p: 特征数量
    n:n: 样本数量

    变量选择在机器学习中扮演着重要的角色,无论是对于构建一个可解释的模型,还是提升模型的预测能力。

    单变量筛选

    在高维情况下,有时候我们需要预先筛选部分变量,然后再训练模型。筛选过程需要做到如下两点:

    1. 计算复杂度不能太高
    2. 不能丢掉真正起作用的变量

    简言之,就是快而准。第二点也被称之为 Sure Screening Property,即在一些条件下满足:
    P(MMvn^)1P(M_\star \subset \hat{M_{v_n}}) \rightarrow 1

    其中,MM_\star是真正起作用的变量集(理论上的),Mvn^\hat{M_{v_n}}是筛选出来的变量集。最直接的筛选方式是计算每个特征和目标变量之间的相关性,并保留相关性高于某一阈值的特征。最常见的是皮尔森相关性,但它只能刻画两个变量之间的线性关系。如果特征变量和目标变量之间是二次相关,皮尔森相关性就难以胜任了。秩相关系数能够较好的刻画出单调的非线性关系。另外,还有基于互信息的变量筛选方式,这常出现在分类模型中。除此之外,还可以用单个特征来拟合目标变量,残差越小,则这个特征越重要。如果用线性模型来拟合,此时XX的维度为1,它和皮尔森相关系数是等价的;如果是用非参数模型,比如B样条,局部线性模型等,则能够较好刻画出单个特征和目标变量之间的非线性相关关系。但是计算量比之前的方法有所增加,且结果的好坏依赖于模型的选取(model dependent)。

    需要注意,单变量筛选没有考虑到特征对目标变量的协同效应,即特征之间的交互作用,不宜将变量选得太少。

    例如,下面的模型中,yyx1x_1 的相关性为0.7,yyx2x_2 的相关性为0.4,x1x_1x2x_2 独立。通过 x1x_1 构造一个变量 x3x_3,使得 x3x_3yy的相关性达到0.6。现在令X=(x1,x2,x3)X=(x_1, x_2, x_3), 如果通过上述单变量方法筛选2个变量,那么x1x_1x3x_3被选中,x2x_2不会被选中。然而,x3x_3包含的关于yy的所有信息都在来自x1x_1。换句话说,在考虑x1x_1的条件下,x3x_3对预测yy没有作用,x2x_2才是那个应该被选中的变量。

    y=x1+x2+ϵ y = x_1 + x_2 + \epsilon

    通过模型选择变量

    接下来,我们简单回顾下通过模型选择变量。最直观的方法是筛选最佳子集,但它是一个NP hard问题。如果XXpp个特征,则需要考虑2p2^p个模型。当pp较大时,无疑太过耗时。退而求其次,逐步回归在计算量上可以接受,但其贪心的性质决定了很难找出最佳模型。

    AICBIC可以看做是加了惩罚项的极大似然。

    LASSO对原始问题的回归系数加了L1L_1惩罚。从优化角度讲,等价于原始最优化问题的可行域被限制在一个有尖点的凸集上,这样的最优解是稀疏的。且惩罚系数越大,解越稀疏。

    但LASSO在理论上并不完美,对于真正起作用的变量,无法满足渐进无偏性,即估计值的绝对值偏小。后来,SCAD诞生了,其满足了稀疏性,无偏性和连续性,这三条性质也被称之为ORACLE性质,之后不少的变量选择方法都以满足ORACL性质为最优准则。

    可以看到,较之于前面的单变量筛选方法,基于模型的变量选择同时考虑了所有变量,能有效刻画模型之间的交互作用。

    变量选择进阶

    只用模型就能选好变量么

    如果用模型筛选的就能得到结果,计算速度可以接受,那还需要单变量筛选方式么?换句话说,单变量筛选存在的意义是什么?

    为了回答这个问题,我使用sklearn中的diabetes数据集,比较通过下述方式建立的模型的预测能力。

    数据处理

    diabetes数据集有442个样本,特征变量记为X1X_1, 目标变量记为YYX1X_1有10个特征。首先我们通过正态分布采集噪声数据X2X_2,特征数量为ppX1X_1X2X_2组成新的特征变量XX,共10+p10+p个特征。

    模型介绍

    通过LASSO选择变量,惩罚项系数备选项:0.01, 0.05, 0.1, 0.5, 1, 5, 10, 100。根据5重交叉验证选择惩罚项系数,并测试模型的预测能力。噪声维度为: 10, 50, 100, 500, 1000, 2000。

    模型一:直接采用LASSO训练模型。
    模型二:用单变量方法,先筛选一半的变量,再用LASSO训练模型。
    模型三:用单变量方法,先筛选20个变量,再用LASSO训练模型。

    需要特别说明: 模型二和模型三实验中,不能先在整个数据集上用单变量方法筛选变量,再用交叉验证选取超参alpha,计算测试误差,这属于对交叉验证的误用。单变量筛选需要和选取超参同时出现在训练集,而不能出现在测试集。

    实验结果

    在这里插入图片描述
    可以看到,当噪声维度比较小时,先筛选一半变量或20个变量再训练LASSO模型,显著优于直接用LASSO训练模型。当噪声维度较大时,先筛选20个变量再训练LASSO模型,显著优于另外两种方法。这充分说明预先筛选变量再训练模型的重要性。然而,这并不是这样做的唯一原因,下面通另一个角度——伪相关,再次认识预筛选变量。

    认识伪相关

    在一般情况下(n>pn>p),通过模型选择变量就足够了。但在超高维情况下,会出现伪相关问题,导致选入额外的变量,模型过拟合,并低估方差。

    我们先直观认识一下伪相关。假定y,x1, ,xpy, x_1, \cdots, x_p相互独立,且服从标准正态分布。

    1. YYXXy,x1, ,xpy, x_1, \cdots, x_p的一个样本实现,样本数量n=100n=100
    2. 计算XX的每一列与YY的相关系数并取绝对值,记录pp个绝对相关系数的最大值。

    重复这个过程100次,绘制最大值的密度函数。下图展示了密度函数曲线与pp的关系。
    在这里插入图片描述
    可以看到随着pp的增加,最大相关系数的密度函数明显右移,变得越来越大,但是它们其实都是从独立的变量中进行采样的。在超高维情况下(p>>np>>n),这种现象尤其明显。这会导致选入无关变量,模型过拟合,且低估模型的方差。模型的方差在构建置信区间时尤为重要,较小的方差会导致过于乐观的置信区间。Fan, Guo等提出了两步法来解决超高维情况下的方差估计。我根据自己的理解,结合变量选择和方差估计,改述如下:

    两步法估计

    X,YX, Y均匀的划分为两部分,X1,Y1X^1, Y^1X2,Y2X^2, Y^2

    step 1:通过单变量筛选,在X1,Y1X^1, Y^1上筛选出变量子集M1^\hat{M_1},在X2,Y2X^2, Y^2上筛选出变量子集M2^\hat{M_2}

    step 2:在XM2^1,Y1X^1_{\hat{M_2}}, Y^1上用LASSO等再次拟合模型,记筛选后的变量为M3^\hat{M_3}, 估计的方差为σ^12\hat{\sigma}^2_1。在XM1^2,Y2X^2_{\hat{M_1}}, Y^2上用LASSO等再次拟合模型,记筛选后的变量为M4^\hat{M_4}, 估计的方差为σ^22\hat{\sigma}^2_2

    则最后筛选的变量集合为: M^=M3^M4^\hat{M} = \hat{M_3} \bigcap \hat{M_4},方差估计为:σ^RCV2=(σ^12+σ^22)/2\hat{\sigma}_{RCV}^2=(\hat{\sigma}_1^2+\hat{\sigma}_2^2)/2.

    实现方法很简单,但却非常有用。第一步中可能选入伪相关的变量,第二步使用第一步筛选出来的变量在新的数据集上拟合模型,能够大概率排除伪相关的变量。从而更准确的选择出重要的变量,并估计模型的方差。

    附录:
    代码及结果 github:J11235

    参考资料:

    1. Jianqing Fan and Jinchi Lv(208) Sure independence screening for ultrahigh dimensional feature space
    2. Jianqing Fan and Jinchi Lv(2010) A Selective Overview of Variable Selection in High Dimensional Feature Space
    3. LIU JingYuan, ZHONG Wei and LI RunZe(2015) A selective overview of feature screening for ultrahigh-dimensional data
    展开全文
  • 第八章 变量选择与正则化 - 正则化

    千次阅读 2020-03-12 15:33:18
    第八章 变量选择与正则化 - 正则化

    一、基本含义
    在这里插入图片描述
    二、引入正则项
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    三、其他正则形式
    在这里插入图片描述
    在这里插入图片描述

    变量选择的直观表示
    在这里插入图片描述

    综合
    在这里插入图片描述

    展开全文
  • 时间序列--重要变量选择

    千次阅读 2018-12-30 09:47:22
    但如果我们要变量选择的话,还是先转化成监督学习问题吧(shift...) 转换成监督学习问题参考:https://machinelearningmastery.com/category/time-series/ from pandas import Series from pandas import...

    之前我们说的ARIMA直接套用就可以,因为包里面自动把它化成t-1,t-2。。。的形式了,

    但如果我们要变量选择的话,还是先转化成监督学习问题吧(shift...)

    转换成监督学习问题参考:https://machinelearningmastery.com/category/time-series/

    from pandas import Series
    from pandas import DataFrame
    # load dataset
    series = Series.from_csv('seasonally_adjusted.csv', header=None)
    # reframe as supervised learning
    dataframe = DataFrame()
    for i in range(12,0,-1):
    dataframe['t-'+str(i)] = series.shift(i)
    dataframe['t'] = series.values
    print(dataframe.head(13))
    dataframe = dataframe[13:]
    # save to new file
    dataframe.to_csv('lags_12months_features.csv', index=False)

    结果长这样:

                             t-12   t-11         t-10    t-9     t-8           t-7       t-6     t-5  \
    1961-01-01    NaN    NaN    NaN    NaN     NaN     NaN     NaN     NaN
    1961-02-01    NaN    NaN    NaN    NaN     NaN     NaN     NaN     NaN
    1961-03-01    NaN    NaN    NaN    NaN     NaN     NaN     NaN     NaN
    1961-04-01    NaN    NaN    NaN    NaN     NaN     NaN     NaN     NaN
    1961-05-01    NaN    NaN    NaN    NaN     NaN     NaN     NaN     NaN
    1961-06-01    NaN    NaN    NaN    NaN     NaN     NaN     NaN   687.0
    1961-07-01    NaN    NaN    NaN    NaN     NaN     NaN   687.0   646.0
    1961-08-01    NaN    NaN    NaN    NaN     NaN   687.0   646.0  -189.0
    1961-09-01    NaN    NaN    NaN    NaN   687.0   646.0  -189.0  -611.0
    1961-10-01    NaN    NaN    NaN  687.0   646.0  -189.0  -611.0  1339.0
    1961-11-01    NaN    NaN  687.0  646.0  -189.0  -611.0  1339.0    30.0
    1961-12-01    NaN  687.0  646.0 -189.0  -611.0  1339.0    30.0  1645.0
    1962-01-01  687.0  646.0 -189.0 -611.0  1339.0    30.0  1645.0  -276.0

                               t-4     t-3           t-2     t-1       t
    1961-01-01     NaN     NaN     NaN     NaN   687.0
    1961-02-01     NaN     NaN     NaN   687.0   646.0
    1961-03-01     NaN     NaN   687.0   646.0  -189.0
    1961-04-01     NaN   687.0   646.0  -189.0  -611.0
    1961-05-01   687.0   646.0  -189.0  -611.0  1339.0
    1961-06-01   646.0  -189.0  -611.0  1339.0    30.0
    1961-07-01  -189.0  -611.0  1339.0    30.0  1645.0
    1961-08-01  -611.0  1339.0    30.0  1645.0  -276.0
    1961-09-01  1339.0    30.0  1645.0  -276.0   561.0
    1961-10-01    30.0  1645.0  -276.0   561.0   470.0
    1961-11-01  1645.0  -276.0   561.0   470.0  3395.0
    1961-12-01  -276.0   561.0   470.0  3395.0   360.0
    1962-01-01   561.0   470.0  3395.0   360.0  3440.0

    1.随机森林选择重要程度高的变量

    这里简单提一下,随机森林回归树是根据啥选择重要变量的呢,每一棵树,我都利用RSS最小建立一棵树的原则,这样每个特征分裂都有对应的RSS减少量,500颗树平均起来,算出每一个特征RSS的减少量,越大代表重要程度越高,详细介绍可以参考:统计学习导论:基于R的应用。

    注意选变量的时候,树的数目一定要多~~~~n_estimators=500,顺便设置个随机种子

    from pandas import read_csv
    from sklearn.ensemble import RandomForestRegressor
    from matplotlib import pyplot
    # load data
    dataframe = read_csv('lags_12months_features.csv', header=0)
    array = dataframe.values
    # split into input and output
    X = array[:,0:-1]
    y = array[:,-1]
    # fit random forest model
    model = RandomForestRegressor(n_estimators=500, random_state=1)
    model.fit(X, y)
    # show importance scores
    print(model.feature_importances_)
    # plot importance scores
    names = dataframe.columns.values[0:-1]
    ticks = [i for i in range(len(names))]
    pyplot.bar(ticks, model.feature_importances_)
    pyplot.xticks(ticks, names)
    pyplot.show()

     结果如下:

    [ 0.21642244  0.06271259  0.05662302  0.05543768  0.07155573  0.08478599
      0.07699371  0.05366735  0.1033234   0.04897883  0.1066669   0.06283236]

    Bar Graph of Feature Importance Scores on the Monthly Car Sales Dataset

    2.RFE

    最常用的包装法是递归消除特征法(recursive feature elimination,以下简称RFE)。递归消除特征法使用一个机器学习模型来进行多轮训练,每轮训练后,消除若干权值系数的对应的特征,再基于新的特征集进行下一轮训练。在sklearn中,可以使用RFE函数来选择特征。

        我们下面以经典的SVM-RFE算法来讨论这个特征选择的思路。这个算法以支持向量机来做RFE的机器学习模型选择特征。它在第一轮训练的时候,会选择所有的特征来训练,得到了分类的超平面wx˙+b=0wx˙+b=0后,如果有n个特征,那么RFE-SVM会选择出ww中分量的平方值w2iwi2最小的那个序号i对应的特征,将其排除,在第二类的时候,特征数就剩下n-1个了,我们继续用这n-1个特征和输出值来训练SVM,同样的,去掉w2iwi2最小的那个序号i对应的特征。以此类推,直到剩下的特征数满足我们的需求为止。

    from pandas import read_csv
    from sklearn.feature_selection import RFE
    from sklearn.ensemble import RandomForestRegressor
    from matplotlib import pyplot
    # load dataset
    dataframe = read_csv('lags_12months_features.csv', header=0)
    # separate into input and output variables
    array = dataframe.values
    X = array[:,0:-1]
    y = array[:,-1]
    # perform feature selection
    rfe = RFE(RandomForestRegressor(n_estimators=500, random_state=1), 4)
    fit = rfe.fit(X, y)
    # report selected features
    print('Selected Features:')
    names = dataframe.columns.values[0:-1]
    for i in range(len(fit.support_)):
    	if fit.support_[i]:
    		print(names[i])
    # plot feature rank
    names = dataframe.columns.values[0:-1]
    ticks = [i for i in range(len(names))]
    pyplot.bar(ticks, fit.ranking_)
    pyplot.xticks(ticks, names)
    pyplot.show()

    上面使用了RF作为基本分类器去选择,最终只要4个

    结果:

    Selected Features:
    t-12
    t-6
    t-4
    t-2

    Bar Graph of Feature Selection Rank on the Monthly Car Sales Dataset

    上面这个图代表变量重要性的排序排序,选出来的四个变量排序都是1

    当然刘建平大神博客还介绍了其他的变量选择方法,也是都可以用一下的

    https://machinelearningmastery.com/feature-selection-time-series-forecasting-python/

     

    展开全文
  • 岭回归,Lasso——变量选择技术

    万次阅读 2018-07-07 20:24:22
    解决多重共线性和变量选择的两种方法——岭回归(L2范数)&Lasso(L1范数)。 目录 1 多元线性回归的最小二乘解 2 岭回归 3 LASSO 4 LASSO的计算方法 1 多元线性回归的最小二乘解 Q(β)是残差的...
  • 第八章 变量选择与正则化 - 糖尿病人数据集
  • 1.自变量选择的影响 如果一个因变量共受到个因素的影响,建模时选取了所有的因素,则为全模型;若只选了其中p个因素建模,则成为选模型。  (1)全模型 其参数估值为:  (2)选模型 其参数估值为: 自变量...
  • 变量重要性和变量选择in xgboost

    千次阅读 2019-01-01 21:50:59
    变量重要得分 # plot feature importance manually from numpy import loadtxt from xgboost import XGBClassifier from matplotlib import pyplot # load data dataset = loadtxt('pima-indians-diabetes.csv', ...
  • 线性模型中的变量选择方法

    千次阅读 2013-12-20 22:05:30
    Please use this identifier to cite or link to this item: http://hdl.handle.net/123456789/2178 ...线性模型中的变量选择方法 Other Titles: Variable Selection in linear model Authors
  • 使用MIC进行变量选择

    千次阅读 2016-03-14 20:45:05
    如果有很多自变量,我们能在很多自变量中选出几个对因变量影响最大的吗?或许MIC可以解决这个问题哦。 # -*- coding: utf-8 -*- """ Created on Mon Mar 14 19:52:57 2016 @author: Luyixiao """ import numpy as...
  • 经常有遇到处理高维数据的情况,这时在运用Cox模型前就有必要对变量进行选择,去除冗余,这一篇接着上一篇生存分析学习笔记,主要讲我对运用自适应Lasso方法对Cox模型进行变量选择的理解。 我们已经知道Cox模型的...
  • 本文的目的在于介绍回归建模时变量选择和正则化所用的R包,如glmnet,ridge,lars等。算法的细节尽量给文献,这个坑太大,hold不住啊。 1.变量选择问题:从普通线性回归到lasso 使用最小二乘法拟合的普通线性回归...
  • 十、模型自变量选择方法

    千次阅读 2018-07-18 19:51:22
    在本系列的最后一篇文章中,我们讨论了多元线性回归模型。费尔南多创建了一个模型,根据五个...如何为最佳模型选择正确的输入变量? 如何定义最佳模型? 最优模型是使数据与评估指标的最佳值相匹配的模型。 ...
  • 数据挖掘——变量选择

    千次阅读 2016-07-21 14:45:22
    在实际的挖掘分析中,过多的变量对模型精度的提升十分有限,但是对于挖掘速度的影响确实十分巨大的,维数灾难就是描述这一情况的。 我们需要多少变量来进行分析挖掘? 特征规约:特征规约即针对特定数据集进行...
  • αi\alpha_i,再随机选择第二个变量进行优化,也能实现功能,但是算法速度非常的慢,为了提高算法的运算速度,目前一般采用一种启发式的变量选择。 ​ 在周志华先生的《机器学习》中提到: 只需要选取的α&...
  • 变量选择--Lasso

    万次阅读 2017-01-31 01:21:22
    可以说是最火的变量选择方法: β ̂  l a s s o = arg min ( Y − X β ) T ( Y − X β ) + λ ∥ β ∥ 1 \hat\beta^{lasso}=\arg\min (Y-X\beta)^{T}(Y-X\beta)+\lambda\parallel \beta\parallel_1 计算...
  • 变量选择(R语言)

    千次阅读 2019-01-20 22:15:58
    设Ra2R_{a}^{2}Ra2​为调整的复决定系数,nnn为样本量,ppp为自变量的个数,则    Ra2=1−n−1n−p−1(1−R2)R_{a}^{2}=1-\frac{n-1}{n-p-1}(1-R^{2})Ra2​=1−n−p−1n−1​(1−R2) 在一个实际问题的回归建模中,...
  • 1. 简单情况 第一阶段目标是找可行解。例如: {x1=x3−1x2=x3+2 \left\{ \begin{array}{} x_1& = &x_3-1\\ x_2&...显然非基变量
  • 倾向值分析(协变量选择

    千次阅读 2019-06-25 15:01:42
    Hirano 和 Imbens 基于预设的临界t值来设定预测变量的方法 1.逻辑回归:逻辑回归虽然带有回归字样,但是逻辑回归属于分类算法。逻辑回归可以进行多分类操作,但由逻辑回归算法本身性质决定其更常用于二分类。 a.逻辑...
  • 变量选择尽可能IV较高,同时分箱少,尽可能避免过拟合 过拟合变量的处理 有些变量效果很好,可能是事后变量 注:事后变量指的是与预测目标同时间或者晚于改时间的变量 比如预测目标是否逾期,在变量中有逾期...
  • 变量选择--岭回归

    千次阅读 2017-01-31 00:03:13
    4. 需要人为选择一个阈值 δ \delta ,当 β ̂  r i d g e j < δ \hat\beta^{ridge}_j 时,认为 β ̂  r i d g e j = 0 \hat\beta^{ridge}_j=0 5. 适用于 X X 非奇异但是高度线性相关(接近奇异)的情况下 ...
  •  vc6.0 在用MFC ClassWizard给新建立的类添加成员变量选择category时没有Value选项   如下图: 原因分析:是添加了一个新的对话框类之后,默认的对话框中只有两个button按钮(确定和取消),button本身不...
  • 变量选择算法lasso及二次规划

    千次阅读 2014-03-11 20:24:08
    观测数据:(X,y),X是n*m的矩阵,其中n>m,。 1. 首先对数据进行中心标准化,以消除不同指标量纲的影响。此时,对于i∈{1,2,.....m}。此时,有:。 matlab中的标准化函数如下: ...变量筛选。筛选掉影响因子
  • 变量间的关系分析: 变量间的关系有两类:存在明确的关系-函数关系;不存在完全确定性。 相关变量关系有两种:平行关系——相互影响;依存关系——变量a收到变量b的影响。 变量间关系及分析方法: a.函数关系...
  • 本博文源于《商务统计》,旨在讲述多元回归下的向后剔除法的一般步骤及缺点。 一般步骤 先对因变量拟合包括所有k个自变量的回归模型,然后考虑所有... 博主上一篇 统计|多元回归下变量选择的向前选择法一般步骤与缺点
  •  多重共线性: 也即使用的多个预测变量之间存在线性相关。多重共线性会导致解的不稳定,进而可能导致意外的结果。在线性代数中,基坐标必须是相互正交的,也即不相关的,此处在做多元回归预测时,必须保证预测变量...
  • setwd("C:/Users/IBM/Desktop/研一课程/2.2回归分析/回归作业") #设定当前的工作目录 ...#采用AIC原则自动选择模型-前进法 shuju.reg1 shuju.regforward2 summary(shuju.regforward2) #采用A
  • 3、解释变量包括:资产周转率、当年净资产收益率、债务资本比率、市盈率、应收账款/主营业务收入、主营业务利润、存货/资产总计(反映公司存货状况)、对数资产总计(反映公司规模) 二、描述性分析 1、...
  • 在本文中,我们采用信用评分模型的变量选择方法,通过WOE分析方法,即是通过比较指标分箱和对应分箱的违约概率来确定指标是否符合经济意义。首先我们对变量进行离散化(分箱)处理。  1 分箱处理 变量分箱...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,998
精华内容 23,999
关键字:

变量选择