样条曲线的理想用例
在这个问题中,您必须定义“理想”或“最佳”的含义,但我仍然会给您两分钱。
样条线有什么理想的用例吗?
我的(非常激进的)观点是,当数据丰富时,在没有任何其他信息的情况下使用样条曲线最有意义。Frank Harrell 为这种观点提供了一个极好的理由,我现在将重复这一点。
有 2 种可能性(使用样条曲线,或不使用)和 2 个潜在事实(变量的影响确实是非线性的,或者是线性的)。然后有 4 个结果需要考虑:
我们不使用样条曲线,效果是线性的。在这种情况下,一个简单的模型就足够了,我们可以从较低的方差拟合中受益。
我们使用样条曲线,效果是线性的。在这种情况下,我们不必要地花费了额外的自由度,增加了拟合的方差,但变量的影响被适当地估计了。
我们不使用样条曲线,效果是非线性的。这有可能是灾难性的!想象一个变量对 y 的影响看起来像. 如果均值居中,则线性拟合可以估计效果为 0 或太小,具体取决于.
我们使用样条曲线,效果是非线性的。这将是我们适当地使用我们的自由度的最佳情况。
从这个场景分析看来,最好将样条曲线拟合到数据上(我再次承认,这实际上取决于数据的可用性)。最重要的是,如果我们最初拟合样条曲线,我们总是可以执行 F 检验以确定样条曲线模型是否解释了比线性效应更多的方差,从而通知未来模型拟合类似数据。
这是我的看法,一般来说。现在,让我举一个例子,其中样条曲线显然是更好的选择。假设您在一天的课程中对某些功能进行建模(可能是网站的流量或其他东西)。这种影响很可能是非线性的,因为我们的生活在很大程度上受到时间的影响(我们在某些时期睡觉,从而导致网站上的活动减少,而在其他时期则很活跃)。这种影响不仅是非线性的,而且是循环的(午夜前 1 分钟的活动与午夜后 1 分钟的活动大致相同)。我们可以使用三角函数对此进行建模,但更好的选择是使用循环样条,它可以 a) 适应现象的循环性质,b) 在必须指定现象的函数形式时避免模型偏差先验的。
样条曲线可以看作是非参数插值或拟合工具。因此,理想的应用程序将是您没有模型来描述变量但需要对其进行插值或生成数据的平滑版本的情况。
样条曲线通常与其他方法结合使用。例如,看看线性样条曲线:它们将函数建模为分段线性函数。如果您认为您的响应与变量具有非线性关系,您可以将变量建模为线性样条并输入您的 OLS 方程。例如,参见State 中的mkspline函数。您可以将 GAM(广义加法模型)视为类似方法的应用,您可以在将变量放入回归之前将(非平滑)样条应用于变量。
三次(非平滑)样条曲线用于对变量进行上采样,例如,将季度 GDP 变量转换为月度变量以用于响应为月度的模型。
您似乎在问题中描述了平滑样条曲线,这完全是一种不同的插值方法。它将响应变量建模为分段的低阶多项式,并引入了粗糙度惩罚以使输出平滑。
总而言之,业界使用了许多不同的样条应用程序,其中一些是独立的(如插值),而另一些则集成在其他技术中,如回归。
