Training LSTM-Enc-Dec on Missing ouliers (100%) throws RuntimeError
maxifischer opened this issue · comments
2018-06-13 06:56:46 [ERROR] root: Couldn't take the inverse of cov. Maybe singular?
2018-06-13 06:56:46 [ERROR] src.evaluation.evaluator: An exception occured while training LSTM-Enc-Dec on Syn Extreme Outliers (mis=1.0): Lapack Error getrf : U(5,5) is 0, U is singular at /pytorch/aten/src/TH/generic/THTensorLapack.c:514
2018-06-13 06:56:46 [ERROR] src.evaluation.evaluator: Traceback (most recent call last):
File "../third_party/lstm_enc_dec/anomalyDetector.py", line 84, in anomalyScore
mult2 = torch.inverse(cov) # [ prediction_window_size * prediction_window_size ]
RuntimeError: Lapack Error getrf : U(2,2) is 0, U is singular at /pytorch/aten/src/TH/generic/THTensorLapack.c:514
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "../src/evaluation/evaluator.py", line 68, in evaluate
score = det.predict(X_test)
File "../src/algorithms/lstm_enc_dec.py", line 109, in predict
channels_scores = self.predict_channel_scores(X_test)
File "../src/algorithms/lstm_enc_dec.py", line 105, in predict_channel_scores
channels_scores, _ = self._predict(test_timeseries_dataset)
File "../src/algorithms/lstm_enc_dec.py", line 215, in _predict
self.data, self.filename)
File "../third_party/lstm_enc_dec/anomaly_detection.py", line 88, in calc_anomalies
score_predictor=score_predictor, channel_idx=channel_idx,
File "../third_party/lstm_enc_dec/anomalyDetector.py", line 91, in anomalyScore
mult2 = torch.inverse(cov) # [ prediction_window_size * prediction_window_size ]
RuntimeError: Lapack Error getrf : U(5,5) is 0, U is singular at /pytorch/aten/src/TH/generic/THTensorLapack.c:514
As i suggested in another issue we should not use 100% missing data. The covariance matrix only contains the same values which makes it a singular matrix. You cant take the inverse of a singular matrix so i would just conclude that this algorithm cant handle this specific case.
The dataset is not relevant, I agree with Thomas here