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

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

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

Сообщение bolotoved » 31 мар 2017, 17:47

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

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

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

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

Жду советов, пока сам ищу.
Вложения
Selection_244.png
График
Selection_244.png (42.4 КБ) 4397 просмотров
modis_NDVI.csv
Данные
(3.88 КБ) 624 скачивания

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

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

Сообщение rhot » 31 мар 2017, 19:29

Посмотрите TIMESAT, шведы делали.
Читать: http://ieeexplore.ieee.org/abstract/document/1036010/
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm » 01 апр 2017, 16:45

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

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

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

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

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

Сообщение bolotoved » 01 апр 2017, 17:33

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

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

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

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

Сообщение bolotoved » 01 апр 2017, 17:42

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

gamm
Гуру
Сообщения: 4048
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm » 01 апр 2017, 17:50

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

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

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей