我眼中的回归变量筛选
变量筛选是回归建模过程关键的一步,由于变量间的相关性,必然会导致不同的筛选方法得到不同的模型。
在所有变量筛选方法中,向前法、向后法以及逐步回归法的使用频率较高,因为这类方法操作简单、运算速度快,非常实用,这种方法选出的变量 在入模后模型比较接近最优。
然而经向前法、向后法与逐步回归法筛选出的变量构建的模型并不是最优模型,若想构建最优模型,可以通过构建每个X的组合去获取最优变量组合,即全子集法。但全子集法因运算速度等限制,会有使用上的局限性,一般全子集法只会用在小量样本和少变量的情况。
还有其他方法可以和回归结合达到筛选变量的目的,例如Lasso算法。Lasso处理的是稀疏系数回归,例如如果自变量共200个,因大量自变量间相关性过强,其中显著的自变量仅有10个,即变量的显著情况十分稀疏,这种情况可以尝试用Lasso去筛选变量。
其实没有一种方法可以在建模阶段直接获得最高效的变量组合。实际场景中,我会先对样本进行小额抽样或变量粗筛,在减少变量个数后使用全子集法进行变量选择,最后会用逐步法进行变量的进一步筛选,从而获得若干个备选模型,然后在模型验证阶段确定出最有效的模型。
我眼中的回归预测
回归模型的预测功能指根据自变量X的取值去 估计或预测 因变量Y的取值,一般,预测或估计的类型主要有两种,即:
1、点估计
-
Y的平均值的点估计
-
Y的个别值的点估计
2、区间估计
-
Y的平均值的置信区间估计
-
Y的个别值的预测区间估计
需要注意,用回归模型进行预测时,模型中自变量的取值离均值越远则预测的结果就会越不可靠。即进行预测时,X的取值不可以超过建模样本中X的值域,如果预测时X的值超过了建模样本中X的值域,那么预测出来的结果是不可靠的。例如,构建收入消费模型,自变量之一为收入水平,且收入水平的取值为5万-50万,那么该模型是不能够预测收入500万的人群的。
如果预测时严格的遵守X的取值在建模样本X的值域范围内,那么这种预测即为predict内插预测。但是有些时候无法保证预测的X值一定就在建模样本X的值域范围内,这种情况即需要用到外推预测forecast,回归模型无法实现外推预测,一般外推预测forecast会存在于时间序列中。
如下为实现线性回归的SAS代码,其中加入了p参数以实现对原始数据的预测:
什么是点估计与区间估计
点估计是用数据函数给出未知参数估计量,一般这个估计函数被称为估计统计量。
然而,由于数据具有随机性的特点,随机数据带入该估计函数时会得到不同的估计值,所以需在点估计的基础上包裹出一个邻域区间,即区间估计。
例如替别人买饭,对方只喜欢一种口味的菜,但具体喜欢哪道菜你并不知道。那么可以有两种购买方式,随机只买一道菜,这种方法可以理解为点估计;多买几道菜,这种方法可以理解为区间估计。很显然,区间估计的方法买错的风险被降低了、买到对方喜欢的菜的概率会更高,当然你也要付出多付钱的代价。
我的公众号:Data Analyst
个人网站:https://www.datanalyst.net/