黄土用新的x值预测

Ale*_*lex 11 regression r smoothing loess

我试图理解该predict.loess函数如何能够在原始数据中不存在的y_hat点处计算新的预测值()x.例如(这是一个简单的例子,我意识到这种类型的例子显然不需要黄土,但它说明了这一点):

x <- 1:10
y <- x^2
mdl <- loess(y ~ x)
predict(mdl, 1.5)
[1] 2.25
Run Code Online (Sandbox Code Playgroud)

loess回归通过在每个处使用多项式来工作x,因此它y_hat在每个处创建预测y.但是,因为没有存储系数,所以在这种情况下的"模型"只是用于预测每个系数的细节y_hat,例如,spandegree.当我这样做时predict(mdl, 1.5),如何predict在这个新的产生价值x?它是在两个最近的现有x值之间进行插值y_hat吗?如果是这样,它的具体细节是什么?

cloess在线阅读了这些文档但无法找到它的讨论内容.

Ali*_*Ali 5

但是,因为没有存储系数,所以在这种情况下的"模型"只是用于预测每个y_hat的细节.

也许您已经使用过print(mdl)命令或只是mdl看模型mdl包含的内容,但事实并非如此.该模型非常复杂,并存储了大量参数.

要了解内部的内容,您可以使用unlist(mdl)并查看其中的大型参数列表.

这是命令手册的一部分,描述它是如何工作的:

配件在当地完成.也就是说,对于点x处的拟合,使用x附近的点进行拟合,通过它们与x的距离加权(在计算距离时忽略"参数"变量的差异).邻域的大小由α控制(由span或enp.target设置).对于α<1,邻域包括点的比例α,并且这些具有三重加权(与(1 - (dist/maxdist)^ 3)^ 3成比例.对于α> 1,使用所有点,假设'最大距离'是p解释变量的实际最大距离的α^(1/p)倍.

对于默认族,拟合是通过(加权)最小二乘法.对于family ="symmetric",使用具有Tukey的biweight的M估计过程的几次迭代.请注意,由于初始值是最小二乘拟合,因此不需要非常合适.

我认为它试图在每个点的邻域中拟合多项式模型(不仅仅是整个集合的单个多项式).但是邻域并不仅仅意味着之前的一个点和之后的一个点,如果我正在实现这样的函数,我会对点x的最近点施加一个很大的权重,并将权重降低到远点,并尝试拟合多项式适合最高的总重量.

然后,如果应该预测高度的给定x'最接近点x,我试图使用拟合在点x的邻域上的多项式 - 比如P(x) - 并将其应用于x' - 说P(x) ') - 这就是预测.

如果您正在寻找特别的东西,请告诉我.


Gre*_*now 5

为了更好地理解黄土拟合中发生的事情,请尝试loess.demo从TeachingDemos包中运行该函数.这使您可以交互式地单击绘图(甚至在点之间),然后显示预测中使用的点集及其权重以及该点的预测线/曲线.

另请注意,默认值loess是在黄土拟合上进行第二次平滑/插值,因此您在拟合对象中看到的可能不是真正的黄土拟合信息,而是次要平滑.