Я сейчас разрабатываю модель для прогнозирования временных рядов. Я читал, что метрики точности бесполезны для задач регрессии, потому что они сравнивают «истинное» и предсказание с плавающей точкой. Но если они не соответствуют последнему десятичному числу, оно не будет «точным». Теперь я пытаюсь достичь чего-то похожего. Я нормализовал данные, поэтому они колеблются в диапазоне от 0 до 1.
У меня есть пользовательская метрическая функция:
def soft_acc2 (y_true, y_pred): вернуть K.equal (y_true, y_pred))
Было бы неплохо, если бы прогноз составлял 0-5% по сравнению с реальным значением. Но я не знаю, как округлить значение (например, 0,6532), чтобы сравнить только 0,653 (прогноз) с 0,653 (реальное значение)
Определение модели
multi_step_model = tf.keras.models.Sequential()
multi_step_model.add(tf.keras.layers.LSTM(200, return_sequences=True, input_shape=x_train_multi.shape[-2:]))
multi_step_model.add(tf.keras.layers.Dropout(0.1))
multi_step_model.add(tf.keras.layers.LSTM(200, return_sequences=True, input_shape=x_train_multi.shape[-2:]))
multi_step_model.add(tf.keras.layers.Dropout(0.1))
multi_step_model.add(tf.keras.layers.LSTM(200, return_sequences=True, input_shape=x_train_multi.shape[-2:]))
multi_step_model.add(tf.keras.layers.Dropout(0.1))
multi_step_model.add(tf.keras.layers.LSTM(200, return_sequences=True, input_shape=x_train_multi.shape[-2:]))
multi_step_model.add(tf.keras.layers.Dropout(0.1))
multi_step_model.add(tf.keras.layers.LSTM(200, input_shape=x_train_multi.shape[-2:]))
multi_step_model.add(tf.keras.layers.Dropout(0.1))
multi_step_model.add(tf.keras.layers.Dense(5))
multi_step_model.add(tf.keras.layers.Activation('relu'))
Я думаю, что нужнобыть некоторые метрики для регрессии я мог бы использовать. Но без какой-либо точности мне сложно оценить модель.
Я читал о средней абсолютной процентной ошибке, но она ведет себя немного странно. эпоха начинается с 1-3 и копья до 50000 или даже выше. Проблема в том, что я не знаю, как интерпретировать.
Короче говоря: есть ли хорошие метрики для оценки модели, или я неправильно использую "mape"?
Полагаю, мне было бы полезно округлить предсказанное и реальное значение, чтобы сравнить их, чтобы получить пользовательскую точность.