multinom
位于 mgcv
包(package)。 说明
与 gam
一起使用的系列,实现分类响应数据的回归。类别必须编码为 0 到 K,其中 K 是正整数。 gam
应使用 K 个公式列表进行调用,每个类别对应除类别 0 之外的每个类别(也可以提供共享项的额外公式:请参阅 formula.gam
)。第一个公式还指定响应变量。
用法
multinom(K=1)
参数
K |
有 K+1 个类别和 K 个线性预测变量。 |
细节
该模型具有 K 个线性预测变量 ,每个预测变量以通常的方式依赖于预测变量的平滑函数。如果响应变量 y 包含类标签 0,...,K,则 y>0 的可能性为 。如果 y=0,则可能性为 。在二类情况下,这只是一个二元逻辑回归模型。该实现使用 Wood、Pya 和 Saefken (2016) 中说明的 GAMLSS 模型方法。
该模型返回的残差只是每个观测值的 -2 倍偏差的平方根,如果观测到的 y 是该观测值最可能的类别,则带有正号,否则带有负号。
使用 predict
和 type="response"
来获取每个类别的预测概率。
请注意,即使所有线性预测变量具有相同的形式,模型对于类别重新标记也并非完全不变。实际上,该模型不太可能适用于具有大量类别的问题。不支持缺少的类别。
值
类 general.family
的对象。
例子
library(mgcv)
set.seed(6)
## simulate some data from a three class model
n <- 1000
f1 <- function(x) sin(3*pi*x)*exp(-x)
f2 <- function(x) x^3
f3 <- function(x) .5*exp(-x^2)-.2
f4 <- function(x) 1
x1 <- runif(n);x2 <- runif(n)
eta1 <- 2*(f1(x1) + f2(x2))-.5
eta2 <- 2*(f3(x1) + f4(x2))-1
p <- exp(cbind(0,eta1,eta2))
p <- p/rowSums(p) ## prob. of each category
cp <- t(apply(p,1,cumsum)) ## cumulative prob.
## simulate multinomial response with these probabilities
## see also ?rmultinom
y <- apply(cp,1,function(x) min(which(x>runif(1))))-1
## plot simulated data...
plot(x1,x2,col=y+3)
## now fit the model...
b <- gam(list(y~s(x1)+s(x2),~s(x1)+s(x2)),family=multinom(K=2))
plot(b,pages=1)
gam.check(b)
## now a simple classification plot...
expand.grid(x1=seq(0,1,length=40),x2=seq(0,1,length=40)) -> gr
pp <- predict(b,newdata=gr,type="response")
pc <- apply(pp,1,function(x) which(max(x)==x)[1])-1
plot(gr,col=pc+3,pch=19)
## example sharing a smoother between linear predictors
## ?formula.gam gives more details.
b <- gam(list(y~s(x1),~s(x1),1+2~s(x2)-1),family=multinom(K=2))
plot(b,pages=1)
作者
Simon N. Wood simon.wood@r-project.org, with a variance bug fix from Max Goplerud.
参考
Wood, S.N., N. Pya and B. Saefken (2016), Smoothing parameter and model selection for general smooth models. Journal of the American Statistical Association 111, 1548-1575 doi:10.1080/01621459.2016.1180986
也可以看看
相关用法
- R mgcv.parallel mgcv 中的并行计算。
- R mvn 多元正态加性模型
- R mini.roots 获取惩罚矩阵的平方根
- R magic 通过 GCV 或 UBRE 进行稳定的多重平滑参数估计
- R missing.data GAM 中缺失数据
- R mroot 矩阵的最小平方根
- R mgcv.package 混合 GAM 计算车辆,具有 GCV/AIC/REML/NCV 平滑度估计和 REML/PQL 的 GAMM
- R model.matrix.gam 从 GAM 拟合中提取模型矩阵
- R mono.con 三次回归样条的单调性约束
- R magic.post.proc 来自 magic fit 的辅助信息
- R vcov.gam 从 GAM 拟合中提取参数(估计器)协方差矩阵
- R gam.check 拟合 gam 模型的一些诊断
- R null.space.dimension TPRS 未惩罚函数空间的基础
- R gam.reparam 寻找平方根惩罚的稳定正交重新参数化。
- R extract.lme.cov 从 lme 对象中提取数据协方差矩阵
- R scat 用于重尾数据的 GAM 缩放 t 系列
- R choldrop 删除并排名第一 Cholesky 因子更新
- R smooth.construct.cr.smooth.spec GAM 中的惩罚三次回归样条
- R bandchol 带对角矩阵的 Choleski 分解
- R gam.side GAM 的可识别性边条件
- R cox.ph 附加 Cox 比例风险模型
- R gamm 广义加性混合模型
- R pdTens 实现张量积平滑的 pdMat 类的函数
- R Predict.matrix GAM 中平滑项的预测方法
- R Predict.matrix.soap.film 皂膜光滑度预测矩阵
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 GAM multinomial logistic regression。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。