本章节专门集中于一类线性模型,也就是假设变量之间满足以下关系y = a_1 * x1 + a_2 * x2 + ... + a_n * xn
,线性模型还假设其残差符合正态分布。
还有一类以各种有趣的方式扩展线性模型的模型。
Generalised linear models,广义线性模型,如stats::glm()
。线性模型假设response是连续的,error符合正态分布。广义线性模型扩展线性模型包含非连续型,例如二值数据。他们通过定义一个基于似然统计概念的距离度量来工作。
Generalised additive models,广义增加模型,如mgcv::gam()
,扩展广义线性模型以包含任意光滑函数。这意味着你可以写出像y ~ s(x)这样的公式,变成像y = f(x)这样的方程,让gam()估计这个函数是什么(受一些平滑约束,使问题易于处理)。
Penalised linear models,惩罚线性模型,如glmnet::glmnet()
,在惩罚复杂模型的距离(由参数向量和原点之间的距离定义)中添加惩罚项。这使得模型能够更好地适用于来自同一群体的新数据集。
Robust linear models,鲁棒线性模型,如MASS::rlm()
,调整与非常远的低权重点的距离。这使得它们对异常值的存在不那么敏感,代价是当没有异常值时,它们就不那么好了。
Trees,树,如rpart::rpart()
,以一种与线性模型完全不同的方式处理问题。它们拟合一个piece-wise常数模型,将数据逐步分解成越来越小的部分。Tree本事不那么有效,但当他们被random forests(randomForest::randomForest()
)或gradient boosting machines(xgboost::xgboost
)联合使用时将非常强大。
网友评论