Added time as input feature
This commit is contained in:
@@ -31,13 +31,14 @@ class DataConfig:
|
||||
|
||||
### TIME ###
|
||||
self.YEAR: bool = False
|
||||
self.DAY: bool = False
|
||||
self.DAY_OF_WEEK: bool = False
|
||||
self.QUARTER: bool = False
|
||||
|
||||
|
||||
class DataProcessor:
|
||||
def __init__(self, data_config: DataConfig):
|
||||
def __init__(self, data_config: DataConfig, path:str="./"):
|
||||
self.batch_size = 2048
|
||||
self.path = path
|
||||
|
||||
self.train_range = (
|
||||
-np.inf,
|
||||
@@ -62,6 +63,13 @@ class DataProcessor:
|
||||
self.wind_forecast, on="datetime", how="left"
|
||||
)
|
||||
|
||||
self.all_features["quarter"] = (
|
||||
self.all_features["datetime"].dt.hour * 4
|
||||
+ self.all_features["datetime"].dt.minute / 15
|
||||
)
|
||||
|
||||
self.all_features["day_of_week"] = self.all_features["datetime"].dt.dayofweek
|
||||
|
||||
self.output_size = 96
|
||||
|
||||
self.data_config = data_config
|
||||
@@ -103,7 +111,7 @@ class DataProcessor:
|
||||
)
|
||||
|
||||
def get_nrv_history(self):
|
||||
df = pd.read_csv(history_data_path, delimiter=";")
|
||||
df = pd.read_csv(self.path + history_data_path, delimiter=";")
|
||||
df = df[["datetime", "netregulationvolume"]]
|
||||
df = df.rename(columns={"netregulationvolume": "nrv"})
|
||||
df["datetime"] = pd.to_datetime(df["datetime"])
|
||||
@@ -114,7 +122,7 @@ class DataProcessor:
|
||||
return df
|
||||
|
||||
def get_load_forecast(self):
|
||||
df = pd.read_csv(forecast_data_path, delimiter=";")
|
||||
df = pd.read_csv(self.path + forecast_data_path, delimiter=";")
|
||||
df = df.rename(
|
||||
columns={
|
||||
"Day-ahead 6PM forecast": "load_forecast",
|
||||
@@ -129,7 +137,7 @@ class DataProcessor:
|
||||
return df
|
||||
|
||||
def get_pv_forecast(self):
|
||||
df = pd.read_csv(pv_forecast_data_path, delimiter=";")
|
||||
df = pd.read_csv(self.path + pv_forecast_data_path, delimiter=";")
|
||||
|
||||
df = df.rename(
|
||||
columns={"dayahead11hforecast": "pv_forecast", "Datetime": "datetime"}
|
||||
@@ -142,7 +150,7 @@ class DataProcessor:
|
||||
return df
|
||||
|
||||
def get_wind_forecast(self):
|
||||
df = pd.read_csv(wind_forecast_data_path, delimiter=";")
|
||||
df = pd.read_csv(self.path + wind_forecast_data_path, delimiter=";")
|
||||
|
||||
df = df.rename(
|
||||
columns={"dayaheadforecast": "wind_forecast", "datetime": "datetime"}
|
||||
@@ -267,3 +275,14 @@ class DataProcessor:
|
||||
)
|
||||
input, _, _ = next(iter(data_loader))
|
||||
return input.shape[-1]
|
||||
|
||||
def get_time_feature_size(self):
|
||||
time_feature_size = 1
|
||||
if self.data_config.QUARTER:
|
||||
time_feature_size *= 96
|
||||
if self.data_config.DAY_OF_WEEK:
|
||||
time_feature_size *= 7
|
||||
|
||||
if time_feature_size == 1:
|
||||
return 0
|
||||
return time_feature_size
|
||||
|
||||
Reference in New Issue
Block a user