Натуральная сплайн-основа в R

Привет всем, я надеюсь, что вы можете помочь мне в этой проблеме. Я использую ns(...) команда в R для генерации базы естественных сплайнов, в том числе

  • 1 внутренний узел
  • 2 граничных узла
  • Перехват равен T

Скажем в качестве примера, ns(1:20, knots=9, Boundary.knots=c(1,15), intercept=T), У меня есть несколько вопросов, которые я изо всех сил пытаюсь решить самостоятельно, а именно:

  1. R возвращает базис из 3 полиномов: почему 3?
  2. Каково уравнение 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, как вы хотите - не будет естественным сплайном

Другие вопросы по тегам