Алгоритм определения интервалов в моих данных

У меня есть данные, касающиеся месяцев производства и относительной частоты. По оси абсцисс - месяцы производства, а по оси ординат - относительная частота. Теперь вы можете видеть увеличение и уменьшение этого курса. Моя цель - сделать эти подъемы и спуски интервалом. Есть несколько процедур, которые связаны с определением этих отклонений. Я уже разобрался с ними и реализовал алгоритм «Восхождение на холм». У меня есть интервалы, но они не очень хорошие. Теперь я хотел расширить этот алгоритм, чтобы получить лучшие интервалы. Я уже пробовал использовать некоторые пакеты, такие как strucchange() или breakpoints(), но они всегда выдают ошибки. Поскольку я не компьютерный ученый и не математик, было бы здорово получить совет!

Мой код для восхождения на холм:

hillclimbing1 <- function(month,amount)

{
  res <- c()

  val <- amount[1]

  j <- 1

  for (i in 1:length(month))

  {
    if(abs(amount[i] - val) > abs((val*0.3)))

    {
      val <- amount[i]

      res[j] <- i - 0.5

      j <- j +1

    }

  }

  return(res)

}

Мой фрейм данных выглядит так:

   month      amount
 2012-07-01 0.0000000
 2012-08-01 1.1111111
 2012-09-01 0.2985075
 2012-10-01 0.5141388
 2012-11-01 0.0000000
 2012-12-01 0.0000000
 2013-01-01 0.6849315
 2013-02-01 1.9762846
 2013-03-01 1.1799410
 2013-04-01 0.2881844
 2013-05-01 0.2617801
 2013-06-01 1.2285012
 2013-07-01 1.2285012
 2013-08-01 1.3539652
 2013-09-01 1.6694491
 2013-10-01 2.4000000
 2013-11-01 2.5065963
 2013-12-01 2.4869110
 2014-01-01 2.0497804
 2014-02-01 1.4044944
 2014-03-01 3.9443155
 2014-04-01 2.9748284
 2014-05-01 3.0623020
 2014-06-01 2.2044088
 2014-07-01 2.9686175
 2014-08-01 3.1304348
 2014-09-01 3.9028621
 2014-10-01 2.3942538
 2014-11-01 2.9021559
 2014-12-01 4.6280992
 2015-01-01 3.8616251
 2015-02-01 3.0252101
 2015-03-01 3.7565740
 2015-04-01 4.0977714 

enter image description here

Обновлено: После использования метода min / max я получаю следующий график:

enter image description here

Есть ли способ избавиться от интервала нет. 2 и 3?

Возможный дубликат Нахождение локальных максимумов и минимумов

krads 10.09.2018 12:25

Я думаю, вы ищете локальные максимумы и минимумы. В этом случае может помочь этот вопрос SO + ответ: stackoverflow.com/questions/6836409/…

krads 10.09.2018 12:27

См. Также: stackoverflow.com/questions/34205515/…

krads 10.09.2018 12:27

@krads нахождение min / max пока идет неплохо, но как мне избавиться от интервалов 2 и 3? Есть ли способ? Пожалуйста, посмотрите мое редактирование с минимальным максимальным графиком

rayray 10.09.2018 14:43

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

Sam Mason 10.09.2018 16:59
0
5
63
0

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