smooth
位于 stats
包(package)。 说明
Tukey 的平滑器、3RS3R、3RSS、3R 等。
用法
smooth(x, kind = c("3RS3R", "3RSS", "3RSR", "3R", "3", "S"),
twiceit = FALSE, endrule = c("Tukey", "copy"), do.ends = FALSE)
参数
x |
向量或时间序列 |
kind |
指示所需平滑类型的字符串;默认为 |
twiceit |
逻辑,指示结果是否应该是‘twiced’。将平滑器 加倍意味着 ,即将平滑残差添加到平滑值中。这会减少偏差(增加方差)。 |
endrule |
表示边界平滑规则的字符串。 |
do.ends |
逻辑上,表明关系的 3 分割是否也应该发生在边界(末端)。这仅用于 |
细节
3
是 Tukey 的跑步缩写median
长度s3,
3R
代表R重复3
直到收敛,并且
S
为了S长度为 2 或 3 的水平延伸的分裂。
因此,3RS3R
是一个串联3R
,S
和3R
,3RSS
类似地,而3RSR
意味着首先3R
接着(S and 3)
重复直到收敛——这可能很糟糕。
值
"tukeysmooth"
类的对象(具有 print
和 summary
方法),是包含具有附加属性的平滑值的向量或时间序列。
注意
S 和 S-PLUS 在 smooth(*)
中使用不同的(更好一些)Tukey 平滑器。请注意,还有其他平滑方法可以提供更好的结果。这些是为手工计算而设计的,主要用于教学目的。
自从R1.2版,smooth
做真正正确地执行 Tukey 的 end-point 规则(参见参数endrule
)。
kind = "3RSR"
一直是默认的直到R-1.1,但它可能具有非常糟糕的属性,请参阅示例。
请注意,对于 "3RS*"
类型,重复应用 smooth(*)
会更加平滑。
例子
require(graphics)
## see also demo(smooth) !
x1 <- c(4, 1, 3, 6, 6, 4, 1, 6, 2, 4, 2) # very artificial
(x3R <- smooth(x1, "3R")) # 2 iterations of "3"
smooth(x3R, kind = "S")
sm.3RS <- function(x, ...)
smooth(smooth(x, "3R", ...), "S", ...)
y <- c(1, 1, 19:1)
plot(y, main = "misbehaviour of \"3RSR\"", col.main = 3)
lines(sm.3RS(y))
lines(smooth(y))
lines(smooth(y, "3RSR"), col = 3, lwd = 2) # the horror
x <- c(8:10, 10, 0, 0, 9, 9)
plot(x, main = "breakdown of 3R and S and hence 3RSS")
matlines(cbind(smooth(x, "3R"), smooth(x, "S"), smooth(x, "3RSS"), smooth(x)))
presidents[is.na(presidents)] <- 0 # silly
summary(sm3 <- smooth(presidents, "3R"))
summary(sm2 <- smooth(presidents,"3RSS"))
summary(sm <- smooth(presidents))
all.equal(c(sm2), c(smooth(smooth(sm3, "S"), "S"))) # 3RSS === 3R S S
all.equal(c(sm), c(smooth(smooth(sm3, "S"), "3R"))) # 3RS3R === 3R S 3R
plot(presidents, main = "smooth(presidents0, *) : 3R and default 3RS3R")
lines(sm3, col = 3, lwd = 1.5)
lines(sm, col = 2, lwd = 1.25)
参考
Tukey, J. W. (1977). Exploratory Data Analysis, Reading Massachusetts: Addison-Wesley.
也可以看看
runmed
用于运行中位数; lowess
和loess
; supsmu
和 smooth.spline
。
相关用法
- R smooth.spline 拟合平滑样条曲线
- R smoothEnds 端点平滑(用于运行中位数)
- R stlmethods STL 对象的方法
- R summary.nls 总结非线性最小二乘模型拟合
- R summary.manova 多元方差分析的汇总方法
- R summary.lm 总结线性模型拟合
- R screeplot 屏幕图
- R sortedXyData 创建一个sortedXyData对象
- R sigma 提取残余标准差“Sigma”
- 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 supsmu 弗里德曼的超级平滑
- R stl Loess 时间序列的季节分解
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Tukey's (Running Median) Smoothing。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。