精华内容
下载资源
问答
  • 网贷风控体系之-风控模型 大数据风控模型主要分为两类: **反欺诈模型** 交叉验证 聚类分析 黑灰名单 **二元好坏模型** 准入阶段,授信额度期限利率模型:评分卡模型,LR,XGBoost 贷中阶段:风险变化评估,风险预警...

    网贷风控体系之-风控模型

    大数据风控模型主要分为两类:

    反欺诈模型
    交叉验证
    聚类分析
    黑灰名单

    二元好坏模型
    准入阶段,授信额度期限利率模型:评分卡模型,LR,XGBoost
    贷中阶段:风险变化评估,风险预警
    贷后阶段:催收时机,催收方法

    存在的问题
    数据来源问题;
    模型泛化能力;
    系统性风险问题

    展开全文
  • 风控业务背景笔者认为,风控模型同学作为模型的生产者,不应该只是简单交付模型,而需要具备产品思维,同时充分掌握模型的技术、业务指标,能给客户(策略同学)提供使用建议方案。因此,除了用KS指标来评价风控模型...

    31d4cc2b0a96aad4cecba49a3812bb16.png

    风控业务背景

    笔者认为,风控模型同学作为模型的生产者,不应该只是简单交付模型,而需要具备产品思维,同时充分掌握模型的技术、业务指标,能给客户(策略同学)提供使用建议方案。

    因此,除了用KS指标来评价风控模型性能之外,我们如何分析模型的特点,使其在实际业务场景中发挥出最大的价值?本文主要介绍风控模型的业务性能指标分析方法。

    目录
    Part 1. 风控模型的技术和业务指标
    Part 2. 单模型的通过率和坏账率测算
    Part 3. 新旧模型的swap set策略分析
    Part 4. 总结
    致谢
    版权声明
    参考资料

    Part 1. 风控模型的技术和业务指标

    指标是评估好坏的标尺。在历史文章中,我们介绍了一些风控模型的技术指标,例如:

    1. 《风控模型—区分度评估指标(KS)深入理解应用》
    2. 《风控模型—群体稳定性指标(PSI)深入理解应用》

    模型同学平时尤为关注KS这个指标。如图1所示,KS曲线是由累积坏人分布和累积好人分布两条曲线相减得到。我们取KS曲线的峰值,作为模型的KS。因此,这是一个综合整体样本信息的全局性指标。

    模型最终是服务于实际业务场景。因此,分析业务指标需要先从梳理场景着手,例如:

    1. 审批拒绝:包括贷前授信审批和贷中借款审批。此时,我们往往是用来拒绝最坏的一部分群体。换言之,只是用到部分分数段。
    2. 风险定价:贷前授信时,我们会对不同风险等级的人群给予不同的费率定价。这就会用到整体分数段。

    fab991df9e58b764cfa198453e55939b.png
    图 1 - 风控模型的KS曲线图

    Part 2. 单模型的通过率和坏账率测算

    在《抽样对Lift和KS指标的影响》中,我们已经知道分层抽样的好处,其能保证抽样前后的KS保持不变。因此,在抽样样本上评估KS可以近似代表总体样本。但在评估通过率和坏账率之间的关系时,我们更希望能还原到总体样本上,为此,在计算KS-Table时,引入了权重列。

    如图2所示,我们平时更为关注这两张表格所呈现的数据。可以获知:

    1. 如果设定cutoff在58分,高于cutoff则予以拒绝,那么将拒绝20%的人群,此时坏人捕捉率达到约41%。
    2. 在所有分箱上,bad rate的排序性非常好,没有出现跳变现象。

    ea55bf80fb34959af1ff4e3b7054710f.png
    图 2 - ks-table(示例)

    Part 3. 新旧模型的swap set策略分析

    在《利用Swap Set分析风控模型更替的影响》中,我们认识了swap set分析的基本概念,但没有演示如何实践。结合上文单变量的分析,举一反三,可推广至两个模型之间的比较。

    我们可以采取以下步骤得到图3所示的表格:

    1. 将2个新旧模型分数分别进行等频分箱,分箱数通常建议采用10或20个。
    2. 两两交叉形成
      个格子。统计格子里的total量(率)和bad量(率)。

    a56b68fd89199c12e7179d2fdc5261dc.png
    图 3 - 新旧模型的swap set分析

    如果我们需要保证80%的通过率,也就是锁定前2档予以拒绝。由此可得到4块区域:

    1. Swap-out population:指旧模型接受但新模型拒绝的客户。
    2. Swap-in population:指旧模型拒绝但新模型接受的客户。
    3. No change:指同时被新旧模型拒绝或接受,因此审批状态没有差异。

    在图3中,新模型swap out部分的bad rate为

    ,而旧模型swap in部分的bad rate为
    ,这说明:

    在保持相同的通过率下,新模型相对于旧模型在坏账率上能降低

    值得一提的是,新模型的KS略低于旧模型,但是我们更接受新模型。这再次佐证,模型KS是一个整体、全局性的指标,但在应用时才并不代表其头部(或尾部)圈定的人群一定具有很好的Lift。

    如果我们只采用其中某个分数段进行决策,整体效果并不完全在我们的考虑范围内。实际业务场景是评估模型业务价值的标准。

    Part 4. 总结

    本文总结了风控模型的技术和业务指标。事实上,模型本质是提供了一把排序的尺子,但我们拿这把尺子去丈量时,有时只是关注头部,有时需要关注整体。

    笔者认为,风控模型岗的境界可分为以下几个层次:

    1. 初级: 能根据策略同学需求,构建符合要求的模型。
    2. 中级:能熟悉和抽象业务场景问题,分解为多个小场景并设计相应的小模型,分而治之。
    3. 高级:能熟练应用模型,并具备策略分析思维,将模型与业务紧密结合。

    附录A1:

    def swapset_table(input_df, score_var1, score_var2, weight_var, target_var, bins):
        """
        功能:新旧模型分交叉后,统计样本量和bad量,进而swap set分析
        ----------------------------------------------------------------------
        :param input_df: pd.DataFrame, 输入数据
        :param score_var1: string, 模型分数变量1
        :param score_var2: string, 模型分数变量2
        :param target_var: string, 目标变量
        :param weight_var: string, 权重变量
        :param bins: int, 分箱数, 典型取值为10或20
        ----------------------------------------------------------------------
        :return stat_df: pd.DataFrame, 统计数据
        ----------------------------------------------------------------------
        用法:
        >>> stat = swapset_table(input_df=test_df, 
                                 score_var1='score1', 
                                 score_var2='score2',
                                 weight_var='weight',
                                 target_var='bad',
                                 bins=10)
        >>> stat[['total']].unstack().fillna(0)
        >>> stat[['bad']].unstack().fillna(0)
        """
        def get_bucket(score_list, weight_list, bins):
            final_score_list = [] # 得到总体样本上的分数
            for i in range(len(score_list)):
                final_score_list += [score_list[i]] * round(weight_list[i])
        
            bucket_lst = pd.qcut(final_score_list, bins, duplicates='drop') # 等频分箱
            bucket_map = {}
            for x in range(len(bucket_lst)):
                bucket_map[final_score_list[x]] = bucket_lst[x]
            return bucket_map
    
        df = input_df.copy()
        score1_list = list(df.loc[:, score_var1])
        score2_list = list(df.loc[:, score_var2])
        weight_list = list(df.loc[:, weight_var])
        
        # 分箱映射
        bucket1_map = get_bucket(score1_list, weight_list, bins)
        bucket2_map = get_bucket(score2_list, weight_list, bins)
        
        new_score1 = score_var1 + '_bin'
        new_score2 = score_var2 + '_bin'
        df[new_score1] = df[score_var1].apply(lambda x: bucket1_map.get(x) if pd.notna(x) else "missing")
        df[new_score2] = df[score_var2].apply(lambda x: bucket2_map.get(x) if pd.notna(x) else "missing")
        
        df['total'] = df[weight_var]
        df['bad'] = df[target_var] * df[weight_var]
        stat_df = df.groupby([new_score1, new_score2]).sum()[['total', 'bad']]
        stat_df['total'] = stat_df['total'].apply(lambda x: round(x))
        stat_df['bad'] = stat_df['bad'].apply(lambda x: round(x))
        
        return stat_df

    版权声明

    欢迎转载分享请在文章中注明作者和原文链接,感谢您对知识的尊重和对本文的肯定。

    原文作者:求是汪在路上(知乎ID)
    原文链接:https://zhuanlan.zhihu.com/p/163206686/

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处,侵权转载将追究相关责任

    4a711023fadb6db72ec47f21f53aabb9.png

    关于作者

    在某互联网金融公司从事风控建模、反欺诈、数据挖掘等方面工作,目前致力于将实践经验固化分享,量化成长轨迹。欢迎交流

    展开全文
  • 风控模型评估

    2020-03-25 19:38:45
    之前写过一篇模型评估的指标,偏于理论,详情见风控模型指标详解。 1.AUC   AUC值指的是ROC曲线下面积大小,该值能够量化反映基于ROC曲线衡量的模型性能。所以,需要了解ROC曲线的绘制方法。   首先,需要了解...
    
    

      本文总结了一下评分卡建模过程中常用的模型评估方法,并结合代码展示,理论结合实际,方便初学者对模型评估的方法有深入的理解。之前写过一篇模型评估的指标,偏于理论,详情见风控模型指标详解

    1.AUC

      AUC值指的是ROC曲线下面积大小,该值能够量化反映基于ROC曲线衡量的模型性能。所以,需要了解ROC曲线的绘制方法。
      首先,需要了解TPR(真阳性率)和FPR(假阳性率)。TPR就是P个正样本中被预测为正的概率,FPR是N个负样本中被预测为正样本的概率。(FPR,TPR)形成ROC曲线上的一个点。

      ROC曲线通过不断移动截断点来生成不同的(FPR,TPR),可以理解为评分卡中的cut-off在不断变化。

      绘制出ROC曲线之后,AUC就是ROC曲线下的面积。此外ROC曲线相对应的P-R曲线之间的区别,有兴趣的可以研究下,这里不再赘述。下面附上代码:

    def plot_roc(y_label,y_pred):
        """
        y_label:测试集的y
        y_pred:对测试集预测后的概率
        
        return:ROC曲线
        """
        tpr,fpr,threshold = metrics.roc_curve(y_label,y_pred) 
        AUC = metrics.roc_auc_score(y_label,y_pred) 
        fig = plt.figure(figsize=(6,4))
        ax = fig.add_subplot(1,1,1)
        ax.plot(tpr,fpr,color='blue',label='AUC=%.3f'%AUC) 
        ax.plot([0,1],[0,1],'r--')
        ax.set_ylim(0,1)
        ax.set_xlim(0,1)
        ax.set_title('ROC')
        ax.legend(loc='best')
        return plt.show(ax)
    

    2.KS

      KS曲线与ROC曲线非常的类似。KS曲线是两条线,其横轴是阈值,纵轴是TPR与FPR。两条曲线之间之间相距最远的地方对应的阈值,就是最能划分模型的阈值。KS曲线是用来衡量分类型模型准确度的工具。

    KS的计算步骤如下:

    1. 计算每个评分区间的好坏账户数。
    2. 计算每个评分区间的累计好账户数占总好账户数比率(good%)和累计坏账户数占总坏账户数比率(bad%)。
    3. 计算每个评分区间累计坏账户占比与累计好账户占比差的绝对值(累计good%-累计bad%),然后对这些绝对值取最大值即得此评分卡的K-S值。
    def plot_model_ks(y_label,y_pred):
        """
        y_label:测试集的y
        y_pred:对测试集预测后的概率
        
        return:KS曲线
        """
        pred_list = list(y_pred) 
        label_list = list(y_label)
        total_bad = sum(label_list)
        total_good = len(label_list)-total_bad 
        items = sorted(zip(pred_list,label_list),key=lambda x:x[0]) 
        step = (max(pred_list)-min(pred_list))/200 
        
        pred_bin=[]
        good_rate=[] 
        bad_rate=[] 
        ks_list = [] 
        for i in range(1,201): 
            idx = min(pred_list)+i*step 
            pred_bin.append(idx) 
            label_bin = [x[1] for x in items if x[0]<idx] 
            bad_num = sum(label_bin)
            good_num = len(label_bin)-bad_num  
            goodrate = good_num/total_good 
            badrate = bad_num/total_bad
            ks = abs(goodrate-badrate) 
            good_rate.append(goodrate)
            bad_rate.append(badrate)
            ks_list.append(ks)
        
        fig = plt.figure(figsize=(8,6))
        ax = fig.add_subplot(1,1,1)
        ax.plot(pred_bin,good_rate,color='green',label='good_rate')
        ax.plot(pred_bin,bad_rate,color='red',label='bad_rate')
        ax.plot(pred_bin,ks_list,color='blue',label='good-bad')
        ax.set_title('KS:{:.3f}'.format(max(ks_list)))
        ax.legend(loc='best')
        return plt.show(ax)
    

      此外还有基尼系数,列出三者的综合判断标准:

    3.交叉验证

      交叉验证是为了评估模型的泛化能力。

    1. k折交叉验证
    • 第一步,不重复抽样将原始数据随机分为 k 份。
    • 第二步,每一次挑选其中 1 份作为测试集,剩余 k-1 份作为训练集用于模型训练。
    • 第三步,重复第二步 k 次,这样每个子集都有一次机会作为测试集,其余子集作为训练集。在每个训练集上训练后得到一个模型,用这个模型在相应的测试集上测试,计算并保存模型的评估指标。
    • 第四步,计算 k 组测试结果的平均值作为模型精度的估计,并作为当前 k 折交叉验证下模型的性能指标
    1. 时间序列交叉验证
        金融数据具有时间周期性的特点,不同时间段的样本分布和变量分布会有一定差异,首先在选取建模的样本时就要考虑是否能代表总体的样本分布或者近段时间用户的状态。在做交叉验证时也需要考虑到时间周期这一点,例如我们选取的是1月份至10月份的数据,可以借鉴K折验证的思想,将数据集按照月份分为 10份,每次挑选其中一份作为测试集,其他作为训练集,得到10组的验证结果,观察随着月份的推移,模型的结果是否有比较大的趋势变化,这个也可以反映出样本是否稳定。如果变化较明显,则需要分析是什么原因导致的,是内部大的业务政策,还是外部的经济环境。
    # 交叉验证
    def cross_verify(x,y,estimators,fold,scoring='roc_auc'):
        """
        x:自变量的数据集
        y:target的数据集
        estimators:验证的模型
        fold:交叉验证的策略
        scoring:评级指标,默认auc
        
        return:交叉验证的结果
        """
        cv_result = cross_val_score(estimator=estimators,X=x,y=y,cv=fold,n_jobs=-1,scoring=scoring)
        print('CV的最大AUC为:{}'.format(cv_result.max()))
        print('CV的最小AUC为:{}'.format(cv_result.min()))
        print('CV的平均AUC为:{}'.format(cv_result.mean()))
        plt.figure(figsize=(6,4))
        plt.title('交叉验证的评价指标分布图')
        plt.boxplot(cv_result,patch_artist=True,showmeans=True,
                boxprops={'color':'black','facecolor':'yellow'},
                meanprops={'marker':'D','markerfacecolor':'tomato'},
                flierprops={'marker':'o','markerfacecolor':'red','color':'black'},
                medianprops={'linestyle':'--','color':'orange'})
        return plt.show()
    

    画出的效果图如下:

    4.学习曲线

      学习曲线的纵轴是训练集的大小,横轴是模型在训练集上和交叉验证集上的平均得分(准确率),可以反映随着训练集大小的改变,模型在训练集和验证集上的误差得分情况。进而判定模型的拟合情况。

    • 第一张图中,随着训练集不断增大,模型在训练集和验证集上的得分不断靠近,但两者的得分都比较低,存在欠拟合的问题。
    • 第二张图中,随着训练集增大,模型在训练集和验证集上的得分不断靠近,且两者的得分都比较高,说明模型的拟合比较良好。
      更多关于学习曲线的问题可以查看官方文档,链接是学习曲线
      注意:金融模型很容易出现过拟合的问题,解决过拟合的方法有很多,例如增加建模样本,正则化等,例如逻辑回归里可以选择L1正则化或L2正则化,且可设置正则化的强度,另外做评分卡时,入模的变量不宜太多,太多的变量会使模型过于复杂,容易出现过拟合,一般应限制在15个以下。
    # 学习曲线
    def plot_learning_curve(estimator,x,y,cv=None,train_size = np.linspace(0.1,1.0,5),plt_size =None):
        """
        estimator :画学习曲线的基模型
        x:自变量的数据集
        y:target的数据集
        cv:交叉验证的策略
        train_size:训练集划分的策略
        plt_size:画图尺寸
        
        return:学习曲线
        """
        from sklearn.model_selection import learning_curve
        train_sizes,train_scores,test_scores = learning_curve(estimator=estimator,
                                                              X=x,
                                                              y=y,
                                                              cv=cv,
                                                              n_jobs=-1,
                                                              train_sizes=train_size)
        train_scores_mean = np.mean(train_scores,axis=1)
        train_scores_std = np.std(train_scores,axis=1)
        test_scores_mean = np.mean(test_scores,axis=1)
        test_scores_std = np.std(test_scores,axis=1)
        plt.figure(figsize=plt_size)
        plt.xlabel('Training-example')
        plt.ylabel('score')
        plt.fill_between(train_sizes,train_scores_mean-train_scores_std,
                         train_scores_mean+train_scores_std,alpha=0.1,color='r')
        plt.fill_between(train_sizes,test_scores_mean-test_scores_std,
                         test_scores_mean+test_scores_std,alpha=0.1,color='g')
        plt.plot(train_sizes,train_scores_mean,'o-',color='r',label='Training-score')
        plt.plot(train_sizes,test_scores_mean,'o-',color='g',label='cross-val-score')
        plt.legend(loc='best')
        return plt.show()
    

    5.混淆矩阵

      混淆矩阵的指标有精确率,查全率(召回率),误伤率。这三个指标的值取决于评分卡的cutoff点怎么设置。评分卡最后会输出一个评分分布表,根据评分的等级和业务目标来选择适当的cutoff点,从而计算出这三个指标。

    # 混淆矩阵 /分类报告
    def plot_matrix_report(y_label,y_pred): 
        """
        y_label:测试集的y
        y_pred:对测试集预测后的概率
        
        return:混淆矩阵
        """
        matrix_array = metrics.confusion_matrix(y_label,y_pred)
        plt.matshow(matrix_array, cmap=plt.cm.summer_r)
        plt.colorbar()
    
        for x in range(len(matrix_array)): 
            for y in range(len(matrix_array)):
                plt.annotate(matrix_array[x,y], xy =(x,y), ha='center',va='center')
    
        plt.xlabel('True label')
        plt.ylabel('Predict label')
        print(metrics.classification_report(y_label,y_pred))
        return plt.show()
    

    【作者】:Labryant
    【原创公众号】:风控猎人
    【简介】:某创业公司策略分析师,积极上进,努力提升。乾坤未定,你我都是黑马。
    【转载说明】:转载请说明出处,谢谢合作!~

    展开全文
  • 互联网金融风控模型

    万次阅读 多人点赞 2018-02-08 12:00:22
    目前市面主流的风控模型 1、互联网金融前10名排行榜(数据截止日期2017-09-12) 互联网金融公司排名分别是蚂蚁金服、陆金所、京东金融、苏宁金融、百度金融、腾讯理财通、宜信、钱大掌柜、万达金融和网易理财。...

    一、市场调研

    • 目前市面主流的风控模型

    1、互联网金融前10名排行榜(数据截止日期2017-09-12)

    • 互联网金融公司排名分别是蚂蚁金服、陆金所、京东金融、苏宁金融、百度金融、腾讯理财通、宜信、钱大掌柜、万达金融和网易理财。
    1.1 蚂蚁金服
    • 1.1.1 大数据技术

      • 对接第三方征信公司芝麻信用分,通过用户信用历史、行为偏好、履约能力、身份特质、人脉关系五个维度对海量数据行综合的处理评估,同时也给予阿里电商交易和蚂蚁金服互联网金融交易数据,对接公安系统和第三方数据公司建立联系。(这块就是用户画像的作用,投资人画像,融资企业/个人 画像,这块的内容比较复杂。后面一定会展开分析,风险定价,推荐系统全部靠它了)
    • 1.1.2 人脸识别技术

      • 人脸识别技术核心算法分别是活体检测算法、图像脱敏算法以及人脸比对算法,国际公开人脸数据库 LFW 上,人脸识别算法准确率(99%)。(像这块的技术已经很成熟有百度都已经推出成型产品,可以通过人脸识别对融资企业/法人进行风险验证,是否存在风险欺诈,多头借贷等嫌疑)
    • 1.1.3 云计算技术
      • 是一个开放的云平台,它助力金融创新、助力金融机构的IT架构实现升级,去构建更加稳健安全、低成本、敏捷创新的金融级应用。(其实就高可用,可靠性等)
    • 1.1.4 风控技术
      • 历史交易数据进行个性化的验证,提高账户安全性。80%左右的风险事件在智能风控环节就能解决。除了事后审核,事前预防、事中监控也非常重要——事前,将账户的风险分级,不同账户对应不同风险等级;事中,对新上线的产品进行风险评审以及监控策略方案评审。(解决80%的问题因此这块才是真正的核心。贷前,贷中,贷后等方方面面的监控,贷前最为重要,如何去检测,抓取哪些数据,与哪些第三方平台合作)
    • 1.1.5 人工智能技术
      • 蚂蚁金服通过大数据挖掘和语义分析技术来实现问题的自动判断和预测。可以识别到用户的身份信息,总结在大的用户层面大家可能都会遇到的问题,100%的自动语音识别。智能质检能力与智能赔付能力,具备了品质的判断能力以及情感判断能力。(总结:公司 PC 的人工语言不完善,很多关键字无法识别。这块应该跟后台没有交互,数据都是写死。移动端也可以考虑在标的详情页介入 draglayout 控件进行智能语音服务,解答用户疑惑。技术核心应该是在数据挖掘,语义分析技术等方式)
    1.2 陆金所风控调研
    • 1.2.1 七步风控体系

      • 1、风险政策制度框架体系:所有交易对手和产品引入都制定了明晰的风险政策指引,所有业务必须在制度框架内运行。(说白了就是自己风控业务流程,对于投资人者以及融资用户进行风险等级划分)
      • 2、信用评级:交易对手和产品进行主体评级及债项评级。(对于投资人者、融资用户、产品进行风险等级划分)
      • 3、信息披露:针对每一个不同的产品,将其内部评级、底层资产、主要风险、还款来源、保障措施。(就目前风险披露数据只是按照国家要求进行风险披露,但是并没有标地产品进行风险披露,融资企业进行风险披露,这个披露系统可以做成风险评估报告,后期也可以利用企业供应链关系库一定会用到(但是这部分数据都是针对上市而言,数据不全;))
      • 4、投后预警监控:所有在售资产至少每三个月进行一次检视。(对于融资周期过长的企业可以每三个月进行企业经营状况的上报,重点在于资金用途,回款方式以及周期;如果我们企业够强大的话,可以利用大数据征信对于那些未按时回款融资企业用户的企业进入黑名单系统)
      • 5、风险管理系统:陆金所的风险管理系统覆盖全产品线、整个产品生命周期,实现风控的标准化、智能化、模型化,大幅提升陆金所风险管理工作的效率和效果。(这些东西都太虚了)
      • 6、风险评价体系:同的风险程度给予业务部门不同的业绩评价。
      • 7、资产、资金的精准匹配:投资者进行风险分类,产品与投资者风险适配系统,确保投资者都能买到适合其投资风格与风险偏好的产品。(个人认为这个才是风控的意义,还有我们平台本身存在的价值;具体的实现的方式,利用画像技术对于投资用户,融资用户,标的产品进行风险等级划分,通过数据挖掘进行实时推荐)
    • 小结

      • 风险评级分为三部分:投资人风险等级分类,融资企业信息等级分类,标的产品等级划分。

        • 投资人等级划分:可以参考以往投资标的的利率,投资金额,投资人的站岗资金,投资人的提现金额,也可以通过投资人基本个人信息,例如移动设备Android 或 IOS,年龄,居住地,职业,评判投资人也可以调用第三方平台去综合判断投资的经济状况等方面维度

        • 融资企业等级划分:企业所在行业的整体现状,国家政策是否扶持,企业的纳税证明,银行流水,公司规模,注册资本等维度

        • 标的产品 :项目所属行业,项目的整体周期,项目成本,利润率,项目的合作企业,项目合同,发票等内容等维度
      • 投资用户与产品匹配度
        • 根据风险评级系统去高度匹配融资用户,产品标的的内容信息。这部分用到的应该是数据挖掘,推荐系统。根据用户以往投资标的金额,利率进行离线推荐,也可以根据用户的点击流日志分析去进行实时推荐,在某个标的详情页的停留时间,标的的点击次数信息。
    1.3 京东金融风控调研
    • 1.3.1 用户支付瞬间需要做的事情

      • 如判断用户的设备信息、登录行为、访问特征、信用状况、商品信息、商家特征、配送区域、银行卡状态等。如建立信用、反欺诈、伪冒交易等一系列模型,其中多达近百项的模型需实时计算。这样庞大的运算量在一秒内,甚至几十毫秒内完成,不是易事。 (感觉这些内容任何一点都够我研究一段时间的)
    • 1.3.2 风控的灵魂是数据,所有决策都以数据为驱动

      • 1、业务系统产生的数据和点击流作为主要挖掘的素材来源;但是随着时间推移,恶意用户可以模仿真实用户。因此才会用设备指纹识别,生物探针,语音识别,人脸识别等。

      • 2、风控模型
        这里写图片描述

        • 原始层数据: 由于原始数据存在杂乱无章的现象,此处使用各种颜色来示意

        • 数据原子化: 数据原子化是经过整理后,把数据按业务归属分类,形成最原子的类别,比如账户,资金,投资,消费等

        • 数据抽象层: 按风控关注的业务做数据整合,这层是最贴近业务的。每一块代表一类业务,一个原子数据类是可以被放入多个抽象数据块里的

        • 数据模型层: 对分析场景使用的,基本就是一个数据模型块对应一个分析场景。

      • 3、机器学习在京东金融的天盾风控系统应用
      • 这里写图片描述

        • 根据经验,在算法的选择上尽可能的多做选择,对比模型的性能择优选取。另外,对样本库做好治理工作,可使用随机抽样和使用聚类把样本数据分层抽取。这些工作是建模人员在大数据环境中也就是离线做的,那么,怎么把训练的模型应用到线上做实时呢,下图是架构:
          这里写图片描述

        • 京东金融目前正在开发机器学习平台,让懂机器学习的人就可以使用机器学习做想的事情,当前懂机器学习的人不在少数,但真正使用机器学习做具体事情不多,故此平台不但满足内部建模训练、发布等,还可对外输出。
          数据风控还有很长的路要走,如量化投资风险评估与运营也属风控范畴,风控也可和推荐领域相结合。如数据会有阶段性差异,质量会随时间推移,慢慢发生变化,可能花费很大精力产出的预测产品会失效,调整代价难易不可估。如不同场景准确度和覆盖度都是不同的,尺度如何把握。如怎样能降低统计分析学和分布式计算相结合的成本等等。
          总之,互联网金融风控核心还是服务客户,提升产品价值,最大程度的做到差异化的防范,智能化是风控的发展方向,京东金融从开始就致力于打造智能化的风险管控解决方案。(机器学习部分了解)

    2、第三方风控产品以及服务(数据截止日期2018-01-12)

    • 20强榜单分为三个梯队,三个梯队覆盖的放贷机构数量依次递减,大致比例为10:3:1。

      • 第一梯队(5家):放贷类公司使用最集中的征信机构,分别是上海资信、同盾科技、芝麻信用、鹏元征信和百融金服。

      • 第二梯队(8家):FICO、聚信立、致诚信用、EXPERIAN、安融征信、考拉征信、前海征信、维氏盾征信。

      • 第三梯队(7家):GEO集奥聚合、白骑士、华道征信、立木征信、算话征信、银联智策、正信用。

    • 前海征信可以获取到个人用户的公积金信息。芝麻信用目前是最优秀的征信公司,当中很多公司有自己渠道去获取用户的信息 。

    3、国家政策法规

    • 1、 个人单平台借贷余额不能过20万
    • 2、 个人全部平台借贷余额不能过100万
    • 3、 企业法人单平台借贷不能过100万
    • 4、 企业全平台不能过500万

    • 从政策层面上来p2p服务的是属于中小企业,p2p行业不利。因此风控显的更加尤为重要。通过风控模型获取优质的资产。

    二、风控模型

    • 风控模型应该是从两个角度去考虑,第一个角度是资产端风控策略,第二个角度是资金端风控策略。考虑主要出发点应该是从贷前、袋中、贷后三个方向去考虑,结合传统业务的风控模型和互联用户的行为数据。针对资金,资产进行风险等级划分,防欺诈系统、袋中的舆情监控、贷后的权重叠加。

      这里写图片描述

    1.1 欺诈用户的识别

    • 1.1.1、防欺诈风控系统,下面我列举的参考维度指标;针对黑色产业业务梳理
      • 根据现有数据统计分析移动端登录用户占比与 PC 用户占比为8:2划分,因此移动的防欺诈系统为主要参考因数,
      • 1、根据以往的业务系统数据可以建立黑名单、白名单。
        • 白名单: 可以通过建立数据模型已经数据挖掘,机器学习相关算法进行优质用户的挖掘。
        • 黑名单: 黑名单企业可以针对那些逾期、破产企业(法人作为黑名单)、通过手机号码、imei作为用户判断标识,调用第三放征信公司去进行鉴别。
      • 2、对移动端用户进行实时监测,获取用经纬作为、获取用户重力感应数据、mac 地址、ip、移动设备注册时长等数据判断用户是否存在恶意欺诈,恶意注册

    1.2 可信度分析

    • 1.2.1、风险等级划分
      • 风险等级划分,分为三种类型、投入用户风险承受能力等级划分、融资企业以及个人用户的等级划分、融资项目标的等级划分
        • 1、投资用户等级划分:可以参考投资年龄、居住地、职业、银行流水、固定资产、收入、学历等角度去划分
        • 2、融资企业等级划分:企业所在行业、国家政策、企业现金流、企业注册资本、管理层背景、资产负债率、法人个人信息、企业纳税证明、公司人员数量等维度去
        • 3、标的信息:标的项目类型、回款周期、合作企业、回款方式、融资金额

    1.3 贷后预警

    • 对于回款周期比较长的项目,可以至少三个做个回访、让融资企业按时提供目前经营现状、融资标的是否按时回款。根据贷后的状态进行预警、等级划分

    四、技术实现

    • 用户画像、人脸识别、推荐系统、智能语音、数据挖掘、风控模型。
    • 风控系统业务流程

      • 访用户欺诈系统

      • 风险评估等级划分系统

      • 用户画像

      • 用户点击流日志分析系统

      • 推荐系统

      • 风险预警系统

      • 风险定价系统

    五、产品与服务

    • 参考科法智能提供的服务与产品,将案例信息换位标的信息、将诉讼公司换位融资企业。对照数据就可以解决提供类似的服务。下面是具体相关部分信息。

    • 企业信用信息查询

      • 包括企业基本信息、经营状态、法人以及高管信息披露
      • 对于一些重要信息提供收费服务、本平台高等级投资用户可以免费查看,比如企业的目前经验状况、本平台内部信用等级、所在行业排名等。
    • 企业融资项目标的信息查询
      • 结合本平台以往类似融资项目信息历史数据进行信息关联、结构归类、风险解读、精准检索。出具融资项目风险测评报告
    • 对于优质资产本平台进行充分的信息披露

    • 科法智能逻辑思维导图

    这里写图片描述

    展开全文
  • 风控模型面试问题

    千次阅读 2020-04-20 22:05:19
    Q:互联网金融场景下的的风控模型种类? 获客阶段:用户响应模型,风险预筛选模型。 授信阶段:申请评分模型,反欺诈模型,风险定价模型,收益评分模型。 贷后阶段:行为评分模型,交易欺诈模型,客户流失模型。 ...
  • 风控模型的基础知识

    2021-01-12 10:08:33
    风控模型根据设定的y变量与可获得的x变量不同,大致可以分为三类:即A卡,B卡,C卡。今天就让我们聊聊三者的区别。 1、A卡(Application score card) A卡即申请评分模型,此类风控模型的目的在于预测申请时点(申请...
  • KS(Kolmogorov-Smirnov):KS用于模型风险区分能力进行评估,指标衡量的是好坏样本累计分部之间的差值。好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强。 KS的计算步骤如下: 1. 计算每个评分区间的...
  • 报表体系的搭建对于任何一家金融机构都尤为重要,对于风控模型来说经上线部署后会因内外部各种因素引起模型分数偏移,甚至出现错误。 因此,为了能在第一时间发现问题,我们需要对模型进行动态监控。有一套相对完整...
  • 模型ks_风控模型评估

    2020-12-29 00:17:18
    之前写过一篇模型评估的指标,偏于理论,详情见风控模型指标详解。1.AUC AUC值指的是ROC曲线下面积大小,该值能够量化反映基于ROC曲线衡量的模型性能。所以,需要了解ROC曲线的绘制方法。 首先,需要了解TPR(真阳性...
  • 风控模型调优相关知识
  • 风控模型开发全流程

    2020-09-13 07:30:00
    本篇我们对开发金融风控模型做一个总结,先给出流程图:建立模型,当然需要数据,金融风控的数据一般来源于内部与外部,内部是在公司业务系统内已有的,外部主要靠采购三方数据扩展。三方数据的采集标...
  • KS(Kolmogorov-Smirnov):KS用于模型风险区分能力进行评估,指标衡量的是好坏样本累计分部之间的差值。好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强。 KS的计算步骤如下: 1. 计算每个评分区间...
  • 支付风控模型流程分析

    千次阅读 2017-04-14 16:48:42
    支付风控模型和流程分析
  • 信贷风控模型开发----模型简介

    万次阅读 2018-03-21 12:43:53
    风控模型简介 1.1 为什么要建模 1.2 什么是信用评分 1.3 常用的模型 1.4 概念解析:M0,M1,M2的定义 下一章预告 参考文献 第一章 风控模型简介 本系列文章为笔者对信贷风控领域建模的一些学习研究...
  • 欢迎加入全国风控微信群组:免费加入,详情可添加管理Vivian:wmyd80回复微信群组之前我们说过,产品上线后并不是一成不变的,而是需要后续赢利分析数据表现不断调整,其风控模型策略也是不断优化的。简单举个例子和...
  • 互联网金融风控模型大全

    千次阅读 2020-11-05 14:28:55
    目前市面主流的风控模型 1、互联网金融前10名排行榜(数据截止日期2017-09-12) 互联网金融公司排名分别是蚂蚁金服、陆金所、京东金融、苏宁金融、百度金融、腾讯理财通、宜信、钱大掌柜、万达金融和网易理财。 1.1 ...
  • 量化风控模型机会创造营,两千套ppt模板高级,二十多种风格适用于多用途,可以打印成纸质的直接使用。
  • 信贷业务风控逾期指标及风控模型评估指标 一、互联网金融中需要关注的风控逾期指标 1.逾期天数 DPD (Days Past Due) 自应还日次日起到实还日期间的日期数 举例:DPDN+表示逾期天数 >=N天,如DPD30+表逾期天数 >...
  • 风控是信贷业务的核心,业务实践中经常会出现样本选择性偏差(sample bias),从而影响模型效果,影响信贷业务。而很多风控模型也都只能基于有偏样本建立。对于样本偏差对风控模型的影响,很...
  • 在我们开发完信用分模型后,经常需要计算如下的一些指标:●区分度的指标:○AUC○KS○GINI●稳定性的指标:○PSI●分数分布:○总人数比例○坏用户比例接下来,本文从如下5个模块为读者朋友们介绍如何利用Python...
  • 对于样本偏差对风控模型的影响,很多模型同学一般只是定性分析,为此,本文将尝试从量化的角度探讨这一点,希望能给大家一些方法论上的启发。 目录 信贷业务中的样本偏差来源 信贷业务中的风控模型术语 拒绝推断...
  • 基于CART树的银行贷款风控模型实现
  • 风控业务背景经过漫长的离线模型设计开发旅程,我们终于迎来了最终的上线部署环节。... 风控模型部署框架Part 2. 统一数据源建设Part 3. 变量一致性比对Part 4. 模型一致性比对Part 5. Python部署上线...
  • 风控模型师面试准备–技术篇–访问原文 风控模型师面试准备–技术篇 一.算法 逻辑回归 决策树 集成学习(随机森林,Adaboost,GBDT,XGBOOST,LightGbm) 二.特征工程 三.模型评估与优化 一. 算法 1.逻辑回归 Q : ...
  • 风控业务 数据采集 自己获取 从运营商获取 从大数据公司获取 人民银行征信报告 ... 风控模型 A 申请评分卡 B 行为评分卡 C 催收评分卡 催收 ...
  • 风控模型师面试准备--业务+模型篇

    千次阅读 2019-05-29 15:57:57
    Q:互联网金融场景下的的风控模型种类? 获客阶段:用户响应模型,风险预筛选模型。 授信阶段:申请评分模型,反欺诈模型,风险定价模型,收益评分模型。 贷后阶段:行为评分模型,交易欺诈模型,客户流失模型。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,730
精华内容 692
关键字:

风控模型