- 特征处理
定性变量:数学运算无意义
定量变量:数学运算有意义
定性变量:选择占比最大者做基类,转换成有线性关系的虚拟变量;用针对二元分类的ridit scoring将有序定性变量转换成定量变量
定量变量:直接使用定量变量带来“隐含的边际效应恒定假设”问题,将定量变量按区间划分类别,转换成定性变量,再按照定性变量的虚拟变量方法处理,在区间划分过程中用到基于卡方检验的方法,分段后的定性变量与预测变量之间相关性越强越好。
- 共线性
共线性:数据型,结构化
共线性检测:来自自变量之间的相关性
两个定性变量:卡方统计量和相应的P_value
两个定量变量:相关系数和相应的P_value
一个定量变量一个定性变量:one-way ANOVA(近似于相关系数)
解决共线性方法:
增加数据量,降维,去掉强相关变量,增加惩罚项,鸵鸟政策,归一化
- 内生性
内生性检测:自变量与扰动项之间的相关性
内生性来源:遗漏变量,度量误差,自变量和被预测量的同时性
解决方法:引入工具变量(两阶段最小二乘法2SLS和假设检验)
逻辑回归的内生性:CFO(control function approach),这是一种联结模型。
1 定性变量的处理
1.1 虚拟变量
虚拟变量:取值只有0或1的离散变量,当有多个类别时,引入多个虚拟变量会带来虚拟变量陷阱,可以通过选择数量最多的虚拟变量作基类来解决。
虚拟变量之间是线性关系,这也是模型共线性的来源,共线性会导致参数估计量不准确。
第三方库Statsmodels中,“C(sex)”表示“sex”为定性变量
1.2 从定性变量到定量变量
对于有序的定性变量,使用虚拟变量会丢失顺序信息和关联信息,因此需要转换成定量变量处理。
假设有序的定性变量x有t个可能的取值,记为(1,2,...,t)。用分别表示各个类别所占比例,于是类别i的Ridit scoring为:
根据Ridit scoring可将定性变量转成定量变量
2 定量变量的处理
直接使用定量变量会带来“边际效应恒定”,与事实不符,需要将定量变量转换成定性变量,然后按照虚拟变量方法进行处理。
基于卡方检验的方法可以用贪心算法计算出最优区间划分,对应的一个小区间是一个类别,可以将定量变量转换成定性变量。
3 显著性
对于模型参数,其显著性依赖于两方面:参数的估计值和参数估计值的标准差估计值。当时,就认为这个参数不显著(K取值与显著性水平相关,k=1.96对应5%的显著性水平,k=1.64对应10%显著水平,k=2.58对应1%显著水平)
4 多重共线性
多变量线性模型中,由于自变量之间存在高度相关关系使模型参数估计不准确。
多重共线性对模型的4种效应:
- 参数估计值不准确
- 参数估计值标准差变大
- 参数显著性检验不准确,容易将重要的自变量误判为不显著
- 对于已知数据,模型预测效果几乎不受影响
针对多个变量的多重共线性检测
基于线性回归模型的假设检验
某几个变量分别不显著,而他们联合显著,表明这几个变量之间存在多重共线性问题。
方差膨胀因子
假设线性回归模型如下
针对定义方差膨胀因子
其中,表示模型的决定系数,决定系数越接近1,模型效果越好。
方差膨胀因子大于5则认为对应的变量有较明显的共线性问题。
5 内生性
内生性源自线性模型,由于模型中一个或多个变量与随机扰动项相关,导致模型参数估计不准确(估计值的期望不等于真实值)
内生性解决方法:两阶段最小二乘法(2SLS)
内生性检测:假设检验,零假设为“模型中不存在内生性问题”,当检验P-value很小(小于0.01),可以认为模型存在内生性问题
逻辑回归的内生性解决方法:CFA(control function approach)
逻辑回归的内生性检测:在CFA的第二步逻辑回归中,第一步线性回归的残差预测值被当作新变量加入模型,如果这个变量在第二步模型中是显著的,则原模型中存在内生性问题,反之不然。