- 删除观测点
删除离群点可以提高数据集对于正态假设的拟合度,而强影响点会干扰结果,通常也会被删除,两者删除后模型需要重新拟合,一直重复上述过程,但是要谨慎把,因为有些删除会导致结果错误
- 变量置换
当模型不符合正态性、线性或同方差性假设时,一个或多个变量的变通通常可以改善或调整模型效果。变换多用 替代 , 的常见值和解释见表8-5。若 是比例数,通常使用 logit变换[ln(Y/1-Y)]
当 模型违反正态性假设时,通常可以对 响应变量尝试某种变换。 car 包中的 powerTransform() 、spreadLevelPlot()函数通过 λ 的最大似然估计来正态话变量X^λ
当 模型异方差性(误差方差非恒定),也可以通过响应变量尝试某种变换
> library(car)> summary(powerTransform(states$Murder))bcPower Transformation to Normality Est.Power Std.Err. Wald Lower Bound Wald Upper Bound #使用Murder^0.6states$Murder 0.6055 0.2639 0.0884 1.1227Likelihood ratio tests about transformation parameters LRT df pvalLR test, lambda = (0) 5.665991 1 0.01729694LR test, lambda = (1) 2.122763 1 0.14512456
11
11
1
> library(car)
2
> summary(powerTransform(states$Murder))
3
bcPower Transformation to Normality
4
5
Est.Power Std.Err. Wald Lower Bound Wald Upper Bound #使用Murder^0.6
6
states$Murder 0.6055 0.2639 0.0884 1.1227
7
8
Likelihood ratio tests about transformation parameters
9
LRT df pval
10
LR test, lambda = (0) 5.665991 1 0.01729694
11
LR test, lambda = (1) 2.122763 1 0.14512456
结果表明,可用Murder^0.6 来正态化变量 Murder。由于0.6很接近0.5,可以尝试用平方根变换来提高模型的正态性的符合程度。但在本例子中,λ = 1 的假设也无法拒绝(p = 0.145),因此没有强有力的证据表明本例需要变量变换。
当 违反了线性假设时,对预 测变量进行变换常常会比较有用。 car 包中的 boxTidwell() 函数通过获得预测变量幂数的最大似然估计来改善线性关系,下面的例子用州的人口和文盲率来预测谋杀率,对模型进行了 Box-Tidwell变换
> library(car)> boxTidwell(Murder~Population+Illiteracy,data=states) Score Statistic p-value MLE of lambdaPopulation -0.3228003 0.7468465 0.8693882 Illiteracy 0.6193814 0.5356651 1.3581188iterations = 19
7
7
1
> library(car)
2
> boxTidwell(Murder~Population+Illiteracy,data=states)
3
Score Statistic p-value MLE of lambda
4
Population -0.3228003 0.7468465 0.8693882
5
Illiteracy 0.6193814 0.5356651 1.3581188
6
7
iterations = 19
结果显示,使用变量 Population^0.87 和 Illiteracy^1.36 能够大大改善线性关系,但是对 Population( p = 0.75)和 Illiteracy(p =0.54)的计分检验又表明变量并不需要变换。这些结果与成分残差图一致的。
- 增删变量
但是如果仅是做预测,那么多重共线性并不构成问题,但如果要对每个预测变量进行解释,那么就必须解决这问题。
最常见的就是删除某个存在多重共线性的变量。
另外一种方法就便是 岭回归--多元回归的变体,专门来处理多重共线性的问题
- 尝试其他的方法
至于用什么。。。这些判断是复杂的,需要依靠自身对主题知识的理解,判断出哪个模型提供最佳结果