當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。