0
点赞
收藏
分享

微信扫一扫

1.15. Isotonic regression(保序回归)

1.15. Isotonic regression(保序回归)

一、描述

请添加图片描述

保序回归,正如它的名字,是一种对预测值施加了“保序”约束的一种回归分析。“保序”的严格定义我们暂且不表,可以简单的理解为一种“对任意 X i ≤ X j X_i\le X_j XiXj,必须有 y i ≤ y j y_i \le y_j yiyj”的一种约束。

在它的目标函数 ∑ i ω i ( y i − y i ^ ) 2 \sum_i\omega_i(y_i-\hat{y_i})^2 iωi(yiyi^)2 中,mse部分很好理解,代表损失,参数 ω i \omega_i ωi是基于“保序”的要求,对预测的一种修正。

保序回归,本质上就是针对实践环境中保序的情况提出的一种回归

二、应用场景(举例)

在这里,我们举一个典型的例子,并借此介绍一下PAVA算法

1. 药用环境

动物园有老虎逃了出来,我们要用麻醉针将其麻醉。想要找到一个合适的药用剂量使我们能麻醉老虎并让其不受伤害,我们要探究不同药用剂量的麻醉剂在老虎身上的作用。

在这里,自变量是麻醉剂的剂量,应变量是麻醉剂在老虎群众起作用的比例。拟合函数,我们得到的是一定剂量的麻醉剂在一只老虎身上起作用的概率。

定义一下变量,对于剂量 x i x_i xi,我们手上 n i n_i ni只老虎的有效数据,其中 t i t_i ti有只老虎被麻醉,比例为 p i ^ \hat{p_i} pi^,而我们要求该剂量下的单只老虎被麻醉的概率为 p i p_i pi

2.PAVA

无约束

在没有约束条件的情况下,根据最大似然,我们可以求得, p i = p i ^ p_i=\hat{p_i} pi=pi^,证明如下:

对于剂量 x i x_i xi,我们设观测到在实际概率 p i p_i pi下, n i n_i ni只老虎中有 p i ^ \hat{p_i} pi^比例被麻醉的概率,是一个不考虑顺序的二项分布。所以我们可以列出似然函数 L ( p i ) = p i n i p i ^ ( 1 − p i ) n i ( 1 − p i ^ ) L(p_i)=p_i^{n_i\hat{p_i}}(1-p_i)^{n_i(1-\hat{p_i})} L(pi)=pinipi^(1pi)ni(1pi^)

取对数得 l n L ( p i ) = n i p i ^ l n ( p i ) + n i ( 1 − p i ^ ) l n ( 1 − p i ) lnL(p_i)=n_i\hat{p_i}ln(p_i)+n_i(1-\hat{p_i})ln(1-p_i) lnL(pi)=nipi^ln(pi)+ni(1pi^)ln(1pi)
求导数得 l n ′ L ( p i ) = n i ( p i ^ p i − 1 − p i ^ 1 − p i ) = n i ( p i ^ − p i ) p i ( 1 − p i ) ln'L(p_i)=n_i(\frac{\hat{p_i}}{p_i}-\frac{1-\hat{p_i}}{1-p_i})=\cfrac{n_i(\hat{p_i}-p_i)}{p_i(1-p_i)} lnL(pi)=ni(pipi^1pi1pi^)=pi(1pi)ni(pi^pi)
求得在 p i = p i ^ p_i=\hat{p_i} pi=pi^时,似然函数取极大值即最大值。

所以,在 p i ^ ≤ p i + 1 \hat{p_i}\le p_{i+1} pi^pi+1时,我们可以直接让 p i = p i ^ p_i=\hat{p_i} pi=pi^

有约束

p i ^ > p i + 1 ^ \hat{p_i}>\hat{p_{i+1}} pi^>pi+1^时,有约束 p i ≤ p i + 1 p_i \le p_{i+1} pipi+1,此时一个自然而然的想法是,让 p i = p i + 1 = n i p i + n i + 1 p i + 1 n i + n i + 1 p_i=p_{i+1}=\cfrac{n_ip_i+n_{i+1}p_{i+1}}{n_i+n_{i+1}} pi=pi+1=ni+ni+1nipi+ni+1pi+1,证明如下:

我们写出带拉格朗日子项的对数似然函数 l n L ( p i , p i + 1 ) = n i p i ^ l n ( p i ) + n i ( 1 − p i ^ ) l n ( 1 − p i ) + n i + 1 p i + 1 ^ l n ( p i + 1 ) + n i ( 1 − p i + 1 ^ ) l n ( 1 − p i + 1 ) + λ ( p i + 1 − p i ) lnL(p_i,p_{i+1})=n_i\hat{p_i}ln(p_i)+n_i(1-\hat{p_i})ln(1-p_i)+n_{i+1}\hat{p_{i+1}}ln(p_{i+1})+n_i(1-\hat{p_{i+1}})ln(1-p_{i+1})+\lambda(p_{i+1}-p_i) lnL(pi,pi+1)=nipi^ln(pi)+ni(1pi^)ln(1pi)+ni+1pi+1^ln(pi+1)+ni(1pi+1^)ln(1pi+1)+λ(pi+1pi)

求偏导得
{ σ l n L ( p i , p i + 1 ) σ p i = n i ( p i ^ − p i ) p i ( 1 − p i ) σ l n L ( p i , p i + 1 ) σ p i + 1 = n i ( p i + 1 ^ − p i + 1 ) p i + 1 ( 1 − p i + 1 ) σ l n L ( p i , p i + 1 ) σ λ = p i + 1 − p i \left\{ \begin{aligned} \cfrac{\sigma lnL(p_i,p_{i+1})}{\sigma p_i}=\cfrac{n_i(\hat{p_i}-p_i)}{p_i(1-p_i)} \\ \cfrac{\sigma lnL(p_i,p_{i+1})}{\sigma p_{i+1}}=\cfrac{n_i(\hat{p_{i+1}}-p_{i+1})}{p_{i+1}(1-p_{i+1})} \\ \cfrac{\sigma lnL(p_i,p_{i+1})}{\sigma \lambda}=p_{i+1}-p_i \end{aligned} \right. σpiσlnL(pi,pi+1)=pi(1pi)ni(pi^pi)σpi+1σlnL(pi,pi+1)=pi+1(1pi+1)ni(pi+1^pi+1)σλσlnL(pi,pi+1)=pi+1pi

求解方程可得, p i = p i + 1 = n i p i + n i + 1 p i + 1 n i + n i + 1 p_i=p_{i+1}=\cfrac{n_ip_i+n_{i+1}p_{i+1}}{n_i+n_{i+1}} pi=pi+1=ni+ni+1nipi+ni+1pi+1时,似然函数取最大值。

有了这两种局部情况,我们就可以一步步的讲不保序的序列转换为保序的序列,并得到最终的回归分析。

三、部分性质请添加图片描述

请添加图片描述

在sklearn的实例中,我们可以看到,保序回归和由一般最小二乘估计的线性回归在后期差别并不大,只是做了保序的约束。

保序回归得到的结果,是局部线性的。

举报

相关推荐

0 条评论