diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
基于MovieLens的用户画像建模报告
+ +用户画像是一种将用户属性、行为和好恶等信息转化为标签并关联而形成的用户模型。其目的是连接用户需求和产品运营,帮助企业更高效、更精准的认识、理解用户,从而更有效的分配资源提供为用户提供产品和服务、提高运营效率。
+ ++ + Ta是一个怎样的人? + ++ +
+ + 男性,中青年,产品经理,北方人,喜欢美食、宠物和3C和网络游戏(阴阳师和原神)。 + +
本次报告数据来源于MovieLens,通过介绍用户画像建模并将其应用于用户分群和电影推荐的流程,希望读者能够对用户画像有所了解。
+ +本次报告使用的数据集为MovieLens10K。该数据集为GroupLens从MovieLens网站收集并提供的用户、电影和评分数据。发布时间为2009年1月1日。
+ +
+
+ 通过打开本地数据文件获取数据集,其中用户数为{{users}},电影数为{{movies}},评分数为{{ratings}}。
+ +考虑本次报告所构建的用户画像将应用于用户分群和电影推荐,设计标签分类如下:
+ +
+
+ 因为在用户分群时将使用基于核函数的主成分分析算法和K均值聚类算法、电影推荐时将使用Apriori算法,所以本次报告使用独热编码方法生成标签。
+ ++ + 独热编码(One-Hot Encoding) + ++ +
+ + 一种将称名或顺序型特征转化为机器学习算法容易处理的格式的方法,它为特征的每个值衍生一个二进制的新特征。在该衍生特征中,如果某份样本属于该特征值则为1,否则为0。 + +
+ +
+ + 例如,“性别”特征将会衍生“gender: male”和“gender: female”两个新特征,并会为所有样本按照衍生特征赋值0/1。其中,男性为{“gender:male”: 1},{“gender:female”: 0};女性为{“gender:male”: 0},{“gender:female”: 1}。 + +
通过各特征来描绘用户整体画像。
+ +定义年龄小于18岁为“age: under18”,18至24岁为“age: 18~24”,25至34岁为“age: 25~34”,35至44岁为“age: 35~44”,45至54岁至“age: 45~54”,大于54岁为“age: above54”。
+ + + +根据邮政编码(美国)解析州级行政区。
+ + + +统计每位用户评分数并按照等频分箱、分箱数为5。
+ + + +统计每位用户平均评分并定义为平均评分并按照等频分箱、分箱数为5。
+ + + +统计每位用户最近评分最高的电影前五名并定义为最喜欢的电影TOP1至5。
+ + + +统计每位用户评分过的电影体裁数前五名并定义为喜欢的电影体裁TOP1至5。
+ + + +按照用户标签的关联性进行归类分组,企业可以将用户群体划分为具有相似属性、行为和好恶的细分群体。
+ +本次报告首先使用基于核函数的主成分分析算法就衍生特征进行降维处理,最后使用K均值聚类算法进行聚类处理并基于间隔统计量确定最优聚类簇数,最终实现用户分群目的。
+ ++ + 基于核函数的主成分分析 + ++ +
+ + 首先使用核函数(例如径向基)方法,将高维且线性不可分的数据映射到更高维但线性可分的特征空间,最后在该特征空间使用主成分分析算法进行降维处理。 + +
+ +
+ + 主成分分析 + +
+ + 一种常用的数据降维和特征提取的统计方法,其假设是数据内在存在线性关系,通过将数据转换到由主成分构成的坐标系统,从而在最大保留数据信息的前提下降维。 + +
+ +
+ + 核函数 + +
+ + 考虑本次报告使用独热编码方法生成的标签数据具有高维性和稀疏性,通常使用基于余弦相似度核函数(Cosine Similarity Kernel)的主成分分析算法的降维效果更好。 + +
+ + K均值聚类 + ++ + +
+ + 一种无监督学习的基于距离的聚类算法,其目标是将数据点划分为K个簇,使得相同簇的数据点尽可能相同、不同簇的数据点尽可能不同。缺点是需要预先指定聚类簇数,本报告使用间隔统计量确定最优聚类簇数。 + +
+ +
+ + 间隔统计量(GapStatistic) + +
+ + 用于评估聚类效果的统计方法,公式如下: + + \[Gap(K)=E(log{D}_{K})-log{D}_{K}\] + + 其中,\({D}_{K}=\sum {\sum {dist{(x,c)}^{2}}}\)。选择\(Gap(K)>=Gap(K+1)\)的最小K值作为最优聚类簇数。 + +
基于GiveMeSomeCredit的贷款申请评分卡建模报告
+ +贷款申请评分卡是一种成熟的应用统计模型,其作用是对申请人做风险评估,识别可能产生逾期的客户并做出决策,包括申请审批和风险定价等,具有较高的准确性和可靠性。
+ +本报告数据来源于GiveMeSomeCredit,通过介绍评分卡典型建模流程,希望读者能够就贷款申请评分模型有了初步了解。
+ +在贷款申请评分卡建模过程中,通常选择逻辑回归(Logistics Regression)算法,该算法的函数作用是将申请人的贷款申请信息综合起来并转化为逾期概率,为决策人员提供了量化风险评估的依据。
+ +
+
+ 审批贷款申请时,假设只有通过或拒绝两种审批结果,审批通过的概率为\(approve\)。审批通过后,客户也只有还款或逾期两种还款结果,逾期的概率为\(overdue\)(还款的概率为\(repay\),\(overdue+repay=1\))。银行就逾期的损失为\(loss\),就还款的收益为\(revenue\)。综合收益为:
+ + \[approve(repay\times revenue-overdue\times loss)\] + +站在决策人员的立场,审批通过的充分条件为综合收益大于零,推导可得:
+ + \[overdue / repay < revenue / loss\] + +就是说,当该申请人发生逾期的概率和还款的概率的比值(定义为逾期还款概率比率,\(odd\))小于收益和损失的比值审批通过。所以,计算申请人的逾期还款概率比率成为首要工作。
+ +假设,已知申请人的贷款申请信息(定义为特征变量的值的集合,\(x=({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m)})\)),则该申请人的逾期还款概率比率为:
+ + \[odd(overdue|({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m}))=p(overdue|({x}_{1,}{x}_{2},\cdot \cdot \cdot {x}_{m}))/p(repay|({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m}))\] + + \[=p(overdue)/p(repay)\times (f({x}_{1,}{x}_{2},\cdot \cdot \cdot {x}_{m}|overdue)/f({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m}|repay))\] + + \[=p(overdue)/p(repay)\times f({x}_{1}|overdue)/f({x}_{1}|repay)\times f({x}_{2}|overdue)/f({x}_{2}|repay)\times \cdot \cdot \cdot f({x}_{m}|overdue)/f({x}_{m}|repay)\] + + \[\to F(x)=ln(odd(overdue|({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m})))\] + + \[=ln(p(overdue)/p(repay))+ln(f({x}_{1}|overdue)/f({x}_{1}|repay))+\cdot \cdot \cdot ln(f({x}_{m}|overdue)/f({x}_{m}|repay))\] + +定义\(ln(f({x}_{i}|overdue)/f({x}_{i}|repay))\)为特征变量的值的的证据权重\(woe({x}_{i})\),就数据集而言证据权重是评价某个特征变量逾期还款分布情况的较好统计量。
+ +综上所述,在每个特征变量相互独立的情况下,计算申请人的逾期还款概率比率为对数逾期还款样本比率加上各特征变量的值的证据权重,即\(F(x)=a+\sum ^{m}_{i=1} {woe({x}_{i})}\)。
+ +另外,推导可得:
+ + \[odd(overdue|F({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m})=F(x))={e}^{F(x)}\] + + \[=p(overdue|({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m}))/p(repay|({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m}))\] + + \(\to p(overdue|({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m}))=1/(1+{e}^{-F(x)})\),刚好是逻辑回归函数! + +将\(F(x)\)由对数比率经线性转化则为贷款申请评分卡!
+ +连接数据库获取原始数据集,目标变量为SeriousDlqin2yrs,特征变量数为10个。数据预览如下:
+ + + +删除目标变量包含缺失值和重复的样本。处理后,样本数为{{samples}}份。
+ +在特征变量证据权重编码时,将对缺失值单独作为一箱并纳入模型。
+ +在特征变量证据权重编码时,可消除异常值的影响,故不作异常值处理。
+ +逻辑回归假设之一为特征变量和目标变量之间存在线性关系,但在实际情况多为非线性。通过分箱,可将非线性关系转化为线性。另外,分箱可以减少缺失值和异常值对逻辑回归的影响并提升逻辑回归的鲁棒性。
+ +本次报告使用决策树进行分箱,分箱后使用证据权重编码。以特征变量“Age”为例,其证据权重编码结果如下:
+ + + +由上图可看出,特征变量“Age”分箱后各箱证据权重呈线性关系且单调递减,即随着年龄升高逾期还款概率比率降低。这与贷款申请审批经验符合,其经济稳定性的增强、收入水平的提升、信用记录的积累、消费观念的成熟以及风险管理能力的提升,表现出更低的逾期风险。
+ +决策树分箱说明
+ +信息价值是与证据权重密切相关的指标,可用来评估特征变量的预测能力。通常,选择信息价值大于等于0.1的特征变量。
+ + \[iv=(overduty-repay)\times ln(odd)\] + +信息价值说明
+ +概率是描述随机变量确定性的量度,熵是描述随机变量不确定性的量度。假设\(p(x)\)和\(q(x)\)是逾期和还款的两个概率分布,可使用相对熵表示\(q(x)\)拟合\(p(x)\)所产生的信息损失,公式如下:
+ + \[D(p||q)=\sum {p(x)log(p(x)/q(x))}\] + +相对熵没有对称性,即\(D(p||q)\neq D(q||p)\),如果将两个概率分布之间的相对熵求和,和越大说明两个概率分布的距离越大。该和即为KL距离,公式如下:
+ + \[DistanceKL=\int {(f(p|overduty)-f(p|repay))\times log(f(p|overduty)/f(p|overduty))dx}\] + +上式离散形式即为信息价值。在选择特征变量时,特征变量的信息价值越大说明逾期还款的概率分布的距离越大、区分逾期还款的能力越强。
+ +使用逻辑回归算法需检验其前提条件:
+ +本次报告使用方差扩大因子(Variance Inflation Factor)评估特征变量与其它变量的共线性。通常,淘汰方差扩大因子大于5的特征变量。
+ + \[vif=1/(1-{maximun(r)}^{2})\] + +其中,\(r\)为特征变量与其它特征变量的复相关系数。
+ +有条件的后向步进淘汰特征变量说明
+ +处理后,选择的特征变量数为{{variables_independent}}个,特征变量预览如下:
+ + + +本次报告中贷款申请评分卡公式为(本次报告控制\(a\)为500,\(b\)为\(50/ln(2)\)):
+ + \[score=a-blog(odd(overdue|({x}_{1},{x}_{2},\cdot \cdot \cdot {x}_{m})))\] + + \[=a-b({\beta }_{0}+{\beta }_{1}woe({x}_{1})+{\beta }_{2}woe({x}_{2})+\cdot \cdot \cdot {\beta }_{m}woe({x}_{m}))\] + +其中,\({\beta }_{i}\)为特征变量的回归系数(\({\beta }_{0}\)基于回归系数分摊至各特征变量)。
+ +以“Age”为例,其评分卡编制结果如下:
+ + + +由上表可看出,\(分数=加权基础分数+加权回归系数\times 证据权重\)。
+ +本次报告使用柯斯和提升统计量评估评分卡,柯斯统计量为{{ks}},提升统计量为{{lift}}。
+ +柯斯统计量说明
+ +柯斯统计量全称Kolmogorov-Smirnov,常用于评估模型对于目标变量的区分能力。先将总分数划分为若干区间并作为横坐标,再将逾期和还款的累计样本数占比作为纵坐标,即可绘制两条洛伦兹曲线。柯斯统计量就是两条洛伦兹曲线间最大距离。
+ +通常,柯斯统计量小于20不建议使用该评分卡,20~40说明该评分卡区分能力较好、40~50良好、50~60很好、60~75非常好,大于75建议审慎使用。
+ +提升统计量说明
+ +提升统计量,常用于量化评估模型对目标变量的预测能力较随机选择的提升程度。先将总分数划分为若干区间并作为横坐标,再计算各区间的累计逾期样本数占比和累计样本数占比的比值,最大值就是提升统计量。
+ +通常,提升统计量折线图在高位保持若干区间后迅速下降至1时,表示该评分卡区分能力较好。
+ + + +评分卡评价表
+ + + +以分箱[500, 550)为例,该分箱5.61%是逾期客户。假设,审批通过16位客户产生的收益可平衡1位逾期客户的损失,5.61%可作为平衡点,拒绝规则不能低于550,否则损失大于收益。
+ +以拒绝规则<550为例,若选择该拒绝规则,则会拒绝36.53%客户,这部分中15.72%是逾期客户。使用该评分卡后,逾期客户减少85.59%。
+ +基于RFM模型的客户价值分析报告
+ +在面向客户制定运营策略时,我们希望针对不同的客户推行不同的策略,实现精准化运营,以期获得最大的投入产出比(ROI)。精准化运营的前提是客户分类。通过客户分类,细分出不同的客户群体,对不同的客户群体采取不同的运营策略,合理分配有限的资源,以实现投入产出最大化。
+ +在客户分类中,RFM模型是一个经典的客户分类模型,该模型利用交易环节中最核心的三个变量,即最近消费(Recency)、消费频率(Frequency)和消费金额(Monetray)细分客户群体,从而分析不同群体的客户价值。
+ +本报告使用Kaggle的SuperstoreData作为数据集,探索如何基于RFM模型对客户群体进行细分,以及细分后如何对客户价值进行分析。
+ +数据集共{{sample_size}}份样本。其中,客户ID数据类型为字符串,交易金额为小数,交易日期为日期。
+ +其中,R为最近一次交易日期距最远交易日期间隔,单位为日,数据类型为整数;F为交易笔数,数据类型为整数;M为累计交易金额,数据类型为小数。R、F和M均已正向化。
+ +本报告就R、F和M基于平均值划分为小于等于平均值部分和大于部分:
+ +| 客户分类 | + +R大于R平均值 | + +F大于F平均值 | + +M大于M平均值 | + +
|---|---|---|---|
| 流失客户 | + +否 | + +否 | + +否 | + +
| 一般维持客户 | + +否 | + +是 | + +否 | + + +
| 新客户 | + +是 | + +否 | + +否 | + +
| 潜力客户 | + +是 | + +是 | + +否 | + +
| 重要挽留客户 | + +否 | + +否 | + +是 | + +
| 重要深耕客户 | + +是 | + +否 | + +是 | + +
| 重要唤回客户 | + +否 | + +是 | + +是 | + +
| 重要价值客户 | + +是 | + +是 | + +是 | + +
上图表示近十二个自然月的每个自然月对应的前后滚动十二个自然月的客户数,反映了客户发展的趋势为越来越多。
+ +上图表示各客户分类在R、F和M分布,其中:R越靠近右侧反映了该客户分类越最近交易,F越靠近上侧反映了该客户分类越交易频繁,M越大反映了该客户分类越交易金额大。
+ +上图表示各客户分类的客户占比,反映了重要价值客户、流失客户和新客户这三类客户分类的客户占比较大,是后续分析的重点。
+ +上图表示各客户分类的交易金额占比,反映了重要价值客户、新客户和重要唤回客户这三类客户分类的交易金额占比较大。
+ +上图表示重要价值客户、流失客户和新客户这三类客户分类的客户占比,反映了近期新客户占比提升、重要价值客户和流式客户占比下降,建议针对重要价值客户制定相应运营策略。
+ +上图表示重要价值客户、流失客户和新客户这三类客户分类的近十二个自然月的留存率,反映了重要价值客户较流式客户和新客户黏性大,近期新客户黏性较大。
+ +通过客户分类,我们可以根据客户细分群体制定相应的产品和运营策略和方案:
+ +最近交易、经常交易、交易金额高,建议提供客制化商品/服务以维持客户交易能力和忠诚度。
+ +最近交易、经常交易、交易金额低,建议提供短期、针对性促销方案以期提升客户交易能力。
+ +最近无交易、过往经常交易且交易金额高,建议调查客户流失原因并尝试挽回,加强客户关系管理以期提升客户满意度。
+ +赔案编号: {{ dossier.赔案层.赔案编号 }} | 保险总公司: {{ dossier.赔案层.保险总公司 }}
+| 影像件序号 | +影像件名称 | +已分类(含旋正) | +影像件类型 | +已识别 | +
|---|---|---|---|---|
| {{ image.影像件序号 }} | +{{ image.影像件名称 }} | +{{ image.已分类 }} | +{{ image.影像件类型 }} | +{{ image.已识别 }} | +
| 大项 | +小项 | +数量 | +金额 | +
|---|---|---|---|
| {{ item.大项 }} | +{{ item.小项 }} | +{{ item.数量 }} | +{{ item.金额 }}元 | +