精华内容
下载资源
问答
  • 学习过概率与统计的同学们都知道,对于线性回归及其他的回归模型来说,评价连续性可拟合的数据就不能使用离散二分类器的评价指标对回归模型进行评价。因此我们引入了均方误差(mean squared error MSE)、可解释方差...

    学习过概率与统计的同学们都知道,对于线性回归及其他的回归模型来说,评价连续性可拟合的数据就不能使用离散二分类器的评价指标对回归模型进行评价。因此我们引入了均方误差(mean squared error MSE)、可解释方差(Explained Var score)和R方值(R^2)。

    首先我们先看一下这三个概念是如何计算一个评价值(score)的:

    均方误差:

    又称MSE,是个使用频度很高的评价指标,在概率论和数理统计中的数学定义式就是:

    前i个样本属性实际值   y_i 与预测值距离差       \hat y_i 的平方和均值。

    MSE= \frac{1}{n} \sum ^n _ {i=1} ( y_i- \hat y_i)^2

    MSE衡量的是样本整体与模型预测值偏离程度。

    可解释方差:

    这部分很少有资料提到可解释方差的公式,根据一些资料的描述,可解释方差是(1- 样本值与预测值之差的方差/样本方差),数学公式描述为:

    Evar = 1 - \frac {\sum ^n_{i=1} ((y_i-\hat y) - E{(\vec y_-\hat {y} } ))^2 }{\sum ^n_{i=1} (y_i - \bar y)^2}

    E表示均值;

    因为是从代码中解读的公式,所以这个公式可能写的有点不太对,望有人指出正确的公式是咋个模样。

    看着怪折腾的……

    可解释方差指标衡量的是所有预测值和样本之间的差的分散程度与样本本身的分散程度的相近程度。本身是分散程度的对比。最后用1-这个值,最终值越大表示预测和样本值的分散分布程度越相近。

    R^2值:

    R^2又名决定系数,

    公式为

    R^2 = 1-\frac {MSE}{Var(Y))}= 1 - \frac {MSE} {\frac {1} {n} \sum ^n_{i=1} (y_i - \bar y))}

    这个公式的作为指标的意图就相对明显了。决定系数计算出来越是接近1,预测值越接近真实样本值。

     

     

     

    展开全文
  • 1拟合优度评价我们在对模型的拟合优度进行评价时,需要判断模型的预测值与对应的观测值是否具有较高的一致性,如果匹配性较好,就认为这一模型拟合数据,否则,将不接受这一模型,需要对模型重新设置。从这一点上来...

    在模型创建完成后,我们需要考虑模型的适当性,如模型的拟合优度,预测准确性和模型的

    ad16d11990b37d230fcc50431a52951f.png

    检验。

    1拟合优度评价

    我们在对模型的拟合优度进行评价时,需要判断模型的预测值与对应的观测值是否具有较高的一致性,如果匹配性较好,就认为这一模型拟合数据,否则,将不接受这一模型,需要对模型重新设置。从这一点上来说,模型的适当性指的就是拟合优度。那么可能就有小伙伴会问了,我们要从哪些角度来判断模型的好坏呢?统计分析中有很多方法可以对logistic回归模型的拟合优度进行评价。下面简单介绍几种拟合优度的方法。

    1.1 皮尔逊

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    (Pearson

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    通过比较模型预测的和观测的事件发生和不发生的频数检验模型成立的假设。其标准统计量计算公式为:

    7f79f6d746baaa433e90a90e83b37baf.png

    其中,j是协变类型的种类数目。O表示观测频数,E表示预测频数,自由度是协变类型数目与参数数目之差。

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    统计量很小就意味着预测值之间没有显著差别,表示这一模型很好地拟合了数据,相反统计量很大时,统计检验就显著,于是提供拟合不佳的证据。当拟合不好时,可以用残差和其他诊断测量来说明每个案例对模型拟合的影响以便寻找模型不合理的原因。

    1.2 Hosmer-Lemeshow拟合优度指标

    Hosmer和Lemeshowv于1989年研制出了一种对于Logistic回归模型拟合优度检验方法,称为Hosmer-Lemeshow拟合优度指标。记为HL,HL检验根据预测概率值将数据大致分为相同规模的10个组,不考虑协变类型个数,将观测数据按照其预测概率做升序排列。

    通过皮尔逊

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    来概括这些分组中事件结果的观测数和预测数将其与自由度为G-2的

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    进行比较,

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    检验不显著表示模型很好的拟合了数据,检验显著时表示模型拟合数据不好。

    2预测准确性

    除了拟合优度之外,对Logistic回归模型的另一种评价是模型的预测准确性。在线性回归中,人们往往对确定系数

    e98f4d84bf36c1305ba0339d2b4515cb.png

    的值感兴趣,因为它描述的是因变量的变动中由模型的自变量所“解释”百分比。但是在Logistic回归中却没有相应的统计指标,不过在模型似然值对数的基础上,可以为Logistic回归模型计算某种类似

    e98f4d84bf36c1305ba0339d2b4515cb.png

    的指标,如似然比指数(likelihood ratio index,记为LRI)

    e98f4d84bf36c1305ba0339d2b4515cb.png

    类似,LRI的值域为0至1,当自变量与因变量完全不相关时(即所有的回归系数为0时),LRI等于0,当模型的拟合程度提高时,LRI值增加,拟合得越好,LRI值越接近。,只有当模型完全拟合时,LRI值达到1,但在实际应用中,LRI的值可以非常接近1,但不会等于1。

    3模型

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    统计

    为了对logistic回归模型·进行有意义的解释,要求模型中所包含的自变量必须对因变量有显著的解释能力,也就是说所设模型必须要比零假设模型(即只包含常数项的模型)要好,在多元线性回归中,常用自由度分别为K和n-K-1的F检验(其中K是自变量的个数,n为样本规模)来检验“除常数项外的所有系数都等于0”的无关假设,而在logistic回归中服务于同一目的的检验却是似然比检验(likelihood ratio test),它可以用来检验logistic回归模型是否统计性显著,似然比统计量近似地服从

    5e8baa7e2407a3d266ada9f7c5552f2e.png

    分布。

    小结:以上就是对logistic回归模型进行评价的一些方法,我们可以根据这些方法在spss软件中进行判断我们所设的模型是否适当。下期我们将会用一个实例来检验我们的模型。

    展开全文
  • 线性回归模型的性能评价指标

    千次阅读 2018-11-20 14:09:09
    本节讨论下线性回归模型的性能评价指标 对于机器学习的两个基本问题分类和回归的评价方式有所不同,...从而实现对回归模型的评估,一般可以画出残差图,进行分析评估、估计模型的异常值、同时还可以检查模型是否是...

    本节讨论下线性回归模型的性能评价指标

    对于机器学习的两个基本问题分类和回归的评价方式有所不同,分类问题一般通过分类准确率、召回率、F1值、ROC/AUC等手段进行模型的评估。对于回归问题,该如何评价?  这里简要列举部分评估方法。

    1、残差估计

    总体思想是计算实际值与预测值间的差值简称残差。从而实现对回归模型的评估,一般可以画出残差图,进行分析评估、估计模型的异常值、同时还可以检查模型是否是线性的、以及误差是否随机分布。

    import matplotlib.pyplot as plt
    import seaborn as sns
    import pandas as pd
    import numpy as np
    from sklearn.linear_model import LinearRegression
    from sklearn.model_selection import train_test_split
    
    # 数据读取
    df = pd.read_csv('dataset/boston.csv', sep=',')
    df.columns = ['CRIM', 'ZN', 'INDUS', 'CHAS',
                  'NOX', 'RM', 'AGE', 'DIS', 'RAD',
                  'TAX', 'PTRATIO', 'LSTAT', 'MEDV']
    # 所有属性拟合线性模型
    X = df.iloc[:, :-1].values
    y = df[['MEDV']].values
    X_train, X_test, y_train, y_test = train_test_split(
        X, y, test_size=0.3, random_state=0)
    # 模型训练
    slr = LinearRegression()
    slr.fit(X_train, y_train)
    y_train_pred = slr.predict(X_train)
    y_test_pred = slr.predict(X_test)
    
    # 残差评估方法
    plt.scatter(y_train_pred, y_train_pred-y_train,
                c='blue', marker='o', label='Training data')
    plt.scatter(y_test_pred, y_test_pred-y_test,
                c='lightgreen', marker='s', label='Test data')
    plt.xlabel('Predicted values')
    plt.ylabel('Residuals')
    plt.legend(loc='upper left')
    plt.hlines(y=0, xmin=-10, xmax=50, lw=2, colors='red')
    plt.xlim([-10, 50])
    plt.savefig('result/residuals_metric.png')
    plt.show()
    

    效果图

    可以看出,残差随机分布在0值附近,总体离0值越近说明回归模型的拟合效果越好。对于偏离较大的残差点,可以认为是异常值点。

     

    2、均方误差(Mean Squared Error, MSE)

    均方误差是线性模型拟合过程中,最小化误差平方和(SSE)代价函数的平均值。MSE可以用于不同模型的比较,或是通过网格搜索进行参数调优,以及交叉验证等。

    # 均方误差评价指标
    from sklearn.metrics import mean_squared_error
    print('MSE train: %.3f, test: %.3f' % (
        mean_squared_error(y_train, y_train_pred,
                           mean_squared_error(y_test, y_test_pred))
    ))

    结果: MSE train: 20.217, test: 28.147

     

    3、决定系数

    可以看做是MSE的标准化版本,用于更好地解释模型的性能。换句话说,决定系数是模型捕获相应反差的分数。

    # 决定系数评价指标
    from sklearn.metrics import r2_score
    print('R^2 train: %.3f, test: %.3f' % 
          (r2_score(y_train, y_train_pred),
          r2_score(y_test, y_test_pred)))

    结果: R^2 train: 0.761, test: 0.662

     

    整体代码

    import matplotlib.pyplot as plt
    import seaborn as sns
    import pandas as pd
    import numpy as np
    from sklearn.linear_model import LinearRegression
    from sklearn.model_selection import train_test_split
    
    # 数据读取
    df = pd.read_csv('dataset/boston.csv', sep=',')
    df.columns = ['CRIM', 'ZN', 'INDUS', 'CHAS',
                  'NOX', 'RM', 'AGE', 'DIS', 'RAD',
                  'TAX', 'PTRATIO', 'LSTAT', 'MEDV']
    # 所有属性拟合线性模型
    X = df.iloc[:, :-1].values
    y = df[['MEDV']].values
    X_train, X_test, y_train, y_test = train_test_split(
        X, y, test_size=0.3, random_state=0)
    # 模型训练
    slr = LinearRegression()
    slr.fit(X_train, y_train)
    y_train_pred = slr.predict(X_train)
    y_test_pred = slr.predict(X_test)
    
    # 残差评估方法
    plt.scatter(y_train_pred, y_train_pred-y_train,
                c='blue', marker='o', label='Training data')
    plt.scatter(y_test_pred, y_test_pred-y_test,
                c='lightgreen', marker='s', label='Test data')
    plt.xlabel('Predicted values')
    plt.ylabel('Residuals')
    plt.legend(loc='upper left')
    plt.hlines(y=0, xmin=-10, xmax=50, lw=2, colors='red')
    plt.xlim([-10, 50])
    plt.savefig('result/residuals_metric.png')
    plt.show()
    
    # 均方误差评价指标
    from sklearn.metrics import mean_squared_error
    print('MSE train: %.3f, test: %.3f' % (
        mean_squared_error(y_train, y_train_pred),
        mean_squared_error(y_test, y_test_pred))
    )
    
    # 决定系数评价指标
    from sklearn.metrics import r2_score
    print('R^2 train: %.3f, test: %.3f' %
          (r2_score(y_train, y_train_pred),
          r2_score(y_test, y_test_pred)))
    

     

    展开全文
  • 在使用statsmodels库建立回归模型时,使用summary()函数通常会输出下图的结果:图中包含模型的很多检验结果,这些结果就是用来模型的好坏进行检验和评价的。下面我们将一些主要检验结果的意义进行说明并介绍使用...

    42db5c71b53009d567a44f4e2b2dcfa7.png

    在使用statsmodels库建立回归模型时,使用summary()函数通常会输出下图的结果:

    1caa6900c707e8c2320e558a10671328.png

    图中包含模型的很多检验结果,这些结果就是用来对模型的好坏进行检验和评价的。

    下面我们将对一些主要检验结果的意义进行说明并介绍使用方法。

    一、模型的显著性检验

    在建立回归模型后,首要关心的问题就是建立的模型是否成立,这就要用到模型的显著性检验。

    模型的显著性检验主要是F检验

    在statsmodels的输出结果中,会输出F-statistic值Prob(F-statistic),前者是F检验的输出值,后者是F检验的P值。

    如果Prob(F-statistic)<0.05,则说明在置信度为95%时,可以认为回归模型是成立的。

    如果Prob(F-statistic)>0.1,说明回归模型整体上没有通过显著性检验,需要进一步调整。

    文首的结果中,Prob(F-statistic)=0.00,说明模型是可靠的。

    二、R-squared

    R-squared在统计学中称为决定系数(R^2),用于度量因变量的变异中可由自变量解释部分所占的比例,以此来判断统计模型的解释力。

    在多元回归模型中,决定系数的取值范围为[0,1],取值越接近1,说明回归模型的模拟程度越好

    此外,Adj. R-squared表示调整的决定系数,为决定系数的开平方,是决定系数开2次方根的取值。

    文首的结果中,分析模型的决定系数R-squared=0.916,说明回归模型的拟合程度很好。

    三、AIC和BIC

    AIC又称为赤池信息量准则,BIC又称为贝叶斯信息度量。

    两者均是评估统计模型的复杂度和衡量统计模型拟合优良性的标准,取值越小,相对应的模型越好

    文首的结果中,AIC=3841,BIC=3878,二者取值均较大,从这个层面说模型的优良性较差。

    但在具体应用中还需结合具体情况进行模型的选择和评价。

    四、系数显著性检验

    前面几个参数都是针对模型进行度量的,在模型合适的情况下,还需要对回归系数进行显著性检验。

    这里的检验是指t检验

    如果相应的P值<0.05(0.1),说明该系数在置信度为95%(90%)水平下,系数是显著的。

    如果系数不显著,说明对应的变量不能添加到模型中,需要对变量进行筛选,重新建立回归模型。

    文首的结果中,除了变量X6外,T检验的P值p>|t|均小于0.05,说明有一个自变量X6是不显著的,模型需要进一步优化。

    五、Durbin-Watson检验

    D.W统计量用来检验回归模型的残差是否具有自相关。

    其取值为[0,4],数值越接近2说明越没有自相关,越接近4说明残差具有越强的负自相关,越接近0说明残差具有越强的正自相关。

    如果模型的残差具有很强的自相关性,则需要对模型进行进一步调整。

    文首的结果中,Durbin-Watson=0.654,说明回归模型的残差具有较强的正相关性,需要调整。

    六、条件数Cond.No.

    条件数用来度量多元回归模型自变量之间是否存在多重共线性。

    条件数取值是大于0的数值,该值越小,越能说明自变量之间不存在多重共线性问题

    一般情况下,Cond.No.<100,说明共线性程度小;

    如果100<Cond.No.<1000,则存在较多的多重共线性;

    如果Cond.No.>1000,则存在严重的多重共线性。

    如果模型存在严重的多重共线性问题,则需要使用逐步回归、主成分回归、Lasso回归等方式调整模型。

    文首的结果中,条件数Cond.No.=2.93e+16,结果非常大,说明该模型可能存在自变量之间的多重共线性问题,需要进行调整。

    以上就是对回归模型评价参数的说明,下一节将会加入实例应用进一步深入理解。

    除了回归分析外,我们还可能会用到聚类分析。

    聚类分析的评估主要集中在聚类的可行性和被聚类方法产生结果的质量两方面,包括估计聚类趋势、确定数据集的簇、测定聚类质量。

    本文就不再对聚类评估做详细说明了,今后用到时再详述。

    下一次,我们将详细说说回归分析

    你确定不关注我一波?!

    022faee9e96eee633435d28a907b9ba5.png
    展开全文
  • 回归模型 python实现

    2021-01-08 21:51:38
    美国波士顿地区房价数据分割step3:训练与测试数据标准化处理step4:使用线性回归模型LinearRegression 和 SGDRegressor分别数据进行学习和预测step5:使用三种回归评价机制模型回归能力进行评价2、支持向量机...
  • 最近在学习利用Python的Sklearn模块实现数据的回归,分类,以及聚类任务,并分别其结果进行... 2、选择合适的回归模型; 3、模型训练; 4、模型预测; 5、模型评估;6、根据评估结果,调整模型参数;7、确定最优...
  • 本篇内容就是关于回归模型评价,首先介绍线性回归模型的三个常用评价方法,然后通过波士顿房产预测的实际例子,对评价方法进行代码实现。最后我们会隆重引出最好的衡量线性回归法的指标:R Square 1.线性回归算法...
  • 实验结果表明,采用该文提出的客观评价模型对立体数据测试库进行评价,Pearson线性相关系数值在0.93以上,Spearman等级相关系数值在0.94以上,均方根误差值接近6,异常值比率值为0.00%,符合人眼视觉特性,能够很好地预测...
  • 前面的博客有介绍过连续的变量进行线性回归分析,从而达到因变量的预测或者解释作用。那么如果因变量是离散变量呢?在做行为预测的时候通常只有“做”与“不做的区别”、“0”与“1”的区别,这是我们就要用到...
  • 平均绝对误差(Mean Absolute Error, MAE) 也称L1范数损失,计算公式如下: 其中N为样本数,是真实值,是预测值。...模型使用MAE作为损失函数则是数据分布的中值进行拟合。 与之相似的是加权平均...
  • 以徐州某煤矿为例,分析了断层的分形维数、落差及倾角等因素与矿井突水点涌水量的相关关系,建立断层信息与涌水量回归模型,通过Arc GIS强大的空间分析功能生成断层突水影响函数等值线图。与单一依据分形维数的插值...
  • 实验要求:使用SVR模型实现对波士顿房价的预测 (load_boston),并使用r2-score 对回归结果评测。 实验环境:Pycharm Python版本:3.6 需要的第三方库:sklearn 实验代码 同样地,这里 SVR 模型采用的是高斯核函数 ...
  • 回归评价指标

    千次阅读 2017-02-24 09:57:59
    回归评价指标   与分类不同的是,回归是连续的实数值进行预测,即输出值是连续的实数值,而分类中是离散值。例如,给你历史股票价格,公司与市场的一些信息,需要...对于回归模型评价指标主要有以下几种:
  • 对于专业的量化投资人而言,就需要进一步了解多因子选股模型的两种主要的评价判断方法——打分法和回归法。  1、打分法的评价原理和流程   所谓打分法,就是根据各个因子的大小股票进行打分,然后...
  • 采用AIC、BIC信息标准的模型选择通常十分迅速,但是依赖于合适的自由度的评价,并且在大数据量的分析中,往往假定模型是正确的,然而基于数据产生的模型去描述事物通常不准确,存在实际特征大于样本的情况。...
  • 1 多变量逻辑回归上一篇文章中笔者对于什么是逻辑回归,以及它能用来干什么做了一个详细的介绍;...所为多变量逻辑回归其实就是一个样本点有多个特征属性(feature),然后通过建立一个多变量的逻辑回归模型来完成分类...
  • 多因子选股模型模型搭建中,往往会涉及到非常...1、打分法的评价原理和流程所谓打分法,就是根据各个因子的大小股票进行打分,然后按照一定的权重加权得到一个总分,最后根据总分再股票进行筛选。对于多因子模...
  • 回归问题的评价指标

    2020-11-11 17:36:43
    回归问题的评价指标有很多,这里一一进行详细分类: 点点误差 MSE均方误差         MSE(Mean Square Error):         均方误差描述了样本真实值与预测值差方求和的平均...
  • Python+sklearn对模型进行评分

    千次阅读 2018-07-01 15:14:28
    回归评价指标分类评价指标
  • 模型评价指标

    2018-11-29 22:20:32
    一:数据序列评价 1:均方根值(RMS):一组测值序列的有效值。 公式: 2:方差(VAR):反映随机... 二:回归模型评价 1:变异系数:(C.V):消除单位和平均数不同多个数据样本进行变异程度比...
  • 为了解决了现有参数生产前沿面分析中先验生产函数难以选择的问题,提出参数生产前沿面分析的单边支持向量回归模型.该模型通过引入核方法,...最后,通过珠三角各城市的经济发展效率进行评价,证明了该模型的有效性。
  • 煤层含气量是煤层气储层评价的重要参数,基于煤层含气量与测井参数的关系较为复杂,论文煤层含气...建立含气量与测井信息的线性、二次多项式回归方程,并预测值进行有效性检验,证明建立的线性和二次回归方程是有效的。
  • sklearn集成了大多数模型评价指标,这可以很大程度上方便我们的使用,尤其在对进行进行自动调参时可以方便我们进行选择。 做下这个笔记主要是为了补充之前的内容:sklearn快速入门教程:(四)模型自动调参 后续如果...
  • 验证集: 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估; 测试集:用来评估模最终模型的泛化能力; 注意:测试集不能作为调参、选择特征等算法相关的选择的依据...
  • 同时, 以广义回归神经网络模型作为参照, 分别从均方误差、回归拟合指标、分类准确率、训练时间4个方面几种模型进行对比。实验结果表明, 所提模型融合算法具有较高的拟合精度、较强的泛化能力, 并且所需的训练时间...
  • 但使用过程中发现利用GBRT进行回归大部分情况的回归值都接近真实值,但也会存在一些错的很离谱的回归值,反而lr所有的回归样例都能表现的中规中矩。 举个例子:假设问题为需要评价一个淘宝店商户的价值高低,我们...
  • 在机器学习和数据挖掘中,模型评价指标至关重要。本文常用到的分类、回归和聚类的评价指标进行了总结。

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 347
精华内容 138
关键字:

对回归模型进行评价