智能风控
文章平均质量分 93
金融风险管理和评分卡建模
彬彬侠
人工智能算法工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python基于toad实现生成评分卡 完整的示例代码和数据集
本文使用Python构建并评估一个基于toad库的信用评分卡(ScoreCard)。示例中演示了特征选择、分箱、WOE转换、模型评估以及评分卡生成等常见步骤。该示例代码贯穿了信用评分模型开发的完整流程,包括:特征工程(数据清洗、空值/IV/相关性筛选、PSI、stepwise)。分箱与WOE(Combiner + WOETransformer)。逻辑回归/XGBoost对比及评估(KS、AUC、F1、模型正反向训练)。原创 2025-01-05 11:24:34 · 1707 阅读 · 0 评论 -
toad.scorecard.ScoreCard 生成评分卡
toad.scorecard.ScoreCard是toad库中用于生成评分卡的核心类。在信用风险管理或贷款审批场景中,通常需要将模型(如逻辑回归)输出的违约概率,转化为可理解、可比对、可落地实施的评分体系。ScoreCard 可以基于PDO(Points to Double Odds)、基础分值(base_score)、基础违约赔率(base_odds)、倍率(rate) 等参数,将模型的线性输出转化为评分区间,并能对每个特征对应的“分值贡献”进行拆解。原创 2025-01-04 23:55:07 · 1765 阅读 · 0 评论 -
toad.transform.WOETransformer WOE编码
toad.transform.WOETransformer是toad库中用于权重证据(WOE)转换的核心类。WOE是一种用于特征工程的方法,特别适用于处理分类变量和连续变量,以增强模型的预测能力和可解释性。WOE将特征的每个分箱映射为一个新的数值,表示该分箱相对于目标变量的证据强度。通过fit和transform方法实现WOE编码的映射。原创 2025-01-04 18:58:45 · 1489 阅读 · 0 评论 -
toad.transform.Combiner 特征分箱
toad.transform.Combiner是toad库中用于特征分箱(Binning)的核心类。分箱是将连续型特征划分为多个区间(箱),支持自动分箱('chi':卡方分箱;'dt':决策树分箱;'quantile':等频分箱;'step':等步长分箱;'kmean':聚类分箱。)和自定义分箱。使用Combiner类生成一个用于分箱的对象,使用fit方法拟合分箱策略。使用transform方法,转换为分箱后的标签。使用bin_plot方法,绘制分箱分布图。使用load方法自定义分箱边界。金融风控评分卡原创 2025-01-04 18:00:58 · 2264 阅读 · 0 评论 -
toad.metrics.PSI函数
PSI(Population Stability Index,群体稳定性指标 或 人口稳定指数) 是衡量两个不同样本(通常是基准数据和当前数据)之间分布变化的一种指标。它广泛应用于信用评分模型的监控,帮助评估模型在不同时间段或不同数据集上的稳定性和一致性。通过 PSI,可以检测变量的分布是否发生显著变化,从而判断模型是否需要重新校准或更新。在 toad 库中,toad.metrics.PSI 提供了计算 PSI 的功能,方便用户在评分卡建模过程中进行变量的稳定性监测。原创 2025-01-02 22:57:14 · 1967 阅读 · 0 评论 -
toad.selection.stepwise函数
toad.selection.stepwise 是 toad 库中用于逐步特征选择(Stepwise Feature Selection) 的函数。逐步特征选择是一种结合了向前选择(Forward Selection)和向后剔除(Backward Elimination)的方法,通过迭代地添加或移除特征,以优化模型的性能指标(如 AIC、BIC 等)。原创 2025-01-02 21:42:52 · 1476 阅读 · 0 评论 -
toad.selection.select函数
toad.selection.select是toad库中用于自动特征选择的一个重要函数。通过综合考虑空值比例、信息值和特征相关性,快速筛选出最具预测能力的特征。结合合理的参数设置和业务知识,能够显著提升模型的性能和稳定性。关键点,空值比例筛选:剔除空值比例过高的特征,确保数据质量。信息值筛选:保留IV值较高的特征,增强模型的区分能力。相关性筛选:剔除相关性过高的冗余特征,避免多重共线性问题。排除特征:确保关键特征不会被误剔除。返回被剔除的特征:有助于进一步分析和记录特征选择过程。原创 2025-01-02 21:20:06 · 1544 阅读 · 0 评论 -
逐步回归(Stepwise Regression)
逐步回归(Stepwise Regression) 是一种用于特征选择的统计方法,旨在在众多候选自变量中自动选择对因变量具有显著影响的变量,从而构建一个既简洁又有效的回归模型。逐步回归通过迭代过程,逐步添加或删除自变量,以优化某种模型选择标准(如AIC、BIC、调整后的R2等)。它在统计学、经济学、生物统计、机器学习等领域被广泛应用,尤其在处理多重共线性和高维数据时表现出一定的优势。本文从逐步回归的概念、类型、方法步骤、优缺点、实现方式及实际应用示例等多个方面进行了详细介绍。原创 2025-01-02 19:12:54 · 11435 阅读 · 0 评论 -
贝叶斯信息准则(BIC)
贝叶斯信息准则(Bayesian Information Criterion, BIC),又称 Schwarz信息准则(Schwarz Information Criterion, SIC),是一种用于统计模型选择的准则。由 格哈德·施瓦茨(Gideon Schwarz) 在1978年提出,BIC旨在在多个候选模型中选择最优模型,通过权衡模型的拟合优度和复杂度,以避免过拟合。它在统计学、机器学习、经济学、生物统计等领域被广泛应用,尤其在模型比较和选择过程中扮演重要角色。原创 2025-01-02 18:51:57 · 7485 阅读 · 0 评论 -
赤池信息准则(AIC)
赤池信息准则(Akaike Information Criterion, AIC)是一种用于模型选择的统计量,由日本统计学家赤池弘次(Hirotugu Akaike)在1974年提出。AIC 旨在在众多候选模型中选择既能良好拟合数据,又具有适当复杂度的模型。它在统计学、机器学习、经济学、生物统计等多个领域得到了广泛应用,尤其在模型比较和选择过程中扮演重要角色。原创 2025-01-02 18:43:02 · 9252 阅读 · 0 评论 -
F检验(F-test)
F检验(F-test)是一种基于 F分布(F-distribution) 的统计检验方法,常见于比较方差、检验回归模型整体显著性,或者在 方差分析(ANOVA) 中比较多个总体均值是否存在显著差异。本文从定义、常见场景、原理、以及在实践中的应用与注意事项几个方面对 F 检验进行了介绍。原创 2025-01-02 17:58:24 · 12734 阅读 · 0 评论 -
F分布(F-distribution)
F分布(F-distribution)是一种由英国统计学家 Ronald Fisher 引入的连续概率分布,主要用于构造 F检验(F-test),如方差分析(ANOVA)、回归整体显著性检验,以及比较两个总体方差等。它在现代统计推断和计量经济学中扮演重要角色。本文从定义、性质、应用和注意事项等几个方面对 F 分布进行了系统介绍。原创 2025-01-02 17:29:22 · 6824 阅读 · 0 评论 -
卡方分布(Chi-square Distribution)
卡方分布(Chi-square Distribution) 是一种常见的连续概率分布,在统计推断和数据分析中用途广泛,常用于卡方检验(Chi-square Test)、方差分析以及最大似然估计等多个方面。本文从定义、性质、应用场景和注意事项四个维度对卡方分布进行了介绍。原创 2025-01-02 16:52:26 · 6609 阅读 · 0 评论 -
相关性(Correlation)
相关性(Correlation) 指的是两个或多个变量之间随同变化的关系,是数据分析和机器学习中常用的概念。了解不同变量(或特征)之间的相关程度及其方向,对于特征选择、模型构建、多重共线性检测等具有重要意义。本文从概念、度量方式、使用场景、Python代码实现、注意事项等方面进行了介绍。原创 2025-01-02 12:44:27 · 8381 阅读 · 0 评论 -
IV(Information Value)值
IV(Information Value) 是一种衡量单个特征(通常已分箱处理)对目标变量(如违约=1,未违约=0)区分度的指标,在金融风控和评分卡建模中被广泛应用。通过 IV 值可以迅速判断某个特征对好坏样本的区分能力是强还是弱,从而辅助特征筛选与模型构建。原创 2025-01-02 12:21:17 · 3385 阅读 · 0 评论 -
WOE编码
WOE(Weight of Evidence)编码是一种常用于评分卡或风控模型中的特征编码方法,能够在保持线性模型可解释性的同时,帮助模型更好地捕捉特征与目标变量之间的关联。本文从 WOE 的概念、计算方式、应用场景、注意事项等方面进行了介绍。原创 2025-01-02 12:14:14 · 1744 阅读 · 0 评论 -
观察期和表现期
在信用评分和风险建模的场景中,常常需要用到观察期(Observation Period)和表现期(Performance Period)这两个重要概念。它们与数据的时间维度紧密相关,旨在更好地定义样本收集与目标变量(如违约)观察的时段,从而提高模型质量并减少信息混淆。以下将从定义、作用、常见应用以及注意事项对二者进行介绍。原创 2025-01-02 10:57:59 · 2263 阅读 · 0 评论 -
时间外样本
时间外样本(Out-of-Time Sample) 通常指在模型训练或开发期间未被使用、且在时间上晚于或完全独立于训练数据的那部分样本/数据集。它在金融风控、量化投资、时间序列预测等领域尤其重要,因为它可以更客观地衡量模型在未来时点或真实交易环境下的表现,避免因为时间重叠或过度拟合而产生的虚假高性能。原创 2025-01-02 10:53:43 · 1633 阅读 · 0 评论 -
卡方分箱(Chi-square Binning)
卡方分箱(Chi-square Binning)是一种基于卡方检验(Chi-square Test)原理的分箱方法,常用于对连续变量或有序离散变量进行区间划分,进而提升评分卡模型中特征的区分度和稳定性。由于评分卡模型(如 Logistic 回归)通常喜欢离散化(分桶)后的特征,因此卡方分箱在信用评分、风控建模等业务场景十分常见。原创 2025-01-01 22:30:34 · 2463 阅读 · 0 评论 -
卡方检验(Chi-Square Test)
卡方检验(Chi-Square Test)是一类基于卡方分布的假设检验方法,常用于检验两个离散变量是否存在关联(独立性检验)、理论分布与观测分布是否一致(适配度检验)、以及在金融风控、医学研究、社会科学调查等领域广泛应用。本文从理论概念、常见类型及其应用场景、Python 实现等方面对卡方检验做了一个系统介绍。原创 2025-01-01 19:13:15 · 21958 阅读 · 0 评论 -
DBSCAN聚类
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,广泛应用于数据挖掘和机器学习领域, DBSCAN能够有效地识别任意形状的簇,并自动处理噪声点。本文主要包含以下内容:1.DBSCAN简介;2.DBSCAN的工作原理;3.主要参数解释;4.DBSCAN与其他聚类算法的比较;5.Python中实现DBSCAN;6.DBSCAN在金融风控中的应用;7.实际示例;8.注意事项与最佳实践原创 2024-12-31 21:30:43 · 2015 阅读 · 0 评论 -
toad库
toad是一个功能强大的Python库,专为数据分析、特征工程和信用评分等任务设计。它提供了一系列便捷的工具,帮助数据科学家和分析师高效地进行数据预处理、探索性数据分析(EDA)、特征选择与转换,以及模型评估等工作。特别是在金融风控和信用评分卡建模领域,toad展现出了其独特的优势和广泛的应用。本文给出的Python代码的实现和示例,包括数据探索与可视化、特征工程、分箱(Binning)、WOE编码、特征选择、模型评估与验证、基本用法示例、数据加载与查看、数据探索、特征分箱与WOE转换、特征选择、模型构建与原创 2024-12-31 17:28:58 · 1622 阅读 · 0 评论 -
混合高斯模型
混合高斯模型(Gaussian Mixture Model,简称 GMM)是一种概率模型,通过将数据视为由多个高斯分布(正态分布)的加权组合而生成,适用于聚类、密度估计、数据分布建模等场景。scikit-learn提供了GaussianMixture类,可轻松完成训练、预测和评估。在实际应用时,需要选择合适的成分数(K),常用AIC/BIC进行决策。原创 2024-12-31 16:41:54 · 3160 阅读 · 0 评论 -
pydotplus库
pydotplus 是一个基于 pydot 的 Python 库,用于解析并执行 Graphviz 的 DOT 语言。它在可视化决策树或其他图结构(如流程图、网络图等)时非常方便。你可以把它理解为一个可以在 Python 中读写 .dot 文件并转换为图像或其他格式的库。原创 2024-12-31 12:42:54 · 1148 阅读 · 0 评论 -
sklearn.tree.export_graphviz函数
sklearn.tree.export_graphviz 是 scikit-learn 中用于可视化决策树的重要函数。它会把训练好的决策树模型转化为一个Graphviz能够解析的.dot文件格式,从而实现决策树的可视化。本文介绍了:1. 基本功能;2. 常见用法;3.生成 .dot 文件并手动转换图像;4. 回归树可视化;5. 常见问题;6. 小结。原创 2024-12-31 11:43:19 · 1675 阅读 · 0 评论 -
Graphviz
Graphviz 是一款强大的开源软件包,主要用于绘制图 (graphs),包括有向图、无向图、流程图、状态机图等。它提供了命令行工具(如 dot、neato、circo 等)和一系列库接口,可以帮助开发者在 算法可视化、数据结构可视化、流程建模、网络拓扑展示 等场景中快速产出美观而专业的图表。本文从以下几个方面介绍 Graphviz 的使用与特点:1.Graphviz 的安装;2.Graphviz 的基本概念与语法;3.常用布局引擎;4.在 Python 中使用 Graphviz;5.在 Jupyter原创 2024-12-31 11:16:56 · 4986 阅读 · 0 评论 -
Combo库实现模型合并
combo 是一个专注于集成学习(Ensemble Learning)与异常检测(Outlier Detection)的 Python 开源工具库,combo提供了多种模型(或算法)结果融合的灵活接口,尤其适合在分类、异常检测、回归、打分等不同任务中使用。对于需要多模型或多算法输出的业务场景(如金融风控、推荐系统、反欺诈等),融合往往能带来更稳健、更准确的结果。combo 与 PyOD 、scikit-learn 等库兼容性好,API 风格统一,易于在已有的 ML 流程中集成。原创 2024-12-30 17:50:20 · 1535 阅读 · 0 评论 -
因子分解机
因子分解机(Factorization Machines, 简称 FM)是一种强大的机器学习模型,特别适用于处理稀疏数据和高维特征交互问题。因子分解机在推荐系统、广告点击率预测、金融风控等领域有广泛应用,因其能够有效捕捉特征之间的二阶交互信息,同时避免了参数爆炸的问题。本文将涵盖以下内容:因子分解机简介、因子分解机的数学原理、因子分解机的优势与局限、Python中实现因子分解机、因子分解机在金融风控中的应用、实际示例、注意事项与最佳实践和总结原创 2024-12-30 17:12:37 · 1191 阅读 · 0 评论 -
近似的Sharpley估计
近似的Shapley估计(Approximate Shapley Estimation)是一种用于评估特征对模型预测贡献的方法,尤其在处理复杂模型(如集成模型、深度学习模型)时,计算精确的Shapley值可能非常耗时。因此,采用近似方法能够在保证合理精度的同时,显著降低计算成本。本文还给出了常见的近似Shapley估计算法,Python中实现近似Shapley估计的方法,应用示例和注意事项与最佳实践。原创 2024-12-30 16:10:33 · 2434 阅读 · 0 评论 -
pickle格式
Pickle 是 Python 中用于对象序列化和反序列化的标准库。它允许你将几乎任何 Python 对象(如模型、数据结构、函数等)转换为字节流,以便存储在文件中或通过网络传输,然后在需要时将其重新加载回内存。这在机器学习模型的保存与加载、数据持久化等场景中尤为常见。pickle.dump(obj, file):将对象 obj 序列化后写入文件 file。pickle.load(file):从文件 file 中读取字节流,并反序列化为 Python 对象。pickle.dumps(obj):将对象 obj原创 2024-12-30 12:25:57 · 1165 阅读 · 0 评论 -
XGBoost的train函数
在 XGBoost 的 Python API 中,xgboost.train() 是一个相对底层、灵活度较高的训练接口。与之相对,XGBClassifier 和 XGBRegressor 等 sklearn 风格的 API 则更加面向高层封装。本文介绍了 xgboost.train() 的用法和常见参数。xgb.train()原创 2024-12-30 11:19:05 · 2716 阅读 · 0 评论 -
XGBoost的DMatrix格式
在 XGBoost 中,DMatrix 是一种专门为高效训练而设计的内部数据结构,它在内存中存储数据时会进行一些列预处理和优化(例如稀疏处理、列抽样、直方图构建等),从而加速后续的训练与预测过程。原创 2024-12-30 11:08:32 · 2831 阅读 · 0 评论 -
libsvm格式
LIBSVM 格式是一种常见的用于支持向量机(SVM)等模型训练与预测的数据格式,最初由 LIBSVM 工具包使用,也被许多其他机器学习工具和库(例如 XGBoost、LightGBM、sklearn 的部分模块)所兼容或支持。原创 2024-12-30 11:00:25 · 1491 阅读 · 0 评论 -
imblearn库实现过采样和欠采样
Python代码示例演示了如何使用scikit-learn和imblearn(imbalanced-learn)库来处理多类不平衡问题。代码中展示了常见的几种过采样和欠采样方法,以及它们在数据集上的应用,对每个方法的含义和用法做一个简要的说明。不同的过采样方法(RandomOverSampler、SMOTE、Borderline-SMOTE、ADASYN 等)和 欠采样方法(RandomUnderSampler、ClusterCentroids、ENN 系列、IHT等)对数据的“处理方式”不同,需要根据实际原创 2024-12-29 16:30:22 · 1412 阅读 · 0 评论
分享