Я вкладав деякі дані часових рядів за допомогою загальної моделі добавок Пуассона за допомогою 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-оцінок - я повинен просто перейти на зменшення згладжування?