def forward(self, tensor_x, tensor_y): if tensor_x.dim() < tensor_y.dim(): tensor_x = tensor_x.expand_as(tensor_y) residual = calc_residual3d(tensor_x, tensor_y, window=self._window_train, keep_first_nan=True) residual = residual.squeeze(-1).transpose(0, 1) return tsf.rolling_weighted_std(residual, window=self._window, halflife=self._halflife)
def forward(self, tensor): return tsf.rolling_weighted_std(tensor, window=self._window, halflife=self._halflife)