Python一些可能用的到的函数系列78 计算PSI

Python一些可能用的到的函数系列78 计算PSI,第1张

Python一些可能用的到的函数系列78 计算PSI 说明

PSI用于度量两个分布之间的差异,主要用于检查客群的变化/模型的稳定性。本质上也就是某种交叉熵。

内容

以这个帖子中的数据为例,贡献两个小函数

函数1
# 将一列转为百分比
import numpy as np 
def transform_list2pct(some_list):
    arr1 = np.array(some_list)
    return arr1 / arr1.sum()

函数2
# 计算两次分布的PSI (<0.1 ok, <0.25 review, else update)
import numpy as np 
def kpi_psi_2list(a_list , b_list):
    arr_a = np.array(a_list)
    arr_b = np.array(b_list)
    tem_res = (arr_a-arr_b)*np.log(arr_a/arr_b)
    return tem_res.sum()
使用

使用例子的数据计算(本身已经归一化了,函数支持输入原始的频数统计)

kpi_psi_2list([0.7233,0.1133,0.0367,0.0200,0.1067], [0.5514,0.0986,0.0743,0.0600,0.2157])
0.19587683021838628

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4830371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存