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 - Generalisierte lineare Modelle
}
\description{
Funktionen zur Anpassung und Verwendung generalisierter linearer Modelle für
\code{ore.frame}-Daten.
}
\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}{
Ein \code{\link[stats]{formula}}-Objekt, das das anzupassende
Modell darstellt.
}
\item{data}{
Ein \code{ore.frame}-Objekt, das die die Daten für dieses
Modell angibt.
}
\item{weights}{
Ein optionales \code{ore.number}-Objekt, das die
analytischen Gewichtungen in dem Modell angibt.
}
\item{ supplemental.cols }{
Zusätzliche Spalten, die in dem Vorhersageergebnis
aus dem \code{newdata}-Dataset einbezogen werden sollen.
}
\item{family}{
Ein \code{\link[stats]{family}}-Objekt, das Details zur
generalisierten linearen Modellfamilie angibt. Dies ist derselbe Typ
Familienobjekt, der von der \code{\link[stats]{glm}}-Funktion
im \\pkg{stats}-Package verwendet wird, welches die
\code{\link[MASS]{negative.binomial}}-Funktion aus dem \\pkg{MASS}-
Package sowie die \code{\link[statmod]{tweedie}}-Funktion aus
dem \\pkg{statmod}-Package umfasst.
}
\item{start}{
Ein optionaler \code{\link[base]{numeric}}-Vektor, der die anfänglichen
Koeffizientenschätzungen in dem linearen Prädiktor angibt.
}
\item{control}{
Ein optionales \code{\link[base]{list}}-Objekt, das eine Liste von
Fit-Steuerparametern angibt, die von der
\code{ore.glm.control}-Funktion interpretiert werden müssen.
}
\item{contrasts}{
Ein optionaler benannter \code{\link[base]{list}}-Wert, der für das
\code{contrasts.arg}-Argument von
\code{\link[stats]{model.matrix}} angegeben werden muss.
}
\item{xlev}{
Eine optionales, benanntes \code{\link[base]{list}} von
\code{\link[base]{character}}-Vektoren, die die
\code{\link[base]{levels}} für jede
\code{\link[OREbase:ore.factor-class]{ore.factor}}-Variable angeben.
}
\item{ylev}{
Ein optionaler \code{\link[base]{character}}-Vektor, der die
Antwortvariablenebenen in
generalisierten linearen \code{\link[stats]{binomial}}-Modellen angibt.
}
\item{yprob}{
Ein optionaler numerischer Wert zwischen 0 und 1, der die
Gesamtwahrscheinlichkeit von \code{y != ylev[1]} in
generalisierten linearen \code{\link[stats]{binomial}}-Modellen angibt.
}
\item{devlre}{
Eine positive Zahl, die den minimalen log-relativen Fehler
des Konvergenzkriteriums der Residuenabweichung angibt,
\eqn{-log10(|dev - dev_{old}|/|dev|) \\ge devlre}.
}
\item{maxit}{
Eine positive Ganzzahl, die die Höchstanzahl von
Fisher Scoring-Iterationen angibt.
}
\item{linesearch}{
Ein logischer Wert, der angibt, ob nach jeder Fisher Scoring-
Iteration eine Liniensuche verwendet werden soll. Wenn \code{FALSE},
wird nach den ersten beiden Iterationen sowie nach allen nachfolgenden
Iterationen, die zu einer Erhöhung der Residuenabweichung führen,
eine Liniensuche verwendet.
}
\item{trace}{
Der Steuerparameter, die die Ausgabe kontrolliert, die bei jeder
Fisher Scoring-Iteration erzeugt wird;
ein Wert von \code{FALSE} oder \code{0} gibt keine Ausgabe an,
ein Wert von \code{TRUE} oder \code{1} gibt das Ausdrucken der
Restabweichung für jede Iteration an, oder
ein Wert von \code{2} gibt das Ausdrucken der Restabweichung
und Laufzeitaufgliederung für jede Iteration an. Der Standardwert wird
von der globalen Option \code{ore.trace} reguliert.
}
\item{object, newdata}{
Ein \code{ore.glm}-Objekt.
}
\item{dispersion, correlation, symbolic.cor}{
Argument wurde nicht implementiert.
}
\item{type}{
Eine Zeichenfolge, die den Typ der Vorhersagen oder
Restwerte angibt, die erzeugt werden sollen.
}
\item{se.fit}{
Ein logischer Wert, der angibt, ob die Standardfehler
für die Vorhersagen zurückgegeben werden sollen.
}
\item{na.action}{
Die Art, in der \code{NA}-Werte behandelt werden,
entweder \code{na.omit} oder \code{na.pass}.
}
\item{\dots}{
Zusätzliche Argumente.
}
}
\details{
Die \code{ore.glm}-Funktion passt generalisierte lineare Modelle mit einem
Fisher Scoring-IRLS-Algorithmus an. Anstelle der
herkömmlichen Schritthalbierung, um die Auswahl von weniger optimalen
Koeffizientenschätzungen zu vermeiden, wird eine Liniensuche verwendet,
um neue Koeffizientenschätzungen bei jeder Iteration ab den
aktuellen Koeffizientenschätzungen bis zu den von Fisher
Scoring empfohlenen Schätzungen mit der folgenden Formel zu wählen
\eqn{(1 - \\alpha) * old + \\alpha * suggested} wobei \eqn{\\alpha} in
\eqn{[0, 2]}.
Jede Iteration besteht aus bis zu drei Embedded R MapReduce-
Vorgängen: einem IRLS-Vorgang und bis zu zwei Liniensuchvorgänge.
Die IRLS-MapReduce-Vorgänge werden für die Matrixkreuzprodukte basierend auf
\code{model.matrix}- oder \code{sparse.model.matrix}-Funktionsaufrufen durchgeführt, abhängig von der
zugrunde liegenden Datendichte der Modellmatrix. Nachdem der
Algorithmus entweder konvergiert oder die Höchstanzahl von
Iterationen erreicht hat, wird ein abschließender Embedded R-
MapReduce-Vorgang verwendet, um das komplette Set von
Modellebenenstatistiken zu generieren.
Die globale Option \code{\link[OREbase:ore.options]{"ore.parallel"}} wird von \code{ore.glm} verwendet, um
den bevorzugten Parallelitätsgrad zu bestimmen, der innerhalb des Oracle
R Enterprise-Servers verwendet werden soll.
}
\value{
Für \code{ore.glm} wird ein \code{ore.glm}-Objekt zurückgegeben.
Für \code{summary.ore.glm} wird ein \code{summary.ore.glm}-Objekt zurückgegeben.
Hinweis: Die von Argument \code{data} referenzierten Trainingsdaten sind
erforderlich, um Metainformationen zum \code{ore.glm}-Objekt zu erzeugen.
}
\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