MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/R/library/OREmodels/doc/man/zh_CN/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/R/library/OREmodels/doc/man/zh_CN/ore.glm.Rd

%
% 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{stats} 程序包中
    \code{\link[stats]{glm}} 函数使用的系列对象具有
    相同的类型, 该对象包括
    \\pkg{MASS} 程序包中的 \code{\link[MASS]{negative.binomial}} 函数
    以及 \\pkg{statmod} 程序包中的 \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}{
一个介于 0 和 1 之间的可选数值, 指定
    \code{y != ylev[1]} 通用线性模型中
    \code{\link[stats]{binomial}} 的整体概率。
}
  \item{devlre}{
一个用于指定残值偏差收敛标准的
    最小对数相对误差的正数值,
    \eqn{-log10(|dev - dev_{old}|/|dev|) \\ge devlre}。
}
  \item{maxit}{
一个用于指定 Fisher 计分迭代的最大数量的
    正整数值。
}
  \item{linesearch}{
一个用于指示是否应在每次 Fisher 计分迭代后
    使用线段搜索的逻辑值。如果为 \code{FALSE},
    则将在前两次迭代后使用线段搜索,
    任何后续迭代将导致残值偏差
    增加。
}
  \item{trace}{
控制在每次 Fisher 计分迭代时生成的
    输出的控制参数;
    值为 \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} 函数使用 Fisher 计分迭代再加权最小二乘法
  (IRLS) 算法拟合通用线性模型。
  与传统二等分步骤以防止选择
  不佳的系数估算不同, 使用线段搜索
  对从当前系数估算开始的每次迭代
  选择新系数估算, 并使用以下公式经过
  Fisher 计分建议的估算:
  \eqn{(1 - \\alpha) * old + \\alpha * suggested}, 其中 \eqn{\\alpha}
  在 \eqn{[0, 2]} 中。
  每次迭代最多包括三个嵌入式 R 映射/减少
  操作: IRLS 操作和最多两个线段搜索操作。
  IRLS 映射/减少操作位于基于
  \code{model.matrix} 或 \code{sparse.model.matrix} 函数调用的叉积矩阵上,
  具体取决于模型矩阵的基础稀疏性。
  在算法收敛或达到最大迭代
  次数时, 将使用最终的嵌入式 R 映射/减少操作
  来生成完整的模型级别统计信息集。
  \code{\link[OREbase:ore.options]{"ore.parallel"}} 使用 \code{ore.glm} 全局选项来
  确定要在 Oracle R Enterprise 服务器中
  使用的首选并行度。
}


\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