ppr
位于 stats
包(package)。 说明
拟合投影寻踪回归模型。
用法
ppr(x, ...)
## S3 method for class 'formula'
ppr(formula, data, weights, subset, na.action,
contrasts = NULL, ..., model = FALSE)
## Default S3 method:
ppr(x, y, weights = rep(1, n),
ww = rep(1, q), nterms, max.terms = nterms, optlevel = 2,
sm.method = c("supsmu", "spline", "gcvspline"),
bass = 0, span = 0, df = 5, gcvpen = 1, trace = FALSE, ...)
参数
formula |
指定一个或多个数字响应变量和解释变量的公式。 |
x |
解释变量的数字矩阵。行代表观察值,列代表变量。不接受缺失值。 |
y |
响应变量的数字矩阵。行代表观察值,列代表变量。不接受缺失值。 |
nterms |
最终模型中包含的项数。 |
data |
一个数据帧(或类似的:参见 |
weights |
每种情况的权重向量 |
ww |
每个响应的权重向量,因此拟合标准是 |
subset |
指定训练样本中使用的情况的索引向量。 (注意:如果给出,则必须命名该参数。) |
na.action |
一个函数,用于指定找到 |
contrasts |
对任何因子解释变量进行编码时要使用的对比。 |
max.terms |
构建模型时可选择的最大项数。 |
optlevel |
0 到 3 之间的整数,决定 SMART 程序中优化例程的彻底性。请参阅“详细信息”部分。 |
sm.method |
用于平滑岭函数的方法。默认是使用 Friedman 的超级平滑器 可以缩写。 |
bass |
超平滑的低音音调控制与自动跨度选择一起使用(参见 |
span |
超级平滑的跨度控制(参见 |
df |
如果 |
gcvpen |
如果 |
trace |
逻辑指示每个样条拟合是否应产生诊断输出(关于 |
... |
要传递给其他方法或从其他方法传递的参数。 |
model |
合乎逻辑的。如果为 true,则返回模型框架。 |
细节
基本方法由 Friedman (1984) 给出,本质上与 S-PLUS 的 ppreg
使用的代码相同。该代码对所使用的编译器极其敏感。
该算法首先将 max.terms
岭项一次相加;如果它无法找到一个可以产生足够差异的术语来添加,它将使用更少的内容。然后,它会在每一步中删除最不重要的术语,直到留下 nterms
术语。
优化级别(参数 optlevel
)的不同之处在于在此过程中模型重新拟合的彻底程度。在 0 级,现有的山脊项不会进行改装。在级别 1,投影方向不会重新拟合,但岭函数和回归系数会重新拟合。 2 级和 3 级重新调整了所有术语,并且对于一个响应来说是等效的;第 3 级更仔细地重新平衡每个步骤中每个回归量的贡献,因此不太可能收敛到平方和标准的鞍点。
值
包含以下组件的列表,其中许多组件供方法函数使用。
call |
匹配的调用 |
p |
解释变量的数量(任何编码后) |
q |
响应变量的数量 |
mu |
参数 |
ml |
参数 |
gof |
所选模型的总体残差(加权)平方和 |
gofn |
相对于项数的总体残差(加权)平方和,最多 |
df |
参数 |
edf |
如果 |
xnames |
解释变量的名称 |
ynames |
响应变量的名称 |
alpha |
投影方向矩阵,每个脊项有一列 |
beta |
适用于岭项的每个响应的系数矩阵:行是响应,列是岭项 |
yb |
每个响应的加权平均值 |
ys |
使用的总体比例因子:在内部将响应除以 |
fitted.values |
拟合值,作为矩阵 if |
residuals |
残差,作为矩阵 if |
smod |
内部工作数组,其中包括在训练设定点评估的岭函数。 |
model |
(仅当 |
例子
require(graphics)
# Note: your numerical values may differ
attach(rock)
area1 <- area/10000; peri1 <- peri/10000
rock.ppr <- ppr(log(perm) ~ area1 + peri1 + shape,
data = rock, nterms = 2, max.terms = 5)
rock.ppr
# Call:
# ppr.formula(formula = log(perm) ~ area1 + peri1 + shape, data = rock,
# nterms = 2, max.terms = 5)
#
# Goodness of fit:
# 2 terms 3 terms 4 terms 5 terms
# 8.737806 5.289517 4.745799 4.490378
summary(rock.ppr)
# ..... (same as above)
# .....
#
# Projection direction vectors ('alpha'):
# term 1 term 2
# area1 0.34357179 0.37071027
# peri1 -0.93781471 -0.61923542
# shape 0.04961846 0.69218595
#
# Coefficients of ridge terms:
# term 1 term 2
# 1.6079271 0.5460971
par(mfrow = c(3,2)) # maybe: , pty = "s")
plot(rock.ppr, main = "ppr(log(perm)~ ., nterms=2, max.terms=5)")
plot(update(rock.ppr, bass = 5), main = "update(..., bass = 5)")
plot(update(rock.ppr, sm.method = "gcv", gcvpen = 2),
main = "update(..., sm.method=\"gcv\", gcvpen=2)")
cbind(perm = rock$perm, prediction = round(exp(predict(rock.ppr)), 1))
detach()
来源
Friedman (1984):由 B. D. Ripley 转换为双精度并添加平滑样条接口,最初用于 MASS
包。
参考
Friedman, J. H. and Stuetzle, W. (1981). Projection pursuit regression. Journal of the American Statistical Association, 76, 817-823. doi:10.2307/2287576.
Friedman, J. H. (1984). SMART User's Guide. Laboratory for Computational Statistics, Stanford University Technical Report No. 1.
Venables, W. N. and Ripley, B. D. (2002). Modern Applied Statistics with S. Springer.
也可以看看
相关用法
- R ppoints 概率图的坐标
- R plot.stepfun 绘制阶跃函数
- R pairwise.t.test 成对 t 检验
- R predict.smooth.spline 通过平滑样条拟合进行预测
- R plot.profile.nls 绘制 profile.nls 对象
- R predict 模型预测
- R plot.isoreg isoreg 对象的绘图方法
- R profile.nls 分析 nls 对象的方法
- R plot.HoltWinters HoltWinters 对象的绘图函数
- R predict.HoltWinters 拟合 Holt-Winters 模型的预测函数
- R poly 计算正交多项式
- R proj 模型预测
- R predict.loess 预测黄土曲线或表面
- R power.t.test 一个和两个样本 t 检验的功效计算
- R power.prop.test 比例二样本检验的功效计算
- R preplot 绘图对象的预计算
- R plot.ts 绘制时间序列对象
- R prcomp 主成分分析
- R printCoefmat 打印系数矩阵
- R plot.density 核密度估计的绘图方法
- R profile 分析模型的通用函数
- R power.anova.test 方差检验平衡单向分析的功效计算
- R prop.test 等比例或给定比例检验
- R profile.glm 分析 glm 对象的方法
- R pairwise.prop.test 比例的成对比较
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Projection Pursuit Regression。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。