如何总结和比较非线性关系?

机器算法验证 回归 非线性回归
2022-03-16 23:04:11

我有大约 25 个湖泊的从 0 厘米(即沉积物-水界面)到 9 厘米的湖泊沉积物中有机物百分比的数据。在每个湖泊中,从每个位置获取了 2 个核心,因此我在每个湖泊的每个沉积物深度都有 2 个重复的有机质百分比测量值。

我有兴趣比较湖泊在有机质百分比和沉积物深度(即坡度)之间的关系有何不同。在一些湖泊中,有机质百分比与沉积物深度之间的关系呈线性关系,但在其他情况下,这种关系更为复杂(见下文示例)。

我最初的想法是在适合整个曲线或曲线子集(如果它是“主要”线性)的情况下拟合线性关系,并且只比较那些发现显着线性关系的湖泊。然而,我对这种方法不满意,因为它需要消除数据,因为它们不符合线性模型,并且忽略了有关有机物百分比和沉积物深度之间关系的潜在有趣信息。

总结和比较不同湖泊曲线的好方法是什么?

谢谢

曲线示例:在所有情况下,y 轴是沉积物中有机物的百分比,x 轴是沉积物深度,其中 0 = 沉积物-水界面。

一个很好的线性示例:

一个很好的线性例子

2个非线性例子:

非线性 1

非线性 2

一个没有明显关系的例子:

没有关系

2个回答

查看Generalized Additive Models,它允许在没有先验说明非线性形式的情况下拟合非线性函数。但是,我不确定如何比较随后的配合。另一种类似的(我相信它们都使用三次样条)方法是通过功能数据分析实现的,我知道有一些方法可以表征拟合函数之间的差异。

为了比较起见,将 OM(有机物)和 SED(沉积物)之间的关系参数化在整个湖泊中类似地是有帮助的——这样您就可以为每个湖泊估计相同的模型。这样,您可以直接比较系数估计值。

如果将潜在的非线性关系限制为二阶多项式(二次),那么就像在线性模型中添加第二项一样简单:

OM = beta_0 + beta_1 * SED + beta_2 * (SED^2)

然后,您可以进行 t 检验,以查看两个湖泊的系数是否相等……彼此或为零,具体取决于您要回答的问题。

您将您的问题表述为:“我有兴趣比较湖泊在有机质百分比与沉积物深度(即坡度)之间的关系有何不同。”

如果您更具体地表达您的问题,这将有助于选择正确的方法。为什么 OM 和 SED 之间的关系会因湖泊而异?是否有其他可观察到的可以解释不同的关系?

如果是这样,您可能希望通过交互项或其他方式在模型中包含此解释变量。没有关于您试图回答的具体问题的更多信息——除了“OM 和 SED 之间的关系在整个湖泊中是否相同?” ——很难提出更具体的方法。