《金融大数据分析》-课件 第6章 模型验证_第1页
《金融大数据分析》-课件 第6章 模型验证_第2页
《金融大数据分析》-课件 第6章 模型验证_第3页
《金融大数据分析》-课件 第6章 模型验证_第4页
《金融大数据分析》-课件 第6章 模型验证_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章模型验证学习目标掌握三种模型验证的方法及其实现理解过拟合与欠拟合的问题及其原因了解模型表现的几种指标及其计算方法模型验证方法

模型验证方法

模型验证方法留一法的优点用到了几乎所有的数据对模型进行训练,理论上可以取得更好的训练效果不需要决定哪些数据作为训练集和验证集,减小了结果的随机性留一法的缺点因为需要对模型进行多次估计导致计算量跟着数据量成倍增加当数据量是100时,我们需要进行100次模型训练。当我们对大数据用复杂的模型进行训练时,这个过程可能会需要巨大的计算量模型验证方法k折交叉验证的具体步骤将训练集分为𝑘个子集(每个子集中有𝑛/𝑘个样本)重复以下步骤𝑘次每次取一个不同的子集作为验证集验证集之外的𝑘−1个子集上进行训练在验证集上算出算出𝑘个的平均值𝑘的常用取值为10,5或3减小了留一法的计算量模型验证与数据预处理数据预处理特征缩放:将特征转换为平均值为0,标准差为1的变量缺失值填补:用训练数据的平均值或中位数填补缺失数据验证集数据处理使用训练数据的平均值和标准差对验证集的数据进行缩放用训练数据的特征平均值或中位数填补验证数据的缺失值模型验证与数据预处理为什么我们需要进行这些操作呢?假设我们的训练数据集中含有所有2010年以及之前的数据可以帮助我们来训练模型我们的目标是用训练好的模型来预测2010年之后的每股收益(即2011年及之后的数据为验证数据集)当我们身处2011年对2012年的每股收益进行预测时,理论上我们并不拥有2012至2020年间的任何数据因此,我们无法准确计算验证数据集的标准差或平均值如果我们使用验证集的标准差/平均值来进行特征缩放或填补缺失数据,那么很容易造成模型验证的结果夸大模型预测的表现过拟合及欠拟合问题

过拟合及欠拟合问题过拟合及欠拟合问题过拟合问题对于有限的训练数据,通过增加特征数量来提高训练集的拟合程度判断方法:模型在训练数据上表现良好,但在验证集上表现不佳过拟合的主要原因训练数据中既含有大量信息,也有一些噪声如果我们的模型有大量的特征,并在较小的训练集上进行训练,那么在训练过程中,模型参数不但拟合数据中的的信息,也会拟合训练集中的噪声因为噪声项是随机变量,因此训练数据中的噪声与验证数据中的噪声会很不一样。所以可以拟合训练集噪声的模型并无法拟合训练集之外的数据。解决方法:增加训练数据量、减少模型复杂度、使用正则化过拟合及欠拟合问题欠拟合问题使用简单模型对数据进行拟合时,训练集和验证集数据的拟合程度都很低欠拟合模型的偏差较大,表现较差判断方法训练集与验证集上的代价函数值非常接近解决方法增加模型复杂度、加入更多特征过拟合及欠拟合问题过拟合及欠拟合问题模型验证指标

模型验证指标混淆矩阵对于分类问题,我们可以直接检验模型对于每个样本的分类进行评判,然后再将所有样本进行综合。混淆矩阵中不同的行表示实际分类(正即为1,负为0)。不同列表示模型给出的分类。在混淆矩阵中左上角以及右下角的两个格表示模型给出正确分类的样本数量,而其他两个格中给出的是模型给出错误分类的数量。预测为正预测为负实际为正真正例(TP)假负例(FN)实际为负假正例(FP)真负例(TN)模型验证指标

模型验证指标F1分数是经常使用的给模型总体评价的一种指标在许多应用场景中,精确度和召回率之间的平衡非常重要。F1分数作为精确度和召回率的调和平均数,能够平衡这两个因素。对于同时关注假正例和假负例的数量的场景,这一点尤为重要。在类别不平衡的情况下,准确率可能会误导我们对模型表现的判断。例如,对于一个有95%的负例的数据集,模型仅需对所有样本都输出负例可能会达到95%的准确率。但在这种情况下,F1分数将为模型提供更有用的性能度量。F1分数结合了精确度和召回率,提供了一种容易理解的方式来评估模型的性能。接收者操作特性曲线(ROC)ROC曲线显示二元分类器在不同判别阈值下的能力通过绘制真正例率(TPR)与假正例率(FPR)创建曲线下面积(AUC)AUC解释:AUC=0.5:模型无判别能力AUC>0.5:模型具有一定判别能力AUC=1.0:模型具有完美判别能力AUC的重要性阈值不变性不平衡类别排序解释接收者操作特性曲线(ROC)接收者操作特性曲线(ROC)曲线下面积的重要性阈值不变性与准确率等其他指标不同,曲线下面积不依赖于分类的特定阈值。当最佳阈值未知或可能改变时,曲线下面积可能非常有参考价值。不平衡类别在处理不平衡类别的情况下,其中一个类别明显多于另一个类别时,曲线下面积可以给我们提供更为全面的信息。排序解释曲线下面积也可以告诉我们真实的正样本在模型中的排名是否比负样本更高。模型验证代码:验证集法导入库使用pandas存储数据导入sklearn库的标准化模块,用于对特征进行缩放导入sklearn.linear_model中的线性回归函数,用于线性回归分析导入sklearn库metrics模块中的mean_squared_error,用于计算模型的均方误差模型验证代码:验证集法数据读取及处理读取名为’ols_training.csv’的CSV文件中的数据,并将其存储在training_data变量中。该数据为训练数据集。读取名为’ols_testing.csv’的CSV文件中的数据,并将其存储在testing_data变量中。该数据为验证数据集。显示数据集的前五行,以了解其结构模型验证代码:验证集法数据结构如下:模型验证代码:验证集法删除建立回归模型不需要的数据分割数据集中的特征变量和目标变量在X_train和X_test数据集中删除目标变量eps_basic提取X_train和X_test数据集中的目标变量eps_basic,并分别保存在y_train和y_test中模型验证代码:验证集法数据进行标准化处理创建一个StandardScaler对象,用于对特征变量进行缩放处理。StandardScaler将特征进行标准化。标准化后特征的平均值为0,标准差为1。使用scaler的fit_transfrom方法计算数据集X_train的平均值和标准偏差并对数据进行标准化处理,之后将标准化后的结果储存在X_train_scaled中。使用transform方法对X_test中的特征数据进行标准化处理,在这一标准化过程中,我们使用的平均值/标准差来自于训练数据集。注意:我们不能使用验证数据的平均值/标准差来标准化训练数据。模型验证代码:验证集法模型训练线性回归分析使用predict方法对训练集的特征数据进行预测计算均方误差模型验证代码:验证集法模型验证使用predict方法对训练集的特征数据进行预测计算均方误差分别打印训练数据和测试数据的均方误差模型验证代码:k折交叉验证法导入库使用pandas存储数据导入sklearn库impute模块中的SimpleImputer,用于填充数据集中的缺失值导入sklearn库的标准化模块,用于对数据进行标准化处理导入sklearn.linear_model中的逻辑回归函数,用于逻辑回归分析导入sklearn库model_selection模块中的StratifiedKFold,用于进行交叉验证导入sklearn库metrics模块中的roc_auc_score和roc_curve,分别用于计算ROC曲线下的面积(AUC)以及绘制ROC曲线模型验证代码:k折交叉验证法数据读取及处理读取名为’test_sample_small.csv’的CSV文件中的数据,并将其存储在data变量中定义一个特征列表X,包含四个特征从data中选择’isDefault’列的值,并将其存储在y中模型验证代码:k折交叉验证法模型训练与验证创建一个逻辑回归模型对象创建一个分层K折交叉验证对象创建空列表,存储训练集和交叉验证集的逻辑回归损失模型验证代码:k折交叉验证法创建ROC-AUC作为模型验证度量模型验证代码:k折交叉验证法创建ROC-AUC作为模型验证度量模型验证代码:k折交叉验证法创建ROC-AUC作为模型验证度量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论