MINI MINI MANI MO
%
% Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
%
\name{ore.glm}
\alias{ore.glm}
\alias{ore.glm.control}
\alias{summary.ore.glm}
\alias{print.summary.ore.glm}
\alias{predict.ore.glm}
\alias{residuals.ore.glm}
\alias{vcov.ore.glm}
\concept{regression}
\title{
Oracle R Enterprise 일반화된 선형 모델
}
\description{
\code{ore.frame} 데이터에서 일반화된 선형 모델을 맞추고 사용하기 위한
함수입니다.
}
\usage{
### Fitting function
ore.glm(formula, data, weights, family = gaussian(), start = NULL,
control = list(...), contrasts = NULL, xlev = NULL,
ylev = NULL, yprob = NULL, ...)
### Fit control function
ore.glm.control(devlre = 8, maxit = 25, linesearch = FALSE,
trace = getOption("ore.trace", FALSE), ...)
### Specific methods for ore.glm objects
\S3method{summary}{ore.glm}(object, dispersion = NULL, correlation = FALSE,
symbolic.cor = FALSE, ...)
\S3method{vcov}{ore.glm}(object, ...)
\S3method{predict}{ore.glm}(object, newdata = NULL, type = c("link", "response"),
se.fit = FALSE, dispersion = NULL, na.action = na.pass, supplemental.cols = NULL,
...)
\S3method{residuals}{ore.glm}(object, type = c("deviance", "pearson", "working", "response", "partial"),
...)
### Inherited methods for ore.glm objects
#coef(object, ...)
#coefficients(object, ...)
#deviance(object, ...)
#effects(object, ...)
#extractAIC(fit, scale, k = 2, ...)
#family(object, ...)
#fitted(object, ...)
#fitted.values(object, ...)
#formula(x, ...)
#logLik(object, ...)
#model.frame(formula, ...)
#nobs(object, ...)
#weights(object, ...)
}
\arguments{
\item{formula}{
맞추려는 모델을 나타내는 \code{\link[stats]{formula}}
객체입니다.
}
\item{data}{
모델에 대한 데이터를 지정하는
\code{ore.frame} 객체입니다.
}
\item{weights}{
모델에서 분석 가중치를 지정하는 선택적
\code{ore.number} 객체입니다.
}
\item{ supplemental.cols }{
\code{newdata} 데이터 집합의 예측 결과에 포함할
추가 열입니다.
}
\item{family}{
일반화된 선형 모델 계열
세부정보를 지정하는 \code{\link[stats]{family}} 객체입니다. 이 객체는
\\pkg{statmod} 패키지의 \code{\link[stats]{glm}} 함수는 물론
\\pkg{MASS} 패키지의 \code{\link[MASS]{negative.binomial}} 함수도 포함하는
\\pkg{stats} 패키지에서
\code{\link[statmod]{tweedie}} 함수에 사용된 계열 객체 유형과
동일합니다.
}
\item{start}{
선형 예측자에서 초기 계수 예상값을
지정하는 선택적 \code{\link[base]{numeric}} 벡터입니다.
}
\item{control}{
\code{\link[base]{list}} 함수로 해석할 맞춤 제어
매개변수의 목록이 포함된 선택적 \code{ore.glm.control}
객체입니다.
}
\item{contrasts}{
\code{\link[base]{list}}의 \code{contrasts.arg} 인수에
제공할 선택적 이름 지정된
\code{\link[stats]{model.matrix}}입니다.
}
\item{xlev}{
각 \code{\link[base]{list}} 변수에 대한
\code{\link[base]{character}}을(를) 지정하는
\code{\link[base]{levels}} 벡터의 선택적 이름
지정된 \code{\link[OREbase:ore.factor-class]{ore.factor}}입니다.
}
\item{ylev}{
\code{\link[base]{character}} 일반화된 선형 모델에서
응답 변수 레벨을 지정하기 위한
선택적 \code{\link[stats]{binomial}} 벡터입니다.
}
\item{yprob}{
\code{y != ylev[1]} 일반화된 선형 모델에서 \code{\link[stats]{binomial}}의 전체 확률을
지정하는 0~1 사이의
선택적 숫자 값입니다.
}
\item{devlre}{
잔류 편차 수렴 조건 \eqn{-log10(|dev - dev_{old}|/|dev|) \\ge devlre}의
최소 로그 상대 오류를 지정하는 양의
숫자입니다.
}
\item{maxit}{
피셔 점수 계산 반복의 최대 횟수를
지정하는 양의 정수입니다.
}
\item{linesearch}{
각 피셔 점수 계산 반복 이후에 라인 검색을
사용해야 할지 여부를 나타내는 논리 값입니다. \code{FALSE}인 경우
라인 검색은 처음 두 반복 및 잔류 편차가 늘어나는
모든 후속 반복 이후에
사용됩니다.
}
\item{trace}{
각 피셔 점수 계산 반복에서 생성되는 출력을
제어하는 제어 매개변수입니다.
출력 없음을 나타내는 \code{FALSE} 또는 \code{0}의 값,
각 반복에 대해 잔류 편차의 출력을
나타내는 \code{TRUE} 또는 \code{1}의 값, 또는
각 반복에 대해 잔류 편차 및 런타임
분석의 출력을 나타내는 \code{2}의 값.
기본값은 전역 옵션 \code{ore.trace}(으)로 지정됩니다.
}
\item{object, newdata}{
\code{ore.glm} 객체입니다.
}
\item{dispersion, correlation, symbolic.cor}{
구현되지 않은 인수입니다.
}
\item{type}{
생성할 예측 또는 잔류 유형을
지정하는 문자열입니다.
}
\item{se.fit}{
예측의 표준 오류를 반환할지 여부를
나타내는 논리 값입니다.
}
\item{na.action}{
\code{NA} 값이 처리되는 방식으로,
\code{na.omit} 또는 \code{na.pass}입니다.
}
\item{\dots}{
추가 인수입니다.
}
}
\details{
\code{ore.glm} 함수는 피셔 점수 계산 IRLS(Iteratively Re-weighted
Least Squares) 알고리즘을 사용하여 생성된 선형 모델을
맞춥니다. 덜 최적화된 계수 예측 선택을 방지하는 데
도움이 되는 기존 단계 대신 라인 검색을 사용해서
\eqn{(1 - \\alpha) * old + \\alpha * suggested} 공식을
사용하여 현재 계수 예측으로부터 시작해서 피셔 점수
계산 제안 예측을 통해 이동되는 각 반복 작업에서 새로운
계수 예측을 선택합니다. 여기서 \eqn{\\alpha}는 \eqn{[0, 2]}
입니다.
각 반복은 최대 3개의 포함된 R 맵/감소 작업인 하나의
IRLS 작업과 최대 2개의 라인 검색 작업으로 구성됩니다.
IRLS 맵/감소 작업은 모델 행렬의 기본 희소성에 따라
\code{model.matrix} 또는 \code{sparse.model.matrix} 함수 호출을 기반으로 하는
행렬 상호 곱에 있습니다. 알고리즘이 수렴되거나 최대 반복
수에 도달한 다음에는 최종적으로 포함된 R 맵/감소
작업을 사용하여 모델 레벨의 완전한 통계 집합이
생성됩니다.
\code{\link[OREbase:ore.options]{"ore.parallel"}} 전역 옵션은 Oracle R Enterprise 서버 내에서
사용할 선호 병렬도를 결정하기 위해 \code{ore.glm}에
사용됩니다.
}
\value{
\code{ore.glm}의 경우 \code{ore.glm} 객체를 반환합니다.
\code{summary.ore.glm}의 경우에는 \code{summary.ore.glm} 객체를 반환합니다.
참고: \code{data} 인수에서 참조되는 교육 데이터는
\code{ore.glm} 객체에 대한 메타 정보를 생성하기 위해 필요합니다.
}
\references{
\href{http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/documentation/index.html}{Oracle R Enterprise}
}
\author{
Oracle \email{oracle-r-enterprise@oracle.com}
}
\seealso{
\link[OREstats]{model.matrix,formula-method} (\pkg{OREstats} package),
\code{\link{ore.lm}},
\code{\link[stats]{glm}},
\code{\link[stats]{family}},
\code{\link[OREbase:ore.options]{ore.parallel}}
}
\examples{
\dontshow{
if (!interactive())
ore.connect(user = Sys.getenv("ORE_USERNAME", "rquser"),
sid = Sys.getenv("ORACLE_SID"),
host = Sys.getenv("HOST"),
password = Sys.getenv("ORE_PASSWORD", "rquser"),
port = if (.Platform$OS.type == "windows")
Sys.getenv("ORACLE_PORT")
else
Sys.getenv("TCPPORT"),
all = TRUE)
}
# Load libraries for examples
library(OREstats)
library(rpart) # kyphosis and solder data sets
# Logistic regression
KYPHOSIS <- ore.push(kyphosis)
kyphFit1 <- ore.glm(Kyphosis ~ ., data = KYPHOSIS, family = binomial())
kyphFit2 <- glm(Kyphosis ~ ., data = kyphosis, family = binomial())
summary(kyphFit1)
summary(kyphFit2)
# Poisson regression
SOLDER <- ore.push(solder)
solFit1 <- ore.glm(skips ~ ., data = SOLDER, family = poisson())
solFit2 <- glm(skips ~ ., data = solder, family = poisson())
summary(solFit1)
summary(solFit2)
# Negative binomial regression
solFit3 <- ore.glm(skips ~ ., data = SOLDER, family = MASS::negative.binomial(10))
solFit4 <- glm(skips ~ ., data = solder, family = MASS::negative.binomial(10))
print(summary(solFit3))
print(summary(solFit4))
# Tweedie regression
solFit5 <- ore.glm(skips ~ ., data = SOLDER, family = statmod::tweedie(1.5))
solFit6 <- glm(skips ~ ., data = solder, family = statmod::tweedie(1.5))
print(summary(solFit5))
print(summary(solFit6))
}
\keyword{regression}
OHA YOOOO