Я смоделировал (нормально распределенные) случайные данные для каждого дня за период с 1 января 2014 года по 1 января 2016 года. Затем я попытался взять итоги этих данных через регулярные периоды в 8 дней. Вот мой код (я добавил семя для воспроизводимости):
library(xts)
library(ggplot2)
set.seed(123)
#simulate data
property_damages_in_dollars <- rnorm(731,100,10)
date_decision_made = seq(as.Date("2014/1/1"), as.Date("2016/1/1"),by="day")
date_decision_made <- format(as.Date(date_decision_made), "%Y/%m/%d")
final_data <- data.frame(date_decision_made, property_damages_in_dollars)
#convert to xts object
dat <- xts(final_data$property_damages_in_dollars,
as.Date(final_data$date_decision_made, '%Y/%m/%d'))
#aggregate by 8 day period
ep <- endpoints(dat,'days',k=8)
#final aggregated file
a = period.apply(x=dat,ep,FUN=sum )
#plot
a_df <- fortify(a)
ggplot(a_df, aes(x = Index, y = a)) + geom_line()
Однако при суммировании данных за 8-дневный период наблюдаются значительные нерегулярные всплески, что позволяет предположить, что при суммировании данных могут быть некоторые ошибки:
Ближе к концу графика наблюдается падение. Это выглядит подозрительно, но отчасти объяснимо.
В середине графика очень заметный резкий провал - это действительно похоже на ошибку расчета. Это падение происходит, когда год переходит с 2015 (декабрь) на 2016 год, соответствующие (агрегированные) числа, связанные с этим временем, также кажутся низкими.
Может ли кто-нибудь объяснить эти падения и предложить, как их можно исправить? Спасибо
xts
- вы можете заставитьendpoints
игнорировать конец года? - person Hobo   schedule 06.12.2020endpoints
. Вместо этого вы можете использоватьseq
- см. мой ответ - person Hobo   schedule 06.12.2020