Интерполировать высокочастотный временной ряд - PullRequest
1 голос
/ 30 апреля 2019

У меня есть физические временные ряды в диапазоне данных выборки за 2 года с частотой 30 минут, но есть многократные и широкие интервалы потерянных данных, как вы можете видеть там:

enter image description here

Я пытался с помощью функции na.interp из forecast пакета с плохим результатом (как показано выше):

sapply(dataframeTS[2:10], na.interp)

Я ищу более полезный метод.

ОБНОВЛЕНИЕ:

Вот дополнительная информация о шаблоне, который я хочу записать, конкретно строка data.Этот подвыбор относится к маю.

enter image description here

1 Ответ

0 голосов
/ 11 мая 2019

Возможно, вы захотите попробовать пакет **imputeTS**.Это пакет R, предназначенный для вменения пропущенных значений временных рядов.

Методы na.seadec(), na.seasplit(), na.kalman() могут быть интересны здесь

Есть еще много вариантов алгоритма - вы можетенайдите в этом документе о пакете.

В этом конкретном случае я бы попробовал:

na.seasplit(yourData)

или

na.kalman(yourData)

или

na.seadec(yourData)

Имейте в виду, что, возможно, вам необходимо правильно указывать информацию о сезонности во временном ряду.(вам нужно создать временной ряд (объект ts) и установить параметр frequency)

Тем не менее, возможно, что он вообще не сработает, вам придется попробовать.(если вы можете предоставить данные, я также попробую)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...