Тенденция временного ряда NDVIPython

Программы на Python
Гость
Тенденция временного ряда NDVI

Сообщение Гость »


Я хочу извлечь линейный тренд из моего временного ряда NDVI. Когда я использую линейную регрессию в Python, используя этот код:

Код: Выделить всё

from sklearn.linear_model import LinearRegression
import pandas as pd

data_orig = pd.read_csv('NDVI.csv')

N_values = data_orig['N'].values.reshape(-1, 1)
NDVI_values = data_orig['NDVI'].values

model = LinearRegression()
model.fit(N_values, NDVI_values)

slope = model.coef_[0]
intercept = model.intercept_
print("Linear trend equation: NDVI = {:.4f} * N + {:.4f}".format(slope, intercept))
вывод этого кода: Уравнение линейного тренда: NDVI = 0,0000 * N + 0,0485
И я не думаю, что это уравнение правильное, потому что растительность время, когда serird явно увеличивается со временем
Я также пробовал LOESS с этим кодом:

Код: Выделить всё

from statsmodels.datasets import co2
import matplotlib.pyplot as plt
import pandas
from pandas.plotting import register_matplotlib_converters

data_orig = pandas.read_csv('NDVI.csv')
from statsmodels.tsa.seasonal import STL
res = STL(data_orig['NDVI'], period=46, trend_jump=460).fit()
From this I got a good and significant upward trend. However, I want to know if it's ok to set the trend_jump to 460 (which is the number of my time series values)
This is my time series:
Изображение



Источник: https://stackoverflow.com/questions/781 ... ime-series

Вернуться в «Python»