Страница 1 из 1

Функция для описания данных

Добавлено: 31 мар 2017, 17:47
bolotoved
В приложении экстрагированный в точке ряд данных MODIS NDVI. В первой колонке порядковый номер дня в году, во второй колонке -- значение NDVI (MOD13Q1 и MYD13Q1) c 2000 по 2016.

Нужно как-то математически описать данные в виде функции, чтобы в итоге для любого дня в году можно было рассчитать значение NDVI.

Специфика данных такова, что значение 1 дня должно примерно совпадать со значением 365 дня (чтобы замыкался годовой цикл). Кроме того, важный момент, что вегетация весной начинается взрывным образом (т.е. функция должна уметь делать резкие скачки).

Ну и метод должен быть сколько-то устойчив к выбросам, потому как несмотря на фильтрацию по каналу QA, некоторые выбросы все-таки присутствуют.

Жду советов, пока сам ищу.

Re: Функция для описания данных

Добавлено: 31 мар 2017, 19:29
rhot
Посмотрите TIMESAT, шведы делали.
Читать: http://ieeexplore.ieee.org/abstract/document/1036010/

Re: Функция для описания данных

Добавлено: 01 апр 2017, 16:45
gamm
bolotoved писал(а):Нужно как-то математически описать данные в виде функции, чтобы в итоге для любого дня в году можно было рассчитать значение NDVI.
не очень понятна постановка: у вас не учтен фенологический сдвиг (неясно, нужно ли вам значение NDVI для "фенологического" времени, или для астрономического).

Нужно поймать характерные точки (начало и конец вегетации), и строить обычный робастный сплайн между ними, с выбросами бороться бутстрапом. Логично (чтобы не зависеть от сдвига) делать модели на каждый год, и осреднять уже их.

P.S. Для описания хода NDVI вроде есть стандартная модель (на сайте ИКИ точно должна быть).

Re: Функция для описания данных

Добавлено: 01 апр 2017, 17:33
bolotoved
gamm писал(а):не очень понятна постановка: у вас не учтен фенологический сдвиг (неясно, нужно ли вам значение NDVI для "фенологического" времени, или для астрономического)
Мне нужно что-то вроде среднего многолетнего значения NDVI (аналог средней многолетней температуры января). Ряд довольно большой (2000-2016) фенологические сдвиги должны нивелироваться. Ведь считаем же мы ту же среднюю многолетнюю температуру января, без учета сдвига? Но тут я не уверен, прислушаюсь к любым аргументам.

Стандартную модель для NDVI посмотрю, но мне больше интересен более универсальный подход, действительно, робастный сплайн или другой какой-нибудь регрессионный метод. Планирую аналогичную процедуру проводить для значений исходных каналов MODIS, поскольку NDVI не всегда содержит необходимую мне информацию.

Re: Функция для описания данных

Добавлено: 01 апр 2017, 17:42
bolotoved
rhot писал(а):Посмотрите TIMESAT
Штука интересная, я уже смотрел в сторону чего-то подобного для R (stlplus).

Re: Функция для описания данных

Добавлено: 01 апр 2017, 17:50
gamm
bolotoved писал(а):Стандартную модель для NDVI посмотрю, но мне больше интересен более универсальный подход, действительно, робастный сплайн или другой какой-нибудь регрессионный метод.
самый простой вариант - использовать loess, он везде есть, в том числе в R. Для борьбы с выборосами делаете бутстрап (1-10К раз), и усредняете модели на густом регулярном шаге, получая среднее и доверительный интервал. Для циклического замыкания продолжаете ряд вправо и влево дублированием, на полгода или около того.

P.S. Но я бы таки рекомендовал типовую модель, она учитывает особенности развития растительности, и хорошо садится на фактические данные. Кроме того, она позволяет снизить влияние выбросов