我一直在使用 SAS 的泊松通用加法模型拟合一些时间序列数据PROC GAM。一般来说,我一直在让它的内置广义交叉验证程序为我的单个样条生成至少一个不错的“起点”,它是时间的非线性函数以及单个参数项(我'我实际上感兴趣)。
到目前为止,它工作得相当顺利,除了我的一个数据集。该数据集中有 132 个观测值,GCV 建议具有 128 个自由度的样条曲线。这似乎……错了。非常错误。更重要的是,它也根本不稳定。我尝试了第二种方法,当参数项的估计停止变化时,使用“估计变化”标准来停止添加自由度,因为如果没有什么不同,为什么还要继续添加控制?
问题是估计根本不稳定。我尝试了以下自由度,如您所见,参数项疯狂地反弹:
DF: Parametric Estimate:
1 -0.76903
2 -0.56308
3 -0.47103
4 -0.43631
5 -0.33108
6 -0.1495
7 0.0743
8 0.33459
9 0.62413
10 0.92161
15 1.88763
20 1.98869
30 2.5223
40-60 had convergence issues
70 7.5497
80 7.22267
90 6.71618
100 5.83808
110 4.61436
128 1.32347
对于这个特定的数据位,我完全不知道我应该使用 df 什么。关于如何选择 df 的任何其他想法?我应该看看样条曲线的重要性吗?
在 df = 10 和 df = 15 之间进行更多查看,看起来 df = 12 是您可以得出的最接近 128 生成的估计值,并且仍处于“合理的自由度”范围内。连同线性项、截距和单参数项,感觉就像一个非常饱和的模型。只选择 12 是否合理?
作为第二次更新,将平滑从 更改spline(t)为loess(t)会导致更好的 df 估计 - 我应该切换到黄土平滑吗?
