当我们完成模型搭建以后,会查看训练集与测试集的PSI,实施一段时间后还会看模型实施这段时间中新模型针对新客户的打分分布情况,并与训练集进行PSI对比。
如下表所示,分数区间以每20分作为一个分割点,共分为10组,客户最大评分为650分,最小评分为0分。A(N)指模型实施一段时间后客户的分布情况,E(N)训练集客群分布情况。
组别 | 分数区间 | A(N) | E(N) | A | E | A-E | ln(A/E) | PSI单项取值 |
---|---|---|---|---|---|---|---|---|
1 | (0,470] | 10 | 200 | 4% | 8% | -4% | -0.6931 | 0.0277 |
2 | (470,490] | 15 | 250 | 6% | 10% | -4% | -0.5108 | 0.0204 |
3 | (490,510] | 30 | 300 | 12% | 12% | 0% | 0.0000 | 0.0000 |
4 | (510,530] | 40 | 350 | 16% | 14% | 2% | 0.1335 | 0.0027 |
5 | (530,550] | 45 | 400 | 18% | 16% | 2% | 0.1178 | 0.0024 |
6 | (550,570] | 40 | 300 | 16% | 12% | 4% | 0.2877 | 0.0115 |
7 | (570,590] | 25 | 280 | 10% | 11% | -1% | -0.1133 | 0.0014 |
8 | (590,610] | 20 | 200 | 8% | 8% | 0% | 0.0000 | 0.0000 |
9 | (610,630] | 15 | 150 | 6% | 6% | 0% | 0.0000 | 0.0000 |
10 | (630,650] | 10 | 70 | 4% | 3% | 1% | 0.3567 | 0.0043 |
TTL | - | 250 | 2500 | 100% | 100% | - | - | 0.0703 |
PSI(Population Stable Index) 是衡量模型的预测值与实际值偏差大小的指标
PSI,该指标永来衡量模型或变量的稳定性,而稳定与否通常参照如下
PSI取值区间 | 稳定与否 |
---|---|
[0,0.1) | 稳定性良好 |
[0.1,0.25) | 稳定性一般,需要进一步考察模型,查看模型参数PSI情况 |
[0.25,+∞ | 模型发生显著变化,需重新建模 |
那么这个0.1,0.25的阈值是从哪里得来的呢,本文主要解决这个问题。
若k个独立的随机变量Z1,Z2,⋯,Zk,且符合标准正态分布N(0,1),则这k个随机变量的平方和
(公式1.1) X = ∑ m = 1 k Z m 2 X = \sum_{m=1}^k Z_m^2 \tag{公式1.1} X=m=1∑kZm2(公式1.1)
服从m-1的卡方分布,X~χ2 (k-1)
统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时,卡方值就为0,表明理论值完全符合。[百度百科]
(公式1.2) χ 2 = ∑ i = 1 k ( f i 0 − f i e ) 2 f i e \chi^2 = \sum_{i=1}^k\frac{(f_{i0}-f_{ie})^2}{f_{ie}} \tag{公式1.2} χ2=i=1∑kfie(fi0−fie)2(公式1.2)
公式1.2为什么服从卡方分布,只需要针对公式1.1进行一下数学变换就可得,
(公式1.3) χ 2 = ∑ i = 1 k ( f i 0 − f i e f i e ) 2 \chi^2 = \sum_{i=1}^k(\frac{f_{i0}-f_{ie}}{\sqrt{f_{ie}}})^2 \tag{公式1.3} χ2=i=1∑k(fiefi0−fie)2(公式1.3)
再由定义可以知道,只需要证明公式1.4服从正态分布即可,一般来讲很难拒绝正态分布假设(可用K-S检验,这里不详细说明)。
(公式1.4) f i 0 − f i e f i e \frac{f_{i0}-f_{ie}}{\sqrt{f_{ie}}} \tag{公式1.4} fiefi0−fie(公式1.4)
公式:
(公式1.5) P S I = ∑ i = 1 k ( p i − q i ) ∗ l n ( p i q i ) PSI = \sum_{i=1}^k(p_{i}-q_{i})*ln(\frac{p_{i}}{q_{i}}) \tag{公式1.5} PSI=i=1∑k(pi−qi)∗ln(qipi)(公式1.5)
本文最开始的表中,E为模型搭建时训练样本的分布情况,A(N)为模型实施一段时间后观测到的频率n1 …ni ,那么第i个样本属于第k类的概率就为ni / N,其中N为观测到的频率合计sum(ni)
似然函数L表示类别各类别的联合概率
(公式1.6) L ( p ) = ∏ i = 1 k p i n i L(p) = \prod_{i=1}^kp_{i} ^{n_{i}} \tag{公式1.6} L(p)=i=1∏kpini(公式1.6)
其中 ni是第r个组的频率pi = ni / N,则公式1.6可以变化为
(公式1.7) L ( p ) = ∏ i = 1 k ( n i N ) n i L(p) = \prod_{i=1}^k(\frac{n_{i}}{N}) ^{n_{i}} \tag{公式1.7} L(p)=i=1∏k(Nni)ni(公式1.7)
而已知的模型训练样本的客群分布情况,如下
(公式1.8) L ( p e ) = ∏ i = 1 k p e i n i L(p_e) = \prod_{i=1}^kp_{ei} ^{n_{i}} \tag{公式1.8} L(pe)=i=1∏kpeini(公式1.8)
公式1.7与公式1.8的比率(相对于比较样本的异化程度,如果已知,数值为1)如下
(公式1.9) Λ = L ( p e ) L ( p ) = ∏ i = 1 k p e i n i ( n i N ) n i = ( p e 1 n 1 N ) n 1 … ( p e k n k N ) n k \Lambda = \frac{L(p_e)}{L(p)} = \prod_{i=1}^k\frac{p_{ei} ^{n_{i}}}{(\frac{n_{i}}{N}) ^{n_{i}}} = (\frac{p_{e1}}{\frac{n_{1}}{N}})^{n_{1}}…(\frac{p_{ek}}{\frac{n_{k}}{N} })^{n_{k}}\tag{公式1.9} Λ=L(p)L(pe)=i=1∏k(Nni)nipeini=(Nn1pe1)n1…(Nnkpek)nk(公式1.9)
定义似然比统计量G= -2logΛ,将公式1.9带入
(公式1.10) G = − 2 l o g Λ = − 2 ∑ i = 1 k n i ∗ ( l o g ( p e i ) − l o g ( p i ) ) = 2 ∑ i = 1 k n i ∗ ( l o g p i p e i ) G = -2log\Lambda = -2\sum_{i=1}^kn_i*(log(p_{ei}) - log(p_i)) = 2\sum_{i=1}^kn_i*(log\frac{p_i}{p_{ei}}) \tag{公式1.10} G=−2logΛ=−2i=1∑kni∗(log(pei)−log(pi))=2i=1∑kni∗(logpeipi)(公式1.10)
G服从渐进卡方分布
如果在G的两侧都除N则有
(公式1.11) G _ n e w = G N = 2 ∑ i = 1 k n i N ∗ ( l o g p i p e i ) = 2 ∑ i = 1 k p i ∗ ( l o g p i p e i ) G\_new = \frac{G}{N} = 2\sum_{i=1}^k\frac{n_i}{N}*(log\frac{p_i}{p_{ei}}) = 2\sum_{i=1}^kp_i*(log\frac{p_i}{p_{ei}}) \tag{公式1.11} G_new=NG=2i=1∑kNni∗(logpeipi)=2i=1∑kpi∗(logpeipi)(公式1.11)
由卡方的基本性质可得,公式1.11依旧服从渐进卡方分布
(公式1.11) G ( p , p e i ) = 2 ∑ i = 1 k p i ∗ ( l o g p i p e i ) G(p,p_{ei}) = 2\sum_{i=1}^kp_i*(log\frac{p_i}{p_{ei}}) \tag{公式1.11} G(p,pei)=2i=1∑kpi∗(logpeipi)(公式1.11)
(公式1.12) G ( p e i , p ) = 2 ∑ i = 1 k p e i ∗ ( l o g p e i p i ) G(p_{ei},p) = 2\sum_{i=1}^kp_{ei}*(log\frac{p_{ei}}{p_{i}}) \tag{公式1.12} G(pei,p)=2i=1∑kpei∗(logpipei)(公式1.12)
(公式1.13) P S I = 1 2 ∗ ( G ( p e i , p ) + G ( p , p e i ) ) = 1 2 ∗ ( 2 p i ∗ ( l o g p i p e i ) + 2 q i ∗ ( l o g p e i p i ) ) PSI = \frac{1}{2}*(G(p_{ei},p) + G(p,p_{ei}))= \frac{1}{2}*(2p_i*(log\frac{p_i}{p_{ei}}) + 2q_i*(log\frac{p_{ei}}{p_{i}})) \tag{公式1.13} PSI=21∗(G(pei,p)+G(p,pei))=21∗(2pi∗(logpeipi)+2qi∗(logpipei))(公式1.13)
(公式1.14) 承 接 上 式 , P S I = p i ∗ ( l o g p i p e i ) + p e i ∗ ( l o g p e i p i ) = p i ∗ ( l o g p i p e i ) − p e i ∗ ( l o g p i p e i ) = ( p i − p e i ) ∗ l o g ( p i p e i ) 承接上式,PSI = p_i*(log\frac{p_i}{p_{ei}}) + p_{ei}*(log\frac{p_{ei}}{p_{i}}) = p_i*(log\frac{p_i}{p_{ei}}) - p_{ei}*(log\frac{p_{i}}{p_{ei}}) = (p_i-p_{ei})*log(\frac{p_i}{p_{ei}})\tag{公式1.14} 承接上式,PSI=pi∗(logpeipi)+pei∗(logpipei)=pi∗(logpeipi)−pei∗(logpeipi)=(pi−pei)∗log(peipi)(公式1.14)
由上式1.13与1.14可知,PSI服从k-1的渐进卡方分布,IV同理。
上述案例中,模型运行一段时间以后PSI为0.0703。我们利用软件可以计算出PSI为0.0703的概率(0.0703为卡方值,不是概率值)。
p ( X 2 < = 0.0703 ) < = p c h i s q ( 0.0703 , d f = 9 ) = 5.3128 e − 09 {p(X^2<=0.0703)} <= pchisq(0.0703,df=9) = 5.3128e-09 p(X2<=0.0703)<=pchisq(0.0703,df=9)=5.3128e−09
5.3128e-09数值极小,说明模型实行的这段时间,模型整体保持了稳定。
那么,回到刚才的问题 0.1,0.25的阈值是从哪里得来的呢。
我们确定显著性水平,0.65和0.997,通过分位点确定临界值(?返回值是百分数)。
qchisq(0.65,9) = 10.006
qchisq(0.997,9) = 24.97407
也就是说当*****模型分为10组(这个十分重要,组数越大,对应的显著性水平越低,0.25对应的是显著性水平为0.997,分组为10组的结果)*****PSI结果大于0.25时,显著性水平为99%,我们认为模型存在较为显著的偏移。