{ "info": { "author": "Mike Martinez", "author_email": "brillozon@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "Information about repository and package maintenance actions can be found\non the `Wiki `_.\n\nInstall the package from PyPI using pip:\n\n bash> pip install pebaystats\n\npebaystats\n----------\n\nProvides a single pass generation of statistical moments. This package is based on the formulas described in the document\n`Formulas for Robust, One-Pass Parallel Computation of Covariances and Arbitrary-Order Statistical Moments, Phillipe P\u00e9bay, Sandia National Laboratories `_\n\nRead `\"The Full Manual\" `_ for a more detailed description of this package.\n\nThe current implementation of this package allows computation of\nstatistical moments for more than one data set (column) at a time.\nCurrently only the first four moments are computed and the general\npurpose algorithm from the source paper is not yet implemented.\n\n.. note::\n The aggregation of kurtosis values appears to suffer some loss of\n accuracy when compared with the SciPy generated values. This does\n not occur when accumulating simple data values, and the cause is not\n currently known. I suspect this is an arithmetic precision effect,\n but have not investigated.\n\nThis Python implementation evolved from my C++ code which includes the\nability to remove/disaggregate data from the accumulators as well. That\nfeature will eventually be migrated here.\n\n\nQuick Start\n===========\n\n.. code:: python\n\n from __future__ import print_function\n\nImport the aggregation object from the module.\n\n.. code:: python\n\n from pebaystats import dstats\n\nCreate a few objects with various depths (number of moments) and widths\n(number of columns to compute statistics for). Here the ``stats1`` and\n``stats3`` objects each accumulate two moments for a single column of\ndata, and the ``stats2`` object collects 4 statistical moments for 4\ncolumns of data.\n\n.. code:: python\n\n stats1 = dstats(2,1)\n stats2 = dstats(4,4)\n stats3 = dstats(2,1)\n\nAdd individual data values to the single column accumulation of the\n``stats1`` object. Print the object to view its state, which includes\nthe moment values so far accumulated. Also, print the list of lists\nreturned from the ``statistics()`` method call. Here you can see that\nthe mean is 2.0 and the variance is 0.0.\n\n.. code:: python\n\n stats1.add(2)\n stats1.add(2)\n stats1.add(2)\n print('stats1: %s' % stats1)\n print('statistics: %s' % stats1.statistics())\n\n\n.. parsed-literal::\n\n stats1: dstats: 2 moments, 1 columns, 3 rows\n [[ 2.]\n [ 0.]]\n statistics: [[ 2.]\n [ 0.]]\n\n\n--------------\n\nAdd entire rows (multiple columns) of values to the ``stats2`` object.\nView the accumulated results. Note that when the second moment\n(``n * Var``) is 0, equivalent to a deviation of 0, the higher moments\nare left in there initial 0 state. The higher statistics are set to a\n``NaN`` value in this case.\n\n.. code:: python\n\n stats2.add([1.2,2,3,9])\n stats2.add([4.5,6,7,9])\n stats2.add([8.9,0,1,9])\n stats2.add([2.3,4,5,9])\n print('stats2: %s' % stats2)\n print('statistics: %s' % stats2.statistics(True))\n\n\n.. parsed-literal::\n\n stats2: dstats: 4 moments, 4 columns, 4 rows\n [[ 4.22500000e+00 3.00000000e+00 4.00000000e+00 9.00000000e+00]\n [ 3.47875000e+01 2.00000000e+01 2.00000000e+01 0.00000000e+00]\n [ 6.73818750e+01 7.10542736e-15 7.10542736e-15 0.00000000e+00]\n [ 5.75139658e+02 1.64000000e+02 1.64000000e+02 0.00000000e+00]]\n statistics: [[ 4.22500000e+00 3.00000000e+00 4.00000000e+00 9.00000000e+00]\n [ 2.94904646e+00 2.23606798e+00 2.23606798e+00 0.00000000e+00]\n [ 6.56807734e-01 1.58882186e-16 1.58882186e-16 nan]\n [ -1.09897921e+00 -1.36000000e+00 -1.36000000e+00 nan]]\n\n\n--------------\n\nRemove data (*UNIMPLEMENTED*) from the ``stats2`` object.\n\n.. code:: python\n\n # stats2.remove(1.2,2,3,9)\n\n--------------\n\nLoad the ``stats3`` object with with data and view the results.\n\n.. code:: python\n\n stats3.add(4)\n stats3.add(4)\n stats3.add(4)\n print('stats3: %s' % stats3)\n print('statistics: %s' % stats3.statistics())\n\n\n.. parsed-literal::\n\n stats3: dstats: 2 moments, 1 columns, 3 rows\n [[ 4.]\n [ 0.]]\n statistics: [[ 4.]\n [ 0.]]\n\n\nNow aggregate that object onto the first. This only works when the\nshapes are the same.\n\n.. code:: python\n\n stats1.aggregate(stats3)\n print('stast1: %s' % stats1)\n print('statistics: %s' % stats1.statistics(True))\n\n\n.. parsed-literal::\n\n stast1: dstats: 2 moments, 1 columns, 6 rows\n [[ 3.]\n [ 6.]]\n statistics: [[ 3.]\n [ 1.]]\n\n\n\n\n\nHistory\n-------\n\n0.1 (2016-11-13)\n-------------------------------\n* First release on PyPI\n\n0.2 (2016-11-13)\n-------------------------------\n* Corrected some setup configuration issues\n\n0.3 (2016-11-14)\n-------------------------------\n* Added support and tests for serialization\n\n0.4 (2017-1-4)\n-------------------------------\n* Added repl() and str() support\n* Added exceptions for unsupported methods and unsupported moments\n* Handle divide by zero on a per column basis\n* Improved setup processing\n\n* Extended testing\n - started migrating to factored test dependencies\n - test columns with 0 variance\n - added SciPy for evaluating expected skew and kurtosis values\n - raise exceptions for unsupported moments\n\n* Extensive documentation updates\n - added Makefile to generate documentation and create README\n - removed optional files\n - changed to classic theme\n - extended content and examples", "description_content_type": null, "docs_url": "https://pythonhosted.org/pebaystats/", "download_url": "https://github.com/brillozon-code/pebaystats/archive/0.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/brillozon-code/pebaystats", "keywords": null, "license": "Apache License 2.0", "maintainer": null, "maintainer_email": null, "name": "pebaystats", "package_url": "https://pypi.org/project/pebaystats/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pebaystats/", "project_urls": { "Download": "https://github.com/brillozon-code/pebaystats/archive/0.1.tar.gz", "Homepage": "http://github.com/brillozon-code/pebaystats" }, "release_url": "https://pypi.org/project/pebaystats/0.4/", "requires_dist": null, "requires_python": null, "summary": "descriptive statistics using Pebay results", "version": "0.4" }, "last_serial": 2555071, "releases": { "0.1": [], "0.2": [ { "comment_text": "", "digests": { "md5": "7a38184d24d843d15a73df432aa69f92", "sha256": "74a8fca19b5200a4833d30bbb0fcf0294cb7a434753127925b321c206170b54c" }, "downloads": -1, "filename": "pebaystats-0.2.tar.gz", "has_sig": false, "md5_digest": "7a38184d24d843d15a73df432aa69f92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13907, "upload_time": "2016-11-14T04:31:46", "url": "https://files.pythonhosted.org/packages/fb/60/f67e7d73e5da71a6b24b7500390812eaeb01e4478c8047fe5dae5d274ea4/pebaystats-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "618e1aaf7424af8d65bf3b502494c2b8", "sha256": "846e97bcf5c99da180533c0bc7b2ef2d3403cce18be3302a880e50668004a85f" }, "downloads": -1, "filename": "pebaystats-0.3.tar.gz", "has_sig": false, "md5_digest": "618e1aaf7424af8d65bf3b502494c2b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14158, "upload_time": "2016-11-15T04:52:22", "url": "https://files.pythonhosted.org/packages/d8/8a/c7eb7318a3cff0cbb8ef9c3ca86da6b1e010f98023b95ff517e50dae3b40/pebaystats-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "42f8014ef7dc7733886f809c88cb74d4", "sha256": "965da3c7514f396d64a970499a1305b7380f60f0a0c78a7ca35e3b833ebd921b" }, "downloads": -1, "filename": "pebaystats-0.4.tar.gz", "has_sig": false, "md5_digest": "42f8014ef7dc7733886f809c88cb74d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18809, "upload_time": "2017-01-05T04:18:04", "url": "https://files.pythonhosted.org/packages/90/8d/7ce656032ebba382028333e1b3b1a8fb2ab7be452fde348c5a425209e271/pebaystats-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "42f8014ef7dc7733886f809c88cb74d4", "sha256": "965da3c7514f396d64a970499a1305b7380f60f0a0c78a7ca35e3b833ebd921b" }, "downloads": -1, "filename": "pebaystats-0.4.tar.gz", "has_sig": false, "md5_digest": "42f8014ef7dc7733886f809c88cb74d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18809, "upload_time": "2017-01-05T04:18:04", "url": "https://files.pythonhosted.org/packages/90/8d/7ce656032ebba382028333e1b3b1a8fb2ab7be452fde348c5a425209e271/pebaystats-0.4.tar.gz" } ] }