Обработка пропущенных значений
В главе 3 вы использовали na.locf(), чтобы заполнить пропущенные значения последним известным значением. Однако перенос предыдущего значения вперёд подходит не всегда — в таких случаях лучше применить интерполяцию. В этом упражнении вы познакомитесь с двумя методами: линейной интерполяцией и сплайн-интерполяцией.
Линейная интерполяция рассчитывает значения, лежащие на прямой между двумя известными точками данных. Это хороший выбор для данных с выраженным трендом. Сплайн-интерполяция больше подходит для рядов без чёткого тренда: она строит нелинейное приближение, используя несколько точек данных.
Примените оба метода, чтобы восстановить три пропущенных значения доходности 10-летних казначейских облигаций в объекте DGS10. Затем сравните результаты с тем, что возвращает na.locf().
Это упражнение является частью курса
Импорт и управление финансовыми данными в R
Инструкции к упражнению
- Дополните команду, чтобы использовать
na.approx()для заполнения пропущенных значений методом линейной интерполяции. - Дополните команду, чтобы использовать
na.spline()для заполнения пропущенных значений методом сплайн-интерполяции. - Объедините
locf,approxиsplineв один объект с именемna_filled. - Дополните команду для построения графика
na_filled.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# fill NA using last observation carried forward
locf <- na.locf(DGS10)
# fill NA using linear interpolation
approx <- ___(DGS10)
# fill NA using spline interpolation
spline <- ___(DGS10)
# merge into one object
# plot combined object
___(___, col = c("black", "red", "green"))