FPCA之前的平滑处理

时间:2018-07-18 17:17:06

标签: r statistics

我正在尝试在时间序列上使用FPCA,并且我知道在使用FPCA之前应该先进行一些平滑处理。但是,我不知道哪种平滑方法是好的? 任何资源都非常感激!

谢谢!

1 个答案:

答案 0 :(得分:0)

平滑处理将取决于您拥有的数据。考虑到FDA的参数化方法(Ramsay和Silverman,2005),您可以选择基础函数:通常,对于定期数据,通常使用“傅里叶” 基础,而“ bspline” 用于非经常性数据。 B样条具有良好的本地行为。

您可以在“使用R和MATLAB进行功能数据分析”(Ramsay等人,2009年)中找到有关实现不同基础函数的更多信息

没有特定的规则来选择基础的维度,因为它取决于几个因素。我强烈建议在所有可能的维度上研究该过程的最小平方误差,然后根据方便程度进行选择。一些软件包已经实现了计算它的功能。例如fda.usc::min.basis()-最佳个基础函数的最小数量,以及交叉验证方法,例如fda.usc::CV.S()

P样条提供了最低的近似误差,其计算实现更加容易,并且对结的选择非常不敏感。您可以尝试平滑您的功能对象,例如:

library(fda)   
fdobj <- create.bspline.basis(df,nbasis=k,norder=4)
smooth.fdPar(fdobj, Lfdobj=NULL, lambda=0,
             estimate=TRUE, penmat=NULL)