tsfeatures () бессмысленная ошибка (для интерполяции нужно как минимум два значения не-NA, но все значения не-NA) - PullRequest
0 голосов
/ 11 июля 2019

tsfeatures() говорит о том, что approx() терпит неудачу из-за необходимости по крайней мере двух значений не-NA для интерполяции.Я не могу найти никаких NA в моем временном ряду или индексе временного ряда, и я могу построить игрушечный пример без значений NA, упорядоченных и уникальных индексов и все еще воспроизводить ошибку.

Кажется, что естьнесколько предыдущих вопросов, касающихся функции R tsfeatures(), но я не могу найти тот, который объясняет, почему я получаю сообщение об ошибке:

Error in approx(idx, x[idx], tt, rule = 2) : 
  need at least two non-NA values to interpolate
# datetimes has type POSIXct
Browse[3]> class(datetimes[1:3])
[1] "POSIXct" "POSIXt"

# the first three date times are unique and ordered
Browse[3]> datetimes[1:3]
[1] "2019-06-18 19:59:48 PDT" "2019-06-18 20:00:48 PDT" "2019-06-18 20:01:48 PDT"

# create our time series
Browse[3]> temp = xts(x = c(0, 0, 0), order.by = datetimes[1:3])
Browse[3]> temp
                    [,1]
2019-06-18 19:59:48    0
2019-06-18 20:00:48    0
2019-06-18 20:01:48    0

# try to get our features:
Browse[3]> tsfeatures(temp)
Error in approx(idx, x[idx], tt, rule = 2) : 
  need at least two non-NA values to interpolate

Редактировать: Мой товарищ по команде и я обнаружили, чтоСообщение об ошибке отображается, если временной ряд состоит из совершенно одинакового значения:

Browse[3]> tsfeatures(xts(x = c(1, 1, 1), order.by = datetimes[1:3]))
Error in approx(idx, x[idx], tt, rule = 2) : 
  need at least two non-NA values to interpolate

Browse[3]> tsfeatures(xts(x = c(1, 2, 1), order.by = datetimes[1:3]))
# A tibble: 1 x 16
  frequency nperiods seasonal_period    trend spike linearity curvature e_acf1 e_acf10 entropy x_acf1 x_acf10 diff1_acf1 diff1_acf10 diff2_acf1 diff2_acf10
      <dbl>    <dbl>           <dbl>    <dbl> <dbl>     <dbl>     <dbl>  <dbl>   <dbl>   <dbl>  <dbl>   <dbl>      <dbl>       <dbl>      <dbl>       <dbl>
1    0.0167        0          0.0167 1.11e-16 0.333 -6.04e-32  3.49e-32 -0.667      NA      NA -0.667      NA       -0.5        0.25         NA           0

Может кто-нибудь объяснить сообщение об ошибке?

1 Ответ

0 голосов
/ 11 июля 2019

Ошибка связана с тем, что tsfeatures() автоматически масштабирует временной ряд по умолчанию. Когда вы передаете постоянную серию, масштабирование уменьшает серию до NaN с. Теперь это запрещено в текущей версии github - исправлено здесь .

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