1. 项目概述:当稀疏回归遇上区间值数据
在金融预测、宏观经济建模乃至生物信息学等领域,数据分析师们早已习惯了与海量的点值数据打交道。传统的线性回归模型在面对成百上千个特征时,往往会陷入“维度诅咒”——模型变得臃肿不堪,过拟合风险剧增,解释性也一落千丈。为了解决这个问题,稀疏回归模型,尤其是LASSO(Least Absolute Shrinkage and Selection Operator)及其变种,在过去二十多年里成为了高维数据分析的利器。它的核心思想简单而有力:在最小二乘损失函数中加入模型系数的L1范数作为惩罚项,迫使一部分不重要的特征系数收缩为零,从而实现自动化的特征选择,得到一个既简洁又具有良好预测能力的模型。
然而,现实世界的数据远不止“一个点”那么简单。想象一下,在金融市场中,我们每天记录的不是单一的收盘价,而是当日的最高价和最低价,它们共同构成了一个价格区间;在环境监测中,我们关注的可能是某一天内PM2.5浓度的最小值和最大值;在薪资调查中,一个岗位的薪酬往往以一个范围(如15k-25k)来呈现。这类数据被称为区间值数据。与单一的点值数据相比,区间值数据天然地包含了更多信息:它不仅告诉我们一个“中心”位置(如区间中点),还揭示了数据的“不确定性”或“波动范围”(如区间半径)。直接忽略这种区间结构,粗暴地使用中点或边界点进行建模,无异于将一幅立体画压扁成平面图,丢失了大量有价值的维度信息。
将稀疏回归的强大变量选择能力,与区间值数据所蕴含的丰富信息相结合,便构成了我们这次探讨的核心:面向高维区间值数据的自适应LASSO稀疏回归。这并非简单的概念拼接。传统LASSO处理的是向量空间中的数据点,而区间本质上是实数轴上的一个有序数对(下界,上界),甚至允许下界大于上界(即所谓的“Kaucher扩展区间”),这构成了一个完全不同的代数系统。直接套用点值数据的欧氏距离和最小二乘损失函数是行不通的。我们需要为区间数据定义一种新的“距离”和相应的损失函数,并在此框架下重新推导LASSO的优化问题及其理论性质。这正是本文所提出的惩罚最小DK距离估计方法的出发点。它基于DK距离(一种专为区间设计的度量),构建了一个既能利用区间内部所有点信息,又能实现稀疏性的回归框架。我们还将介绍用于高效求解的区间最小角回归算法,并通过模拟和实证(原油价格预测、标普100指数追踪)来展示其相对于传统点值方法及其他区间建模方法的优越性。
2. 核心思路与模型构建:从点值到区间的范式迁移
处理区间值数据,首要任务是解决“如何度量两个区间的差异”以及“如何定义区间线性组合”这两个基本问题。这要求我们从点值数据的欧几里得空间思维,切换到区间分析(Interval Analysis)的集合运算思维。
2.1 区间代数与DK距离:为区间数据建立“坐标系”
一个区间变量Y可以表示为Y = [Y_L, Y_R],其中Y_L和Y_R分别是区间的左(下)界和右(上)界。这里我们采用Kaucher提出的扩展区间概念,允许Y_R < Y_L。这看似反直觉,但在代数运算中能保证空间的封闭性,就像复数扩展了实数一样,为理论推导提供了便利。区间的基本运算规则(Hukuhara差)定义如下:
- 加法:
[a, b] + [c, d] = [a+c, b+d] - 标量乘法:
k * [a, b] = [k*a, k*b](若k<0,则区间顺序会翻转) - Hukuhara差:
[a, b] - [c, d] = [a-d, b-c]
有了运算规则,我们还需要一把“尺子”来度量两个区间之间的“远近”。这就是DK距离。它的定义基于区间的支撑函数(Support Function)。对于区间Y = [Y_L, Y_R],其在单位球面S^0 = {-1, 1}上的支撑函数s_Y(u)定义为:
s_Y(u) = { sup_{y∈Y} (u·y), 当 Y_L ≤ Y_R 时; inf_{y∈Y} (u·y), 当 Y_R ≤ Y_L 时。}, 其中 u ∈ {-1, 1}。直观理解,当u=1时,s_Y(1)给出了区间在“正方向”上的最大投影,即区间的右端点Y_R(若Y_L ≤ Y_R);当u=-1时,s_Y(-1)给出了区间在“负方向”上的最大投影,即-Y_L。因此,支撑函数巧妙地将一个区间映射到了二维向量(s_Y(1), s_Y(-1))上。
基于支撑函数,两个区间Y和Z之间的DK距离平方定义为:
D_K^2(Y, Z) = ∫_{u,v∈S^0} [s_Y(u) - s_Z(u)][s_Y(v) - s_Z(v)] dK(u, v)其中K(u,v)是一个定义在{-1, 1}×{-1, 1}上的对称正定核函数。我们可以将其简写为一个2x2矩阵:
K = [ [K(1,1), K(1,-1)], [K(-1,1), K(-1,-1)] ] = [ [a, b], [b, c] ]这里a, c > 0, 且ac > b^2以保证正定性。这个核函数K的选取至关重要,它决定了我们如何权衡区间不同部分(左界、右界、中点、半径)的信息。
核心理解:你可以把DK距离想象成在一种特定的“加权坐标系”下计算两个区间的欧氏距离。这个坐标系的基向量由核函数
K定义。不同的K意味着我们对区间“形状”的不同关注侧重点。
2.2 区间自回归条件区间模型与惩罚框架
我们的建模对象是区间值时间序列。一个基础的模型是自回归条件区间模型,它类似于点值数据中的AR模型,但响应变量和解释变量都是区间:
Y_t = α_0 + β_0 I_0 + Σ_{j=1}^q β_j Y_{t-j} + Σ_{j=0}^s δ_j‘ X_{t-j} + u_t其中:
Y_t,X_{t-j}是区间值变量。α_0,β_0,β_j,δ_j是标量系数。I_0 = [-1/2, 1/2]是一个特殊的区间单位元,用于吸收模型中的平移效应。u_t是区间鞅差序列,条件期望为[0,0]。
当特征维度p(即所有α_0, β_0, β_j, δ_j的个数)很大,甚至可能随样本量T增长时,直接使用最小DK距离估计(类似于最小二乘)会导致过拟合。因此,我们引入自适应LASSO惩罚。
我们的目标是最小化如下惩罚最小DK距离损失函数:
θ̂_T = argmin_θ { Σ_{t=1}^T || Y_t - Z_t‘ θ ||_K^2 + λ_T Σ_{j=1}^p w_j |θ_j| }其中:
||·||_K是由DK距离导出的范数,即||Y_t - Z_t‘ θ||_K^2 = D_K^2(Y_t, Z_t‘ θ)。Z_t是由所有区间滞后项和 exogenous 变量构成的向量。λ_T > 0是调节惩罚力度的调优参数。w_j是自适应权重,通常取为w_j = 1 / |θ̃_j|^γ,γ>0是一个常数,θ̃_j是未加惩罚的最小DK距离估计量。这个权重使得对估计值较大的系数惩罚较轻,对估计值接近零的系数惩罚更重,从而在变量选择一致性上具有更好的理论性质。
2.3 核函数的选择:连接经典方法的桥梁
核函数K的选择不是随意的,它直接决定了我们的模型关注区间数据的哪些方面。通过设定特定的(a, b, c),我们的框架可以退化或关联到许多经典的区间或点值处理方法:
仅关注中点(
a=1/4, b=-1/4, c=1/4): 此时,||Y_t - Z_t‘θ||_K^2 = (Y_m,t - Z_m,t‘θ)^2,其中Y_m,t = (Y_L,t+Y_R,t)/2是区间中点。我们的方法退化为对区间中点序列做自适应LASSO回归。如果去掉惩罚项,这就是Billard和Diday在2000年提出的中点法。仅关注半径(
a=1, b=1, c=1): 此时,损失函数变为(Y_r,t - Z_r,t‘θ)^2,其中Y_r,t = Y_R,t - Y_L,t是区间半径(范围)。这相当于对波动幅度进行稀疏建模。关注上下界(
a, c>0, b=0): 损失函数变为a(Y_R,t - Z_R,t‘θ)^2 + c(Y_L,t - Z_L,t‘θ)^2。这类似于对区间的上界和下界分别做加权最小二乘并施加联合稀疏惩罚。当a=c时,它等价于对上下界给予同等关注。同时关注中点与半径(
a=c, |b|<a): 损失函数是[(a+b)/2] * (Y_r,t - Z_r,t‘θ)^2 + 2(a-b) * (Y_m,t - Z_m,t‘θ)^2的加权和。这类似于经典的CRM方法,但加入了稀疏惩罚。它能同时利用区间的“位置”和“离散度”信息。最一般情况(
a≠c, b≠0): 损失函数包含Y_R,t,Y_L,t以及它们的交叉项Y_R,t * Y_L,t。这能捕捉到上下界之间的协同变化信息,理论上能提供最高的估计效率。
实操心得:在实际应用中,我通常从情况4(
a=c, b=0或一个较小的值)开始尝试,因为它平衡了中点信息和范围信息,物理意义明确。情况1和2可以作为基准模型,用于对比验证引入区间完整信息是否带来了预测提升。情况5虽然最灵活,但需要估计额外的核参数,计算更复杂,且可能增加过拟合风险,建议在样本量足够大、且对模型效率有极致要求时使用。
3. 算法实现:区间最小角回归
自适应LASSO问题通常通过坐标下降法或LARS算法求解。对于点值数据,LARS算法能提供整个正则化路径,计算高效。我们需要将其推广到区间数据,即区间最小角回归算法。
ILARS算法的核心思想与经典LARS一致:将主动集(估计系数非零的变量)的估计值以“等角”的方向向最小二乘解推进。不同之处在于,所有的内积和范数计算都需要在由核函数K定义的DK内积空间中进行。
算法步骤简述:
- 初始化:将所有系数
θ设为0,计算当前残差r = Y(区间序列)。设定主动集A为空集。 - 寻找最相关变量:计算每个预测变量
Z_j(本身是一个区间序列)与当前残差r的DK内积c_j = ⟨s_{Z_j}, s_r⟩_K。找到与残差最相关的变量,即j* = argmax_j |c_j|,将其加入主动集A。 - 等角前进:在由主动集
A中变量张成的子空间上,计算当前估计向最小二乘解前进的“等角”方向。这个方向需要满足:主动集中所有变量与当前残差的内积绝对值相等且最大,并且这个值随着步长γ的增大而减小。 - 更新与迭代:沿着该方向前进一个步长
γ,更新系数θ_A和残差r。步长γ的选择需确保: a) 某个非主动集变量的相关性追上了主动集变量,此时将其加入A。 b) 某个主动集变量的系数路径穿越零,此时将其从A中移除。 - 循环:重复步骤2-4,直到所有变量都进入模型,或达到预设的停止条件(如通过交叉验证选定的最优模型复杂度)。
该算法能产生一整条系数路径{θ̂(λ)},对应于不同的惩罚参数λ。最优的λ可以通过交叉验证来选择,例如选择使验证集上DK距离损失最小的λ。
实现细节与坑点:
- 内积计算:算法核心是高效计算DK内积
⟨s_{Z_i}, s_{Z_j}⟩_K和⟨s_{Z_i}, s_Y⟩_K。对于样本量为T的区间序列,这涉及到计算一个T×2的支撑函数矩阵,然后根据核K进行二次型计算。在编程时,建议将这部分向量化,避免循环,以应对高维数据。- 权重初始化:自适应LASSO需要初始权重
w_j = 1/|θ̃_j|^γ。θ̃_j是未惩罚的最小DK距离估计。当p很大时,直接求解可能不稳定。一种稳健的做法是使用岭回归估计作为初始值,即求解θ̃ = argmin Σ||Y_t - Z_t‘θ||_K^2 + η Σ θ_j^2,其中η是一个很小的正数,以确保矩阵可逆。- 路径计算与交叉验证:ILARS产生的是连续路径。在交叉验证时,不宜在整条路径上均匀取点,而应在系数发生变化的“拐点”处取值,这些点对应着主动集的变化,是模型复杂度发生本质改变的地方。
4. 理论性质:一致性与Oracle性质
我们提出的估计量在固定维度和发散维度下都具有良好的理论性质,这是其可靠性的基石。
4.1 固定维度下的理论保证
当预测变量个数p固定不变时,我们有如下结论:
- 定理1(一致性):在一定的正则性条件下,惩罚最小DK距离估计量
θ̂_T是θ_0的相合估计,即||θ̂_T - θ_0|| = O_p(1/√T)。这意味着随着样本量T增大,我们的估计值以概率收敛到真实参数值。 - 定理2(Oracle性质):这是稀疏回归模型的“理想性质”,意味着我们的估计量表现得就像事先知道了哪些变量是真正重要的一样。具体包括:
- 变量选择一致性:
lim_{T→∞} P({j: θ̂_{j,T} ≠ 0} = {j: θ_{0,j} ≠ 0}) = 1。即以概率1正确识别出非零变量集。 - 估计量的渐近正态性:非零系数的估计量
θ̂_{1,T}满足√T (θ̂_{1,T} - θ_{0,1}) → N(0, Σ)。其渐近协方差矩阵与仅用真实变量子集做最小DK距离估计所得的协方差矩阵相同。这说明在估计重要变量时,我们的方法达到了与“知道真实模型”时相同的效率。
- 变量选择一致性:
4.2 发散维度下的理论拓展
在高维统计中,更常见也更具有挑战性的情形是预测变量维度p随着样本量T一起增长,即p → ∞,但通常要求p/T → 0或p log p / T → 0等。我们的方法在此设定下依然有效。
- 定理3:即使在高维 (
p发散) 情况下,未加惩罚的最小DK距离估计量θ̃_T仍然是θ_0的相合估计,其收敛速度为O_p(ρ_{1T}^{-1} √(p/T)),其中ρ_{1T}是设计矩阵的最小特征值。这保证了我们用于计算自适应权重的初始估计是合理的。 - 定理4与定理5:在发散维度下,我们的惩罚估计量
θ̂_T同样具有相合性,并且满足Oracle性质。即,它能够以概率1正确地进行变量选择,并且非零系数的估计量具有渐近正态分布。
理论意义解读:这些定理表明,即使在特征维度很高的情况下,只要真实模型是稀疏的(即只有少数特征真正起作用),我们的方法就能以很高的概率“大海捞针”,准确找出这些重要特征,并给出接近最优的估计。这为将稀疏回归方法应用于高维区间值数据(如包含大量技术指标、宏观经济因子的金融区间预测)提供了坚实的理论背书。
5. 模拟研究与实证分析
5.1 模拟实验:有限样本表现
我们通过蒙特卡洛模拟来验证方法在有限样本下的表现。数据生成过程采用带外生变量的区间自回归模型。区间创新项u_t通过从真实金融数据(标普500指数日最高最低价对数收益率)拟合的ACI模型残差中自助抽样获得,以保证模拟数据的真实性。
我们设计了两种场景:
- DGP 1 (固定维度):
p=10,其中只有3个变量有非零系数。考察样本量T=20, 40, 80下的表现。 - DGP 2 (发散维度):
p = [3T^{1/3}],随T增长,非零变量个数固定为5。考察T=100, 200, 400, 800。
评估指标包括偏差、标准差和均方根误差。模拟重复1000次。
关键发现:
- 变量选择精度:随着样本量增加,方法正确识别非零变量集的比例迅速提升,错误地将零变量纳入模型(假阳性)或漏掉非零变量(假阴性)的概率显著下降。在
T=400的中等样本下,选择精度已超过95%。 - 估计精度:非零系数的估计偏差和标准差均随样本量增大而减小,与
√T收敛的理论预期相符。即使在高维 (p≈30whenT=800) 情况下,估计依然稳定。 - 与点值方法的对比:我们将区间数据压缩为中点后应用传统自适应LASSO进行对比。在多个数据生成设置下,我们提出的区间稀疏回归方法在预测均方误差上 consistently 优于中点法,特别是在数据区间范围(波动性)包含重要预测信息时,优势更为明显。
5.2 实证应用一:国际原油价格区间预测
原油价格波动剧烈,每日价格区间(最高价-最低价)包含了市场情绪、供需变化和突发事件冲击的丰富信息。我们选取布伦特原油期货的日最高价和最低价,构建区间值价格收益率序列Y_t = [ln(High_t) - ln(Close_{t-1}), ln(Low_t) - ln(Close_{t-1})]。
预测因子包括:
- 自回归项:
Y_{t-1}, Y_{t-2}, ..., Y_{t-5}。 - 外生区间变量:美元指数日区间、标普500波动率指数日区间、黄金期货价格日区间。
- 外生点值变量(转换为对称区间):原油库存变化、地缘政治风险指数等。我们将其视为中点,并赋予一个小的固定半径(如0),嵌入区间框架。
我们使用滚动时间窗口(例如,用过去500天数据训练,预测下一天)进行样本外预测。对比方法包括:
- 基准模型:区间中点序列的AR模型。
- 传统区间模型:Neto和de Carvalho的CRM方法。
- 机器学习基准:对区间上下界分别训练随机森林和多层感知机。
- 我们的方法:基于DK距离的自适应LASSO区间回归(使用同时关注中点与半径的核函数)。
评估指标:采用区间预测中常用的Dawid-Sebastiani评分和区间覆盖概率,而不仅仅是中点预测的RMSE。
结果:我们的方法在DSS评分上显著优于其他基准模型。这表明,通过稀疏化,我们构建了一个更简洁、稳定的模型,同时由于充分利用了区间信息,其预测区间更能捕捉价格的实际波动范围,覆盖概率更接近名义置信水平。
5.3 实证应用二:标普100指数区间追踪
指数追踪的目标是构建一个投资组合,使其收益率区间紧密跟踪目标指数(如标普100)的收益率区间。这是一个典型的区间回归问题,响应变量是指数日收益率区间,预测变量是各成分股的日收益率区间。
挑战在于成分股数量(~100)相对于历史数据长度(如过去3年约750个交易日)并不算低维,且股票间存在高度共线性。直接使用所有股票会导致组合权重不稳定、交易成本高。
我们的建模流程:
- 数据:选取标普100指数及其成分股(剔除上市不足3年者)的日最高价、最低价,计算对数收益率区间。
- 模型:以指数收益率区间
Y_t为响应,所有候选股票收益率区间X_{j,t}为特征,建立惩罚最小DK距离回归模型:Y_t = Σ_{j=1}^p θ_j X_{j,t} + u_t。这里的系数θ_j可以解释为投资组合中股票j的权重。 - 稀疏化与组合构建:自适应LASSO惩罚会自动将大多数
θ_j压缩为0,从而自动完成股票选择。非零θ_j对应的股票即构成追踪组合,其权重需进行归一化处理(使其和为1)。 - 再平衡:每月末,用过去一段时间的数据重新估计模型,根据新的非零系数集合调整投资组合。
对比策略:
- 全复制:等权重持有所有成分股。
- 传统LASSO追踪:对指数和股票的中点收益率序列应用LASSO回归。
- 基于范围的追踪:对指数和股票的收益率范围(最高-最低)应用LASSO回归。
绩效评估:我们不仅看追踪误差(区间中点的差异),更关键的是看组合收益率区间与指数收益率区间的匹配程度,包括区间中心、区间宽度以及整体形状的相似性。同时考虑换手率(交易成本)。
结论:基于区间自适应LASSO的追踪策略,能够用显著更少的股票数量(模拟中通常选出15-25只),实现与全复制策略相近的区间中心追踪效果,同时在刻画指数波动范围(区间宽度)上表现更优。与中点LASSO策略相比,我们的方法在市场波动加剧的时期,能更好地控制组合的下行风险(因为模型考虑了最低价信息)。此外,低换手率带来了可观的成本节约。
6. 常见问题、挑战与扩展方向
在实际应用和理论探索中,我们遇到了以下几个典型问题:
1. 核函数K如何选择?这是一个模型选择问题。除了根据先验知识选择(如前述的5种情况),更数据驱动的方法是:
- 交叉验证:在训练集上,对于候选的核参数
(a, b, c),通过交叉验证选择使预测误差最小的核。注意,需保证K的对称正定性。 - 两阶段法:先使用一个简单的核(如
a=c=1, b=0)得到初始估计θ̃,然后基于残差协方差等信息估计一个最优核K_opt,再进行第二阶段估计。Han等人在2020年证明了这种两阶段估计量的渐近有效性。
2. 如何处理超高维情况(p >> T)?本文理论要求p < T以保证初始最小DK距离估计的可计算性。当p >> T时,直接应用失效。可能的扩展方向包括:
- 筛选-再估计:首先使用边际相关性(如每个变量与响应变量的DK距离)或随机森林等工具进行初步变量筛选,将维度降至
p‘ < T,再应用我们的方法。 - 开发新的初始估计量:借鉴点值超高维LASSO中的偏相关筛选或分解方法思想,为区间数据设计新的、在
p>>T下仍具有一致性的初始估计量,用于计算自适应权重。这是一个前沿的研究课题。
3. 模型假设与稳健性我们的理论建立在区间鞅差序列的假设上。如果残差存在自相关或异方差,会影响估计量的渐近方差。在实践中,建议:
- 残差诊断:对拟合残差序列
û_t进行检验,例如检查其跨期的自相关性。 - 稳健标准误:在统计推断(如构建置信区间)时,使用异方差自相关稳健的标准误,类似于点值回归中的Newey-West估计。
4. 与深度学习方法的对比与结合本文主要与经典机器学习方法(如随机森林、MLP)对比。当前深度学习在序列预测上表现强劲。一个有趣的扩展是将区间稀疏回归作为可解释性层与神经网络结合。例如,可以用LSTM或Transformer编码高维区间输入,然后将编码后的特征送入一个区间稀疏线性层。这样既能捕捉复杂非线性关系,又能在最后决策层保持稀疏性和可解释性。
5. 软件实现目前尚无该方法的标准化R或Python包。我们的实现基于R语言,核心步骤包括:
- 自定义函数计算区间支撑函数和DK内积矩阵。
- 使用
glmnet包的思想,但将内积计算替换为我们的DK内积,实现了ILARS路径算法。 - 调参(
λ,γ)通过自定义的交叉验证函数完成。 代码的关键在于内积计算的向量化和路径算法的正确实现,避免在循环中重复计算大规模矩阵。