Estimation of Grouped Multi-Kink Regression Model Based on Panel Data
A kink regression model refers to a model where the response variable has a continuous piecewise linear relationship with a covariate. This paper studies a multi-kink regression model with grouped structure among individuals based on panel data. First, a coordinate descent method based on a greedy strategy is established to estimate the kink locations, addressing the issue of sensitivity to initial values in kink estimation with minimal computational cost. An information criterion is used to select the appropriate number of kinks. Then, within the framework of this kink estimation algorithm, the max-min distance method is used to select the initial clustering centers for a K-means type algorithm to optimize the model parameters for each group. The number of groups is determined using an automated elbow method. Numerical simulations and empirical analysis show that this method can achieve good parameter estimation and grouped structure estimation. Moreover, the grouped structure and within-group parameters have analytical value in the real-world data of female progesterone levels.
Panel Data
在回归模型中,线性回归模型作为一种基础且应用广泛的统计方法,被广大研究者与实践者所熟知和使用。然而,传统的线性回归模型在面对一些非线性的数据关系时,可能无法达到理想的拟合效果。而折点回归模型从一定程度上放松线性假定,假设变量间呈分段线性关系,在生物、经济等应用领域有着重要应用。
文献
但由于折点的存在,这使得求解模型估计量时的优化问题变得比较棘手。一方面,导致损失函数在该处不可导,许多基于一阶导乃至二阶导的优化算法均变得不可行;另一方面,折点问题对应的损失函数都是非凸函数,一些局部极值点的存在使得优化结果十分依赖初值。现有的折点估计方法,基本上分为四种类型:第一种是网格搜索法,构造仅关于折点的条件损失函数,再通过网格搜索寻找条件损失函数的最值点,比如文献
随着数据类型的复杂化,已有一些文献着力于研究基于面板数据的折点回归模型,比如文献
而在面板数据背景下,个体间的同质性是一个十分具有意义的话题,利用这种同质性还能增加参数估计的效率,当数据的时间维度不大时,利用个体同质性能大大增加折点估计的精确程度。文献
本文剩余部分的结构安排如下:第二节主要介绍面板数据时单组和多组的多折点回归模型及其估计;第三节通过数值模拟实验展示了模型估计量的有限样本表现;第四节将该模型用于分析真实数据;第五节是总结部分。
基于面板数据,这一小节讨论的是将一部分个体视为同一组时给出相应的参数优化方法。当一些个体真实参数不相同时,如果依然将这些混杂的个体视为同一组,那么现有的折点优化算法均无法在低计算成本的同时快速收敛,这一小节给出一种特殊的坐标下降法解决这一问题。假设个体数量有N个,其中某m个属于同一组,现在需给出这一组的参数优化方法。
假设有界门限变量 与响应变量 有连续的分段线性关系,而 是一个p维协变量,其中 和 。出于记号上的简便,不妨假定数据是平衡面板数据,即对于任意 都有 ,对于非平衡面板数据,本文的模型及其算法依然可行。现假定数据来源于有个体固定效应的多折点回归模型,所有个体共享相同的系数参数和K个折点参数,即
, (1)
其中函数 ,折点位置参数 , 互不相同, 为个体固定效应,门限变量的系数参数满足 , ,协变量的系数参数 是一个p维向量, 为扰动项。
本文使用平方损失函数估计模型(1)的参数。若记折点参数 和依赖于折点参数的变量 ,并记相应的系数参数 ,那么模型(1)的非线性最小二乘估计量 , 和 是使得损失函数
(2)
达到最小值时相应的参数。关于 的优化问题涉及两个关键点。其一,损失函数的优化是一个非线性最小二乘问题,事实上其参数 , 和 的优化结果非常依赖初值的选择,如果先固定 ,得到对应的估计量 和 ,这时损失函数可以视为仅由 决定的函数,最后可通过搜索 得到最终的估计量 , 和 。当折点个数过多时即K过多时,难以平衡优化的速度和精度,本文使用一种特殊的坐标下降法结合网格搜索用于预估折点位置,在下一小节介绍聚类算法将个体分组之后,最后再来使用无导数优化算法提高 的估计精度。其二是折点参数 的维数K通常是未知的,所以 和 的维度是未知的,这里我们暂时假定折点个数K是已知的,在本小节结束时将使用信息准则选择最合适的K。
针对问题的第一点,当给定折点个数K时,先给出损失函数(2)的优化方法。记
,
其中 表示a维向量空间,所以对于给定的 ,可以先优化 和 得到对应损失函数。这一步的优化问题是常规的线性最小二乘问题,可以直接给出显式解
,
其中 , , 表示N阶单位矩阵, 为元素全为1长度为T的向量,而 和 分别是所有 和 , , 按照 字典排序后竖向堆叠形成的矩阵和向量。由此外,使用如牛顿迭代等方法也能得到优化结果。
现在优化 问题化为寻找
, (3)
其中 是一个闭区间,其范围取决于有界门限变量 ,一般可假定区间下界和上界取为 观测值的5%和95%分位数。由于目标函数 非凸且不可微,所以一些文献采用对 函数局部线性近似的方法迭代得到优化结果,但由于该方法对于初值的选取比较敏感,导致其易于收敛到局部最优值甚至不收敛,当局部线性近似方法应用在分组多折点回归模型的优化时,由于不同个体的折点参数或系数不一样,收敛问题将会更加严重。这里使用一种基于坐标下降法的网格搜索方法,通过计算门限变量 观测值的一些分位点,得到候选折点向量 ,进而(3)的优化问题变成
, (4)
该优化结果即是折点参数的预估值。下面给出一种基于贪心策略的坐标下降法,用于优化(4)。因为 是K维向量,当使用信息准则选取最合适的K时,需要重复计算不同的K值,需要提供一种算法最好能在估计K维时的过程中顺便估计 维时的结果以节约计算时间。所以先假定 是0维的,每升一维时就立即找到当前维度的最佳估计。算法1给出了当 在升维时如何从候选折点 中找到目前最适合添加的折点的方法,这种算法便是直接找到使损失下降最快的候选折点 ,然后返回添加了该折点的新向量 。
算法1:添加折点算法 |
输入当前已有折点 ,候选折点 for n in :令 计算相应的损失大小 找到 中最小值所在的索引v,可知往 中添加 为最优选择输出 |
当 添加了新的一个折点之后,即升维之后,原来的折点需要更新,算法2给出替换折点算法,在所有折点中找到最需要被更新的折点,更新后返回替换某折点后的新向量 。
基于算法1和算法2,算法3给出了损失函数(2)优化的整个过程。首先假定当前的折点为空向量,然后逐步升维,每次升维时调用算法1,并在当前维度循环调用算法2替换折点直到折点向量不再变化,随后继续升维,依此类推,直到 升到K维并且不再发生变化后即可结束循环,最后输出每个维度下最合适的折点向量 。
算法2:替换折点算法 |
输入当前已有折点 ,候选折点 for m in :for n in :令 计算损失大小 找到 中最小值所在的索引 ,可知将 中的 替换为 为最优选择输出 |
算法3:折点预估算法 |
输入候选折点 ,指定折点个数K初始化当前的折点 for k in :令 计算 ,#注释:其中 的下标表示当前维数,上标表示在当前维数时的迭代轮数while True:计算 如果 ,那么记 并提前跳出当前的循环否则令 输出 |
这个算法的本质是一种基于贪心策略的坐标下降算法,并且在坐标下降时使用的线搜索方法是网格搜索,但核心步骤是算法2,一般的坐标下降会轮流更新每个参数,而算法2实际上只会优先更新能使损失值下降的最低的折点。至于精确寻找折点 ,算法3得到的预估值作为初值,使用无梯度优化算法,比如Nelder-Mead算法,即可在给定精度下,迭代求得更精确折点位置,避免了初值敏感问题。
当给出指定K时模型(1)的最小二乘估计方法后,即可由贝叶斯信息准则确定组内的折点个数,通常假定折点的个数并不会很多,故设定最大折点个数为5,并对于每个 计算相应的BIC值
,
其中 表示总共的未知参数个数,即 , 与 的维数之和,最终选择使BIC值达到最小的K作为折点个数估计值 。
现在考虑分组多折点回归模型,在上一小节讨论过面板数据的多折点回归模型的参数估计之后,其解决的问题即为每一组数据的参数估计。继续讨论面板数据 , , ,为了记号上的简便,这里还是假定每个个体的观测次数一致,对于非平衡面板数据依然可行。现在引入群组结构,假设个体划分为G个不同的群组,对于任意个体i,其所属的组别是 ,在同一组内的个体共享除固定效应外的其它参数,即分组折点回归模型表示为
, (5)
其中g组共享的参数包含折点个数 ,折点位置 ,门限变量系数 和协变量系数 。
模型的损失函数定义为
, (6)
其中折点位置参数 ,固定效应参数 ,系数参数 ,这里 且 ,群组结构参数 ,这里 表示第g组所含的全部个体集合。在优化(6)求解参数估计量时,先假定群组个数G已知,后续再来讨论G的选择方法。
将损失函数(6)改写为更加紧凑的形式
,
其中 和 ,这里 ,并可进一步写成可分离形式
,
其中如果表达式a成立则 ,否则 。
考虑当给定 时,估计每组参数。显然,对每一组数据 , , 都可以按照上一节讨论的方法计算相应的折点参数估计量 ,固定效应估计量 和系数参数估计量 。
考虑当已知每组参数 , 和 时,估计 。我们需要先定义个体之间的距离和个体到群组中心的距离。因为个体固定效应参数 依赖于个体而不是群组,同一个个体分在不同的群组时,个体固定效应需要重新估计,所以定义g组的中心仅为参数 而不是 。基于此,我们定义个体i到g组的距离为
.
以个体i自成一组得到参数估计量 和 ,那么就可以定义个体i到个体j的距离为
,
其作用是找到与给定个体差异最大的个体,可用于选择初始中心。注意这里所定义的个体到个体的距离,事实上并不是度量空间中所定义的距离,比如不满足对称性等。
现在通过K-means类型的聚类算法即可完成分组。当完成分组之后,即可使用按照算法3得到的每组预估折点位置,然后将其作为初值使用Nelder-Mead算法得到精确的折点位置。因而将g组内的损失定义为
按照上一小节所讨论关于(2)式的优化方法去求解这个问题,即优化
这里的优化是使用算法3预估 ,并作为Nelder-Mead算法的迭代初值,进而得到精确估计结果。
现在可以给出(6)式的估计算法如下:
算法4:分组多折点回归参数估计算法 |
输入折点位置 ,群组个数G初始化聚类中心集合 随机选取一个个体a,估计 和 作为首个聚类中心 更新 for g in :分别计算每个个体i到 中每个聚类中心的距离 对于每个个体i,都计算其到最近的中心的距离 如果 :计算个体s的参数估计 和 作为下一个聚类中心 更新 # 注释:现在已有G个聚类中心 while True:按照个体到中心的距离,将每个个体分配到最近的聚类中心得到群组估计 分别计算每组的聚类中心,随后更新聚类中心集合 如果相邻两次群组估计不再发生改变,则跳出循环# 注释:现在已得到群组估计 和聚类中心集合 # 注释:聚类中心即为该组除固定效应外的参数估计,预估的折点位置精确计算折点位置 ,以及 和 输出分组标签 ,聚类中心集合 , |
关于确定群组个数G的方法,通常是手肘法。一般来说手肘法难以自动化,这里采用一种经验的方法,可用于自动提取G值。具体来说,先计算不同群组个数相应的均方误差 , ,其中M是指定的最大群组个数,然后依次计算相邻两线段 和 的夹角,最后将夹角最小的位置作为群组个数估计 。
为了评价模型在参数估计方面的性能,我们准备几种不同的模型,个体数量N取30或60,重复观测次数T取30或60。
生成过程1 (静态面板):
其中两组的个体数量比为 ,两组折点位置分别为 和 。第一组系数 , 而第二组 , , 为取值于 上的离散均匀分布, 为相互独立服从标准正态分布, 服从−5到5区间上的均匀分布, 服从一个期望为零且协方差矩阵为二阶单位矩阵的正态分布。
生成过程2 (无协变量 ):去除协变量 ,其它设定与生成过程1相同。
生成过程3 (AR误差项):误差项满足 ,这里设定 且 服从标准正态分布,其它设定与生成过程1相同。
另外,为了评价群组个数识别能力,增加一个群组。模拟数据产生于模型
其中三组的个体数量比为 。设定折点位置分别为 , 和 ,第一组系数 , ,第二组系数 , 和第三组系数 , 。至于随机变量 , , 和 的模拟数据来自于与生成过程1同样的分布。相应的无协变量 和AR误差项的数据分别按照生成过程2和3中的定义。
考虑当真实群组个数G已知时,下面分别给出各参数估计量和群组估计量的评价标准。
为了评价分组多折点回归模型的个体折点识别能力,定义折点个数误判比率为
,
其中 和 分别表示个体i的折点个数的估计值和真实值。为了评价系数参数 和 的估计量的表现,考虑到估计的折点数量并不完全对应到真实的折点数量,从而导致参数 和 估计量的长度与它们的真实长度不一定相同,在去除那些折点个数估计不一致的个体之后,才能较为直接评价参数估计效果,从而将这两个参数的均方误差定义为
,
其中 , 表示集合 内元素的个数, 定义为向量a的欧式范数, 和 是个体i的估计值,而 和 是相应的真实值。后文的模拟显示模型的折点错误分类率足够低,只有极少数个体被排除在计算数据之外,因而上述评价标准整体上是有效的。按照一般定义,关于参数 的均方误差计算方式为
,
其中 和 分别是个体i的估计值和真实值。
标准化互信息是一种评价不同群组结构接近程度的准则,其取值范围为 ,其值越接近1表明两种群组结构之间越彼此接近,在等于1时表明两个群组结构完全相同,具体地,记集类 和集类 ,并用 表示集合 内元素的个数,那么当 时, 和 的互信息计算方式为
,
其中 ,而 表示集类 的信息熵。对于真实群组结构 及其估计量 ,这里使用 作为群组结构估计的评价标准。
模拟结果如
生成过程 | N | T | KNMR | NMI | |||
静态面板 | 30 | 30 | 0.000 | 3.221 | 1.236 | 0.651 | 0.990 |
60 | 0.000 | 1.300 | 0.349 | 0.233 | 1.000 | ||
60 | 30 | 0.003 | 1.457 | 0.502 | 0.382 | 0.991 | |
60 | 0.000 | 0.704 | 0.175 | 0.107 | 1.000 | ||
无变量 | 30 | 30 | 0.000 | 4.469 | 3.093 | - | 0.863 |
60 | 0.000 | 1.453 | 0.453 | - | 0.993 | ||
60 | 30 | 0.007 | 3.212 | 1.915 | - | 0.903 | |
60 | 0.000 | 0.711 | 0.242 | - | 0.995 | ||
AR误差 | 30 | 30 | 0.007 | 5.423 | 2.035 | 1.302 | 0.964 |
60 | 0.000 | 2.283 | 0.549 | 0.356 | 0.999 | ||
60 | 30 | 0.003 | 2.623 | 0.942 | 0.768 | 0.971 | |
60 | 0.000 | 0.944 | 0.272 | 0.186 | 0.999 |
使用自动化的手肘法选择群组个数,模拟结果如
生成过程 | N | T | 手肘法 | ||
2 | 3 | 4 | |||
静态面板 | 30 | 30 | 0.01 | 0.94 | 0.05 |
60 | 0.00 | 1.00 | 0.00 | ||
60 | 30 | 0.00 | 0.91 | 0.09 | |
60 | 0.01 | 0.98 | 0.01 | ||
无变量 | 30 | 30 | 0.04 | 0.87 | 0.09 |
60 | 0.02 | 0.98 | 0.00 | ||
60 | 30 | 0.04 | 0.83 | 0.13 | |
60 | 0.00 | 1.00 | 0.00 | ||
AR误差 | 30 | 30 | 0.05 | 0.76 | 0.19 |
60 | 0.05 | 0.93 | 0.02 | ||
60 | 30 | 0.12 | 0.77 | 0.11 | |
60 | 0.04 | 0.92 | 0.04 |
本文所提出的方法将用于分析文献
本文以观测周期为个体i,所以 而 ,以黄体酮激素含量的对数值作为响应变量 ,以观测日为门限变量 ,建立分组多折点回归模型应用于该数据。
接下来使用分组多折点回归模型拟合该数据集。设定可能的最大群组个数为6,自动手肘法选择将个体分为3组,相应的模型参数估计结果为
这里 为个体固定效应,但并不是主要感兴趣的估计量,这里并未列出。从估计结果来看:在第一组内,对数黄体酮与观测日成简单的线性关系,在排卵日前后共24天内,对数黄体酮只有略微的上升趋势,但并无折点;在第二组内,当排卵日未到来时,对数黄体酮激素含量无变化,约在排卵日前1.21天出现折点,对数黄体酮激素含量产生激增,直到排卵日后5.82天又快速发生回落;对于第三组,与第二组同为两个折点,但主要区别在于其对数黄体酮激素含量在第一个折点位置上升更快,在第二个折点回落的更慢。
为便于展示各组对数黄体酮激素含量与观测日的关系,将个体数据减去其固定效应估计值,即
,得到原始数据上下平移后的新数据,并分别绘制各组的情况。结果如
使用未分组的多折点回归模型拟合,即只有一组时,得到模型估计如下
.
相较于群组个数为3的分组折点回归模型,这个模型只能从整体层面得到对数黄体酮和观测日的关系,只能观察到一些到被掩盖和混合的规律,即第一组无明显折点,第二组和第三组在观测末期有一些相反的趋势,整体拟合后得出走势平缓的关系。
本文基于多折点回归模型和K-means类型的聚类方法,提出了分组多折点回归模型和响应的估计方法。相对于以往的折点估计方法来说,该方法能将观测个体划分成不同的群组,所以能够更加灵活地捕捉数据的内在信息。数值模拟实验和实际数据分析表明其有良好的估计性能和实际可行性。