R 用新的x值预测黄土

R 用新的x值预测黄土,r,regression,smoothing,loess,R,Regression,Smoothing,Loess,我试图理解predict.alluch函数如何能够在原始数据中不存在的点x处计算新的预测值(y\u hat)。例如(这是一个简单的例子,我意识到这种例子显然不需要黄土,但它说明了这一点): x 然而,由于没有存储系数,因此本例中的“模型”只是用于预测每个y_帽的细节 也许您已经使用了print(mdl)命令,或者只是mdl来查看模型mdl包含的内容,但事实并非如此。该模型非常复杂,存储了大量参数 要了解其中的内容,可以使用unlist(mdl)并查看其中的参数列表 这是命令手册的一部分,描述了命

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

x
然而,由于没有存储系数,因此本例中的“模型”只是用于预测每个y_帽的细节

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

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

这是命令手册的一部分,描述了命令的实际工作方式:

安装是在本地完成的。也就是说,对于点x处的拟合,拟合是使用x邻域中的点进行的,这些点通过其与x的距离进行加权(计算距离时忽略“参数”变量的差异)。邻域的大小由α控制(由span或enp.target设置)。对于α<1,邻域包括点的比例α,并且这些点具有三次加权(与(1-(dist/maxdist)^3)^3成比例)。对于α>1,使用所有点,假设“最大距离”为α^(1/p)乘以p解释变量的实际最大距离

对于默认族,拟合采用(加权)最小二乘法。对于 family=“symmetric”使用 使用Tukey双砝码。请注意,由于初始值是 最小二乘拟合,这不一定是一个很难适应的拟合

我认为它试图在每个点的邻域中拟合多项式模型(而不仅仅是整个集合的一个多项式)。但是邻域并不意味着只有一个点之前和一个点之后,如果我实现这样一个函数,我会在离点x最近的点上施加一个较大的权重,而在远端点上施加较低的权重,并尝试拟合一个适合最高总权重的多项式

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


如果您想找什么特别的东西,请告诉我。

在手册第42页找到了答案:

In this algorithm a set of points typically small in number is selected for direct    
computation using the loess fitting method and a surface is evaluated using an interpolation
method that is based on blending functions. The space of the factors is divided into
rectangular cells using an algorithm based on k-d trees. The loess fit is evaluated at
the cell vertices and then blending functions do the interpolation. The output data
structure stores the k-d trees and the fits at the vertices. This information
is used by predict() to carry out the interpolation.

为了更好地了解黄土高原发生了什么,请尝试运行TeachingDemos包中的
leash.demo
函数。这使您可以交互地单击绘图(即使在点之间),然后显示预测中使用的点集及其权重以及该点的预测线/曲线


另外请注意,
黄土
的默认设置是对黄土拟合进行第二次平滑/插值,因此您在拟合对象中看到的可能不是真实的黄土拟合信息,而是第二次平滑。

谢谢您的回答。然而,多项式回归背后的逻辑/数学是在我的问题中描述的。我试图理解如何计算中间点。一定是通过某种插值?谢谢,是的,这正是我在问题中描述的。请注意:“点x处的拟合,使用x附近的点进行拟合”。问题是:x_1和x_2之间会发生什么。。例如,在数据集合中不存在的x_1+ε直到添加了两段。如果有什么地方不清楚,请不要犹豫。谢谢。然而,我认为我们彼此误解了。假设有一个点(y_1,x_1),在这里我们要计算g(y)。我们使用所有点(在x_1和y_1范围内)计算OLS回归。我们对所有点(x_1..x_n)重复这个过程,因此有g(y_1)..g(y_n)。但是,如果我们看一个不在原始数据集中的点x_1+ε,会发生什么?我们没有一个g(y_1+ε)来查找?如果每个点(比如x_1+ε)都在数据集中,还有什么需要预测?另一点是,我们不仅仅有一个多项式g(x),而是n个多项式g_1(x),g_2(x)。。。g_n(x),这样g_i(x)被创建为最适合(x_i,y_i)附近的点。只需使用数据集中可用的最近点的拟合多项式(比如x_1)来预测它(因此你的答案是g_1(x_1+ε).插值、外推或两者兼而有之?我想你指的只是插值。哪本手册?我正试图自己找到答案,并想看看混合函数。我想你引用的是这份文件:它似乎是威廉·S·克利夫兰、埃里克·格罗斯和明仁·许的论文或报告的附录。尽管我不确定因为我没有找到主要文件,只有附录,所以我对引文不感兴趣。
In this algorithm a set of points typically small in number is selected for direct    
computation using the loess fitting method and a surface is evaluated using an interpolation
method that is based on blending functions. The space of the factors is divided into
rectangular cells using an algorithm based on k-d trees. The loess fit is evaluated at
the cell vertices and then blending functions do the interpolation. The output data
structure stores the k-d trees and the fits at the vertices. This information
is used by predict() to carry out the interpolation.