Closed byersiiasa closed 4 years ago
I think you are confusing the multiplier with the tolerance levels, which can be passed to the np.isclose()
(ie. atol
, rtol
). The multiplier says that the value of variable
should be close to multiplier
times value of components
- and 100 is neither 5x100 nor 5x80 in the second example, so correctly fails with standard tolerance. In the third example, the multiplier is just below the standard tolerance, hence the function considers the value and components equal.
yeah - now I see what you mean, thanks!
I thought that multiplier
is used to set the tolerance. 1000, because I think previous version had a tolerance argument than I then thought was replaced by multiplier.
Not sure if multiplier argument is not working - or I am using it wrong.
Data for 2010 is perfect aggregate (100), whilst for 2015 aggregate value is 100 whilst the components make 80.
check_aggregate()
does seem to be working whenmultiplier=1
... e.g.Now test this using multiplier argument, we get two rows falsely identified as failures - but they both should have passed as we set a very high threshold multiplier.
But it does work in this case. The exact aggregate is fine (2010), but the wrong aggregate (2015) is picked up correctly...
data_agg_test.xlsx