Я работаю над проектом прогнозирования осадков с использованием моделей временных рядов, таких как LSTM, Arima и Prophet в Google Colab. Набор данных, который я использую, содержит ежедневные значения осадков, но подавляющее большинство записей равно нулю - поскольку в большинстве дней не дождь. Например: < /p>
LSTM имеет тенденцию к постоянным или почти нулевым прогнозам, вероятно, переосмысление часто нулевых значений. Осадки. Существуют ли рекомендуемые методы для обработки нулевого характера таких данных в прогнозировании временных рядов? < /P>
Любые советы или общий опыт будут оценены. Заранее спасибо!
Я работаю над проектом прогнозирования осадков с использованием моделей временных рядов, таких как LSTM, Arima и Prophet в Google Colab. Набор данных, который я использую, содержит ежедневные значения осадков, но подавляющее большинство записей равно нулю - поскольку в большинстве дней не дождь. Например: < /p> LSTM имеет тенденцию к постоянным или почти нулевым прогнозам, вероятно, переосмысление часто нулевых значений. Осадки. Существуют ли рекомендуемые методы для обработки нулевого характера таких данных в прогнозировании временных рядов? < /P> Любые советы или общий опыт будут оценены. Заранее спасибо![code] import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.style.use('fivethirtyeight') from sklearn.metrics import mean_squared_error import seaborn as sns
from statsmodels.tsa.arima_model import ARIMA from statsmodels.tsa.stattools import adfuller, acf, pacf from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
def list_and_visualize_missing_data(dataset): # Listing total null items and its percent with respect to all nulls total = dataset.isnull().sum().sort_values(ascending=False) percent = ((dataset.isnull().sum())/(dataset.isnull().count())).sort_values(ascending=False) percent = percent*100
print('Count of missing data : \n',total) print('% of missing data : \n',percent)
list_and_visualize_missing_data(weather_df)
#check trend and seasonality of weather data weather_df.plot(subplots=True, figsize=(20,12)) #detailed view of 2015 year weather_df['2015':'2016'].resample('D') weather_df['2015':'2016'].fillna(weather_df['2015':'2016']['PRECTOTCORR'].mean()) weather_df['2015':'2016'].plot(subplots=True, figsize=(20,12))
print(weather_df)
weather_df.index = pd.to_datetime(weather_df.index, format='%Y-%m-%d') # İndeks olarak tarih formatına dönüştür
precip = weather_df[['PRECTOTCORR']]
# Tarih indeksine göre sıralı olduğundan emin ol precip = precip.sort_index()
# Veri setinin uzunluğunu al n = len(precip) train_size = int(n * 0.8)
# %80 eğitim, %20 test verisi olarak ayır train_df = precip.iloc[:train_size] test_df = precip.iloc[train_size:]
train_df.describe() print(train_df)
# check rolling mean and rolling standard deviation def plot_rolling_mean_std(ts): rolling_mean = ts.rolling(12).mean() rolling_std = ts.rolling(12).std() plt.figure(figsize=(22,10))
plt.plot(ts, label='Actual Mean') plt.plot(rolling_mean, label='Rolling Mean') plt.plot(rolling_std, label = 'Rolling Std') plt.xlabel("Date") plt.ylabel("Mean Temperature") plt.title('Rolling Mean & Rolling Standard Deviation') plt.legend() plt.show()
# check stationary: mean, variance(std)and adfuller test plot_rolling_mean_std(train_df.PRECTOTCORR)
# Actual vs Fitted fig, ax = plt.subplots(figsize=(10, 5)) plot_predict(model_fit, dynamic=False, ax=ax)
# Başlık ve etiketler ax.set_title("Gerçek ve Tahmin Edilen Değerler (Actual vs Fitted)", fontsize=14) ax.set_ylabel("Değer", fontsize=12) ax.legend(["Gerçek Değer", "Tahmin"], loc="upper left")
# plot Testing and Forecasted data plt.plot(test_df, label='Actual') plt.plot(fc_series, label='Forecast', color='red') plt.legend(loc='upper left', fontsize=8) plt.show()
error = mean_squared_error(test_df, fc_series) print('Test Mean Squared Error: ',error)
df_result = pd.DataFrame({ "Actual": test_df["PRECTOTCORR"], # test_df'deki hedef sütunu yaz "Forecast": fc_series }) df_result.head(100) [/code] [b] Это ссылка на код Github, где я получаю и корректирую свою потребность: [/b] https://github.com/niwedita17/weather-forecasting-using-arima shate shots: press> press> press> press> press> press> press> press> press> press> press> psliou alt = "Введите описание изображения здесь" src = "https://i.sstatic.net/vhzwhath.png"/>
Я пишу PHP в своем специальном плагине WordPress, который используется для галереи изображений.
Я был озадачен этим странным поведением в течение последних двух часов. Я понятия не имею, откуда это взялось, и отладка ни к чему меня не привела....
Может ли кто -нибудь дать несколько указателей о том, как включить осадки и повреждение штормовых наголов от опасности урагана? Похоже, что большинство учебников связаны только с повреждением ветра.