Я пытаюсь провести ежегодный анализ процентных изменений через Segmented в R. Я уже знаю, где я хочу, чтобы произошли мои точки останова, но я не могу найти способ заставить Segmented использовать эти точки.
У меня есть недельные данные о ставках за 166 недель, и я делю их на 3 периода.Есть две точки останова, которые делят эти три периода, между 52 и 53 неделями и неделями 115 и 116.
Насколько я могу судить, единственным входным значением для точек останова является аргумент "psi =".Однако это позволяет мне только вводить начальные точки, из которых Segmented будет оценивать точки останова, которые он считает наиболее подходящими.
Вместо этого я уже знаю, где я хочу, чтобы мои точки останова возникали, и я хочу установить их вмодель.
weekly <- read.csv("data.csv")
lm <- lm(Rate ~ Week, data = weekly)
summary(lm)
segment <- segmented(lm,
seg.Z = ~ Week,
psi = list(Week = c(53, 116)))
fitted <- fitted(segment)
model <- data.frame(Week = weekly$Week, Rate = fitted)
В итоге получается модель, соответствующая найденным оценкам по сегментам, а не предполагаемым контрольным точкам на 53 и 116.
Есть ли способ принудительно сегментировать киспользовать определенные точки останова на каждом или есть другой пакет, который может это сделать?