@@ -32,6 +32,22 @@ def test_quantile_regression_no_intercept(self):
3232 self .assertEqual (clq .intercept_ , 0 )
3333 self .assertEqualArray (clr .intercept_ , clq .intercept_ )
3434
35+ def test_quantile_regression_no_intercept_positive (self ):
36+ X = numpy .array ([[0.1 , 0.2 ], [0.2 , 0.3 ]])
37+ Y = numpy .array ([1. , 1.1 ])
38+ clr = LinearRegression (fit_intercept = False , positive = True )
39+ clr .fit (X , Y )
40+ clq = QuantileLinearRegression (fit_intercept = False , positive = True )
41+ clq .fit (X , Y )
42+ self .assertEqual (clr .intercept_ , 0 )
43+ self .assertEqual (clq .intercept_ , 0 )
44+ self .assertGreater (clr .coef_ .min (), 0 )
45+ self .assertGreater (clq .coef_ .min (), 0 )
46+ self .assertEqualArray (clr .intercept_ , clq .intercept_ )
47+ self .assertEqualArray (clr .coef_ [0 ], clq .coef_ [0 ])
48+ self .assertGreater (clr .coef_ [1 :].min (), 3 )
49+ self .assertGreater (clq .coef_ [1 :].min (), 3 )
50+
3551 def test_quantile_regression_intercept (self ):
3652 X = numpy .array ([[0.1 , 0.2 ], [0.2 , 0.3 ], [0.3 , 0.3 ]])
3753 Y = numpy .array ([1. , 1.1 , 1.2 ])
@@ -44,6 +60,21 @@ def test_quantile_regression_intercept(self):
4460 self .assertEqualArray (clr .intercept_ , clq .intercept_ )
4561 self .assertEqualArray (clr .coef_ , clq .coef_ )
4662
63+ def test_quantile_regression_intercept_positive (self ):
64+ X = numpy .array ([[0.1 , 0.2 ], [0.2 , 0.3 ], [0.3 , 0.3 ]])
65+ Y = numpy .array ([1. , 1.1 , 1.2 ])
66+ clr = LinearRegression (fit_intercept = True , positive = True )
67+ clr .fit (X , Y )
68+ clq = QuantileLinearRegression (
69+ verbose = False , fit_intercept = True , positive = True )
70+ clq .fit (X , Y )
71+ self .assertNotEqual (clr .intercept_ , 0 )
72+ self .assertNotEqual (clq .intercept_ , 0 )
73+ self .assertEqualArray (clr .intercept_ , clq .intercept_ )
74+ self .assertEqualArray (clr .coef_ , clq .coef_ )
75+ self .assertGreater (clr .coef_ .min (), 0 )
76+ self .assertGreater (clq .coef_ .min (), 0 )
77+
4778 def test_quantile_regression_intercept_weights (self ):
4879 X = numpy .array ([[0.1 , 0.2 ], [0.2 , 0.3 ], [0.3 , 0.3 ]])
4980 Y = numpy .array ([1. , 1.1 , 1.2 ])
0 commit comments