To follow up on these comments, an enhancement proposal 
(https://github.com/numpy/numpy/pull/20889), which would enable 
numpy.polynomial.polynomial.polyfit to return the covariance matrix, appears to 
be moving forward. This is great news, and addresses item (1) of my previous 
message.

After thinking a bit more about item (2), is it too late to change the default 
setting to "[]" for the domain parameter in the convenience class `fit` 
methods? A user who is aware of the scaling and wants to preserve the rescaled 
domain information would still be able to do that. The rest of us could remain 
blissfully unaware of what is happening under the hood.

This option would also facilitate adding a covariance matrix output to these 
fit methods, which I would also recommend. The covariance matrix will also 
depend on the scaling, and I assume that most users would want to know its 
element values for the original scale.

Making these changes to the API would enable users to replace 
numpy.polynomial.polynomial.polyfit and numpy.polynomial.polynomial.polval (and 
their equivalents for other polynomial classes) with the more sophisticated 
object-oriented interface more readily. I like many of the features of the 
convenience classes, but the lack of parameter uncertainty output is a 
deal-breaker. The overhead of managing the rescaling up front is also a barrier 
for introductory data analysis applications.

Either way, as the example in my previous email demonstrates, the current 
behavior produces output that is unnecessarily confusing. Even if the API 
remains unchanged, the way polynomial instances are represented to the user 
needs improvement.
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to