sigma
位于 stats
包(package)。 说明
提取误差的估计标准差 “residual standard deviation”(也被错误命名为 “residual standard error”,例如,在 summary.lm()
的输出中,来自拟合模型)。
许多经典统计模型都有一个尺度参数,通常是 zero-mean 正态(或高斯)随机变量的标准差,表示为 sigma(.)
从拟合模型中提取估计参数,即 。 。
用法
sigma(object, ...)
## Default S3 method:
sigma(object, use.fallback = TRUE, ...)
参数
object |
一个R对象,通常由模型拟合函数产生,例如 |
use.fallback |
逻辑,传递给 |
... |
可能会进一步传入和传出方法的参数。传递给默认方法的 |
细节
stats
包提供 S3 泛型、默认方法以及 "glm" 类对象的方法。默认方法通常对于(渐近/近似)广义高斯 (“least squares”) 问题是正确的,因为它定义为
sigma.default <- function (object, use.fallback = TRUE, ...) sqrt( deviance(object, ...) / (NN - PP) )
其中NN <- nobs(object, use.fallback = use.fallback)
和PP <- sum(!is.na(coef(object)))
- 较旧的地方R这是版本length(coef(object))
在未确定系数的情况下(例如,对于秩缺陷模型拟合),该值太大。
值
通常是一个数字,即高斯模型的误差估计标准偏差 (“residual standard deviation”),以及更难以解释的更一般模型中每个自由度残差偏差的平方根。
严格来说, (“ 帽子”)实际上是 。
对于广义线性模型(类 "glm"
),sigma.glm
方法返回色散参数的平方根(请参阅 summary.glm
)。对于具有自由离散参数的族, 是根据 Pearson 残差的均方根估计的。对于具有固定离散度的族,sigma
不是根据残差估计的,而是直接从拟合模型的族中提取的。因此,对于二项式或泊松 GLM,sigma
恰好为 1。
对于多元线性模型(类 "mlm"
),返回一个 sigmas 向量,每个向量对应于 的一列。
注意
“剩余标准”的误称错误” 已经成为太多人的一部分R(和S)输出可以在那里轻松更改。
例子
## -- lm() ------------------------------
lm1 <- lm(Fertility ~ . , data = swiss)
sigma(lm1) # ~= 7.165 = "Residual standard error" printed from summary(lm1)
stopifnot(all.equal(sigma(lm1), summary(lm1)$sigma, tolerance=1e-15))
## -- nls() -----------------------------
DNase1 <- subset(DNase, Run == 1)
fm.DN1 <- nls(density ~ SSlogis(log(conc), Asym, xmid, scal), DNase1)
sigma(fm.DN1) # ~= 0.01919 as from summary(..)
stopifnot(all.equal(sigma(fm.DN1), summary(fm.DN1)$sigma, tolerance=1e-15))
## -- glm() -----------------------------
## -- a) Binomial -- Example from MASS
ldose <- rep(0:5, 2)
numdead <- c(1, 4, 9, 13, 18, 20, 0, 2, 6, 10, 12, 16)
sex <- factor(rep(c("M", "F"), c(6, 6)))
SF <- cbind(numdead, numalive = 20-numdead)
sigma(budworm.lg <- glm(SF ~ sex*ldose, family = binomial))
## -- b) Poisson -- from ?glm :
## Dobson (1990) Page 93: Randomized Controlled Trial :
counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
sigma(glm.D93 <- glm(counts ~ outcome + treatment, family = poisson()))
## equal to
sqrt(summary(glm.D93)$dispersion) # == 1
## and the *Quasi*poisson's dispersion
sigma(glm.qD93 <- update(glm.D93, family = quasipoisson()))
sigma (glm.qD93)^2 # 1.2933 equal to
summary(glm.qD93)$dispersion # == 1.2933
## -- Multivariate lm() "mlm" -----------
utils::example("SSD", echo=FALSE)
sigma(mlmfit) # is the same as {but more efficient than}
sqrt(diag(estVar(mlmfit)))
也可以看看
相关用法
- R simulate 模拟反应
- R stlmethods STL 对象的方法
- R summary.nls 总结非线性最小二乘模型拟合
- R summary.manova 多元方差分析的汇总方法
- R summary.lm 总结线性模型拟合
- R smooth Tukey 的(运行中值)平滑
- R screeplot 屏幕图
- R sortedXyData 创建一个sortedXyData对象
- R setNames 设置对象中的名称
- R stat.anova GLM 方差分析统计
- R scatter.smooth 黄土拟合的平滑曲线散点图
- R splinefun 插值样条曲线
- R spec.taper 通过余弦钟锥化时间序列
- R summary.princomp 主成分分析的汇总方法
- R symnum 符号数字编码
- R se.contrast 模型术语对比的标准误差
- R summary.aov 方差模型分析总结
- R stepfun Step Functions - 创建和类
- R shapiro.test 夏皮罗-威尔克正态性检验
- R selfStart 构建自启动非线性模型
- R spec.pgram 通过平滑周期图估计时间序列的谱密度
- R spec.ar 通过 AR Fit 估计时间序列的频谱密度
- R smooth.spline 拟合平滑样条曲线
- R supsmu 弗里德曼的超级平滑
- R stl Loess 时间序列的季节分解
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Extract Residual Standard Deviation 'Sigma'。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。