[Numpy-discussion] Does np.std() make two passes through the data?
josef.pktd at gmail.com
josef.pktd at gmail.com
Mon Nov 22 13:12:14 EST 2010
On Mon, Nov 22, 2010 at 12:28 PM, Keith Goodman <kwgoodman at gmail.com> wrote:
> On Mon, Nov 22, 2010 at 9:13 AM, <josef.pktd at gmail.com> wrote:
>
>> Two pass would provide precision that we would expect in numpy, but I
>> don't know if anyone ever tested the NIST problems for basic
>> statistics.
>
> Here are the results for their most difficult dataset. But I guess
> running one test doesn't mean anything.
>
> http://www.itl.nist.gov/div898/strd/univ/addinfo/numacc4.html
>
>>> np.absolute(a.std(ddof=1) - 0.1)
> 5.5884095961911129e-10
>>> np.absolute(nanstd_online(a, ddof=1) - 0.1)
> 5.5890501948763216e-10
>>> np.absolute(nanstd_simple(a, ddof=1) - 0.1)
> nan # Ha!
>>> np.absolute(nanstd_twopass(a, ddof=1) - 0.1)
> 5.5879308125117433e-10
Thanks, e-10 is better than I expected for a tough test, but confirms
that I don't trust any statistics by more than 6 to 10 decimals or
digits.
Josef
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
More information about the NumPy-Discussion
mailing list