黄土拟合问题

时间:2018-04-20 00:32:38

标签: r curve-fitting loess

您好我是R的新手,通常使用matlab或c#,但目前需要执行一些平滑的曲线拟合,并进行一些残差分析,所以我转向R.我知道有很多问题问及关于黄土和低配合的问题,但问题不是典型的"你的数据是乱序的"问题我似乎一直在看。

我正在使用的一些样本数据可以在下面的图中看到

basic plot

最后我想使用的方法是黄土,但我也尝试过lowess和scatter.smooth。我的问题是,当我将数据绘制为x1,y1时,我似乎无法使这些方法正常工作,但是当我绘制y1,x1时它们似乎正常工作。我希望我在这里完全无能为力,但这对我来说似乎很奇怪。

ord <- order(x)
x1 <- x[ord]
y1 <- y[ord]
plot(x1,y1)
fm = loess(y1~x1) 
lines(x1, predict(fm))

ord <- order(y)
x1 <- x[ord]
y1 <- y[ord]
plot(y1,x1)
fm = loess(x1~y1)
lines(y1, predict(fm))

poor fit

good fit

上面的图表显示,对于x1,y1绘制了数据上的拟合切口,显然没有正确定向,但是如果数据被翻转和旋转,则具有对数据有意义的形状。对于y1,x1绘图虽然,使用相同的步骤,但只是使用x1和y1切换所有行,拟合工作正常。我觉得这个问题实际上非常简单,而且我只是画了一些空白。这里的任何帮助/解释都将非常感激,因为我希望能够以预期的x1,y1方向绘制数据。

1 个答案:

答案 0 :(得分:1)

在数学中,“函数”的含义之一是两个变量之间的关系中每个x值只有一个y值的关系。 loess尝试以该含义创建一个函数。您的数据将支持从左侧开始的弧线,向右侧的弧线并向左侧扫描。那将是1-2关系,因为许多x值将具有2个y值。在数学上会失去许多具有“真实”功能的理想特征。您证明了这种关系可以通过反向显示和黄土拟合“实现”。可以采用第二次拟合和“反转”,这将使曲线旋转90度。

您没有提供支持编码演示的数据,但如果您补救该遗漏,则可以提供此类演示。