2016-01-25 3 views
0

У меня есть вопрос относительно результата функции bfast в R. Предположим, у меня есть временной ряд, в котором обнаружен разрыв.Как извлечь наклон объекта bfast

library(bfast) 
library(zoo) 

NDVI <- as.ts(zoo(som$NDVI.b,som$Time)) 
NDVI_w <- window(NDVI, c(2001, 4) , c(2008, 13)) 
fit <- bfast(NDVI_w, h=1/2, season="dummy", max.iter=1) 
plot(fit) 

Как извлечь значение наклона компонента тренда из объекта bfast (fit)? Опция «plot» с ANOVA = TRUE не работает.

plot(fit, ANOVA=TRUE)$slope 

Одним из вариантов может быть, чтобы вычислить его на основе предоставленной трендовой составляющей, но есть ли способ, чтобы получить его непосредственно из «годных» объект?

out <- fit$output[[1]] 
plot(out$Tt) 
lm(out$Tt ~ time(out$Tt))$coefficients[2] 

Любые намеки более чем ценятся.

ответ

1

Вы уже выяснили (предположительно из файла справки), что компонент тренда задан fit$output[[1]]$Tt.

Вы говорите, что хотите «значение наклона компонента тренда». Поэтому просто возьмите наклон из первых двух значений тренда: diff(fit$output[[1]]$Tt[1:2])/diff(time(fit$output[[1]]$Tt)[1:2]).

Смежные вопросы