Натуральная сплайн-основа в R
Привет всем, я надеюсь, что вы можете помочь мне в этой проблеме. Я использую ns(...)
команда в R для генерации базы естественных сплайнов, в том числе
- 1 внутренний узел
- 2 граничных узла
- Перехват равен
T
Скажем в качестве примера, ns(1:20, knots=9, Boundary.knots=c(1,15), intercept=T)
, У меня есть несколько вопросов, которые я изо всех сил пытаюсь решить самостоятельно, а именно:
- R возвращает базис из 3 полиномов: почему 3?
- Каково уравнение 3 полиномов этого базиса?
- Естественные сплайны обеспечивают ограничение, что после граничных узлов экстраполяция является линейной (что не совсем то , что я хотел бы для своих целей): как вместо этого наложить ограничение на то, что экстраполяция фактически постоянна (то есть плоская) после моего правого граничного узла?
Большое спасибо за вашу помощь в этом, вы бы мне очень помогли!
Бест, ЭМ
1 ответ
Для естественного сплайна количество базисов равно количеству узлов. Полезная ссылка https://stats.stackexchange.com/questions/172217/why-are-the-basis-functions-for-natural-cubic-splines-expressed-as-they-are-es
Естественное ограничение сплайна состоит в том, что s''(первый узел)=0 и s''(последний узел)=0
Для принудительного выполнения s' = 0, как вы хотите - не будет естественным сплайном