示例#1
0
def test_xs_same_as_skl_rmse_weighted(a_1d, b_1d, weights_linear_time_1d):
    actual = rmse(a_1d, b_1d, "time", weights_linear_time_1d)
    expected = mean_squared_error(a_1d,
                                  b_1d,
                                  squared=False,
                                  sample_weight=weights_linear_time_1d)
    assert np.allclose(actual, expected)
示例#2
0
def test_rmse_r_xr_dask(a_dask, b_dask, dim):
    actual = rmse(a_dask, b_dask, dim)
    dim, axis = _preprocess(dim)
    _a_dask = a_dask.values
    _b_dask = b_dask.values
    axis = tuple(a_dask.dims.index(d) for d in dim)
    res = _rmse(_a_dask, _b_dask, axis)
    expected = actual.copy()
    expected.values = res
    assert_allclose(actual, expected)
示例#3
0
def test_rmse_r_xr(a, b, dim):
    actual = rmse(a, b, dim)
    dim, axis = _preprocess(dim)
    _a = a.values
    _b = b.values
    axis = tuple(a.dims.index(d) for d in dim)
    res = _rmse(_a, _b, axis)
    expected = actual.copy()
    expected.values = res
    assert_allclose(actual, expected)
示例#4
0
def test_rmse_r_xr(a, b, dim, weight, weights_ones, weights_latitude):
    # Generates subsetted weights to pass in as arg to main function and for the numpy testing.
    weights_arg, weights_np = adjust_weights(weight, dim, weights_ones,
                                             weights_latitude)

    actual = rmse(a, b, dim, weights=weights_arg)
    assert actual.chunks is None

    dim, axis = _preprocess_dims(dim)
    _a = a
    _b = b
    _weights_np = _preprocess_weights(_a, dim, dim, weights_np)
    axis = tuple(a.dims.index(d) for d in dim)
    res = _rmse(_a.values, _b.values, _weights_np.values, axis)
    expected = actual.copy()
    expected.values = res
    assert_allclose(actual, expected)
示例#5
0
def test_xs_same_as_skl_rmse(a_1d, b_1d, squared):
    actual = rmse(a_1d, b_1d, "time")
    expected = mean_squared_error(a_1d, b_1d, squared=squared)
    assert np.allclose(actual, expected)
示例#6
0
def test_rmse_same_as_sklearn(a, b):
    """Tests that root mean squared error is same as computed from sklearn."""
    xs_rmse = rmse(a, b, 'time')
    sklearn_rmse = np.sqrt(mean_squared_error(a, b))
    assert np.allclose(xs_rmse, sklearn_rmse)
示例#7
0
def test_rmse_accessor_dask(ds_dask):
    dim = 'lon'
    actual = rmse(ds_dask['a'], ds_dask['b'], dim).compute()
    expected = ds_dask.xs.rmse('a', 'b', dim).compute()
    assert_allclose(actual, expected)