Я использую следующую временную ряд:Нет оборудованную модель линии для временных сегментов серии
Lines <- "D1,Value
1,20/11/2014 16:00,0.01
2,20/11/2014 17:00,0.01
3,20/11/2014 19:00,0.01
4,20/11/2014 22:00,0.20
5,20/11/2014 23:00,0.03"
library (zoo)
library (strucchange)
z <- read.zoo(text = Lines, tz = "", format = "%d/%m/%Y %H:%M", sep = ",")
bp <- breakpoints(z ~ 1, h = 2)
plot(z)
abline(v = time(z)[bp$breakpoints])
Я хотел бы добавить к графе для каждого сегмента подобранной модели и дополнительно создать dataframe, который имеет конст и наклон приспособленной модели. Для подогнанной модели на сегмент графа Я пытался использовать следующее:
lines(z, fitted(bp, breaks = 1), col = 2, lwd = 2)
но нет никакой линии. Для dataframe я пытался использовать:
coef(bp, breaks = 1)
Однако мне нужно наклон, а также.
Спасибо большое. Можете ли вы добавить, как я могу найти наброски моделей по каждому сегменту? – Avi
Два сегмента являются горизонтальными (без наклонов), потому что формула, заданная в вопросе, является 'z ~ 1' .. Используя' fit' из ответа, два уровня: 'levs <- fit [bp $ breakpoints + 0: 1 ] ', а наклон между ними -' diff (levs)/diff (as.numeric (time (levs))/3600) ' –
Спасибо за публикацию решения. К сожалению, 'breakpoints()' не работает должным образом с 'zoo'. Он может потреблять серии 'zoo', но, по сути, рассматривает их как числовые векторы и не сохраняет соответствующий индекс. Я попытался выяснить, могу ли я легко сжать поддержку 'zoo' в' breakpoints() ', но изменения не были бы тривиальными и, скорее всего, не обратными. Так что до сих пор я никогда не сталкивался с написанием гораздо более совершенных новых «breakpoints()» ... –