当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R multinom GAM 多项式逻辑回归


R语言 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 是该观测值最可能的类别,则带有正号,否则带有负号。

使用 predicttype="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

也可以看看

ocat

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 GAM multinomial logistic regression。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。