1 / 2
文档名称:

PSI群体稳定指数Python实现.doc

格式:doc   大小:58KB   页数:2页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

PSI群体稳定指数Python实现.doc

上传人:小s 2022/5/26 文件大小:58 KB

下载得到文件列表

PSI群体稳定指数Python实现.doc

文档介绍

文档介绍:PSI群体稳定指数-Python实现
PSI群体稳定指数-Python实现
PSI群体稳定指数
Actuali
(Expectedi
群体稳定性指标PSI(populationstabilityindex)用于衡量测试样本和建模样PSI群体稳定指数-Python实现
PSI群体稳定指数-Python实现
PSI群体稳定指数
Actuali
(Expectedi
群体稳定性指标PSI(populationstabilityindex)用于衡量测试样本和建模样本分数间数据分布差异性,是模型稳定性的常见指标。公式如下所示:
PSI=i=o(Actual:一Expected)xln
其中,bins是分箱数量,Actual是实际占比‘Expected是预期占比。
—般来说,,,。
计算样例:
对比去年和今年某地区人的年龄分布的差异性,去年抽查的年龄命名为Actual,今年年龄命名为Expect,如下所示。
Actual:81,48,49,82,35,6,……,49,69,73,57,93,77,21
Expect:41,34,62,81,11,33,……,21,21,74,68,62,21,83
将Actual等宽分为10组,并按Actual相同的区间将Expect分组,计算结果如下:
O
其次,计算每个分组内占总量的占比,如下图中,第0号分组内‘actual有15条数据‘actual共100条数据,则对应的占比为15%。计算结果如下:
最后,按照公式计算得出每个组内的PSI,公式如下,。
actual_ratei
PSIi=(actual_ratei一expect_ratei)
xln(expect_ratei)
计算结果如下:
Python实现
Pytho代码实现
mportpandasaspd
mportnumpyasnp
defcal_psi(actual,predict,bins=10):
功能:计算PSI值,并输出实际和预期占比分布曲线
:paramactual:Array或series,代表真实数据,如训练集模型得分
:parampredict:Array或series,代表预期数据,如测试集模型得分
:parambins:分段数
:return:
psi:float,PSI值psi_df:DataFrame
Examples
>>>importrandom
>>>act=([()for_inrange(5000000)])>>>pct=([()for_inrange(500000)])>>>psi,psi_df=cal_psi(act,pct)
>>>psi
-05
>>>psi_df
actualpredictactual_ratepredict_ratepsi
0498285
49612


-06
1
500639
50213