{ "info": { "author": "Nick Touran", "author_email": "ace@partofthething.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": "The ace Package\n===============\n\n.. image:: https://travis-ci.org/partofthething/ace.svg?branch=develop\n :target: https://travis-ci.org/partofthething/ace\n\nace is an implementation of the Alternating Conditional Expectation (ACE) algorithm [Breiman85]_,\nwhich can be used to find otherwise difficult-to-find relationships between predictors\nand responses and as a multivariate regression tool.\n\nThe code for this project, as well as the issue tracker, etc. is\n`hosted on GitHub `_.\nThe documentation is hosted at http://partofthething.com/ace.\n\nWhat is it?\n-----------\nACE can be used for a variety of purposes. With it, you can:\n\n - build easy-to-evaluate surrogate models of data. For example, if you are optimizing input\n parameters to a complex and long-running simulation, you can feed the results of a parameter\n sweep into ACE to get a model that will instantly give you predictions of results of any\n combination of input within the parameter range.\n\n - expose interesting and meaningful relations between predictors and responses from complicated\n data sets. For instance, if you have survey results from 1000 people and you and you want to\n see how one answer is related to a bunch of others, ACE will help you.\n\nThe fascinating thing about ACE is that it is a *non-parametric* multivariate regression\ntool. This means that it doesn't make any assumptions about the functional form of the data.\nYou may be used to fitting polynomials or lines to data. Well, ACE doesn't do that. It\nuses an iteration with a variable-span scatterplot smoother (implementing local least\nsquares estimates) to figure out the structure of your data. As you'll see, that\nturns out to be a powerful difference.\n\nInstalling it\n-------------\nace is available in the `Python Package Index `_,\nand can be installed simply with the following.\n\nOn Linux::\n\n\tsudo pip install ace\n\nOn Windows, use::\n\n\tpip install ace\n\nDirectly from source::\n\n\tgit clone git@github.com:partofthething/ace.git\n\tcd ace\n\tpython setup.py install\n\n.. note::\n\n\tIf you don't have git, you can just download the source directly from\n\t`here `_.\n\nYou can verify that the installation completed successfully by running the automated test\nsuite in the install directory::\n\n\tpython -m unittest discover -bv\n\nUsing it\n--------\nTo use, get some sample data:\n\n.. code:: python\n\n from ace.samples import wang04\n x, y = wang04.build_sample_ace_problem_wang04(N=200)\n\nand run:\n\n.. code:: python\n\n from ace import model\n myace = model.Model()\n myace.build_model_from_xy(x, y)\n myace.eval([0.1, 0.2, 0.5, 0.3, 0.5])\n\nFor some plotting (matplotlib required), try:\n\n.. code:: python\n\n from ace import ace\n ace.plot_transforms(myace.ace, fname = 'mytransforms.pdf')\n myace.ace.write_transforms_to_file(fname = 'mytransforms.txt')\n\nNote that you could alternatively have loaded your data from a whitespace delimited\ntext file:\n\n.. code:: python\n\n\tmyace.build_model_from_txt(fname = 'myinput.txt')\n\n.. warning:: The more data points ACE is given as input, the better the results will be.\n\t\t\t Be careful with less than 50 data points or so.\n\nDemo\n----\nA clear demonstration of ace is available in the\n`Sample ACE Problems `_ section.\n\nOther details\n-------------\nThis implementation of ACE isn't as fast as the original FORTRAN version, but it can\nstill crunch through a problem with 5 independent variables having 1000 observations each\nin on the order of 15 seconds. Not bad.\n\nace also contains a pure-Python implementation of Friedman's SuperSmoother [Friedman82]_,\nthe variable-span smoother mentioned above. This can be useful on its own\nfor smoothing scatterplot data.\n\nHistory\n-------\nThe ACE algorithm was published in 1985 by Breiman and Friedman [Breiman85]_, and the original\nFORTRAN source code is available from `Friedman's webpage `_.\n\nMotivation\n----------\nBefore this package, the ACE algorithm has only been available in Python by using the rpy2 module\nto load in the acepack package of the R statistical language. This package is a pure-Python\nre-write of the ACE algorithm based on the original publication, using modern software practices.\nThis package is slower than the original FORTRAN code, but it is easier to understand. This package\nshould be suitable for medium-weight data and as a learning tool.\n\nFor the record, it is also quite easy to run the original FORTRAN code in Python using f2py.\n\nAbout the Author\n----------------\nThis package was originated by Nick Touran, a nuclear engineer specializing in reactor physics.\nHe was exposed to ACE by his thesis advisor, Professor John Lee, and used it in his\nPh.D. dissertation to evaluate objective functions in a multidisciplinary\ndesign optimization study of nuclear reactor cores [Touran12]_.\n\nLicense\n-------\nThis package is released under the MIT License, `reproduced\nhere `_.\n\nReferences\n----------\n.. [Breiman85] L. BREIMAN and J. H. FRIEDMAN, \"Estimating optimal transformations for multiple regression and\n correlation,\" Journal of the American Statistical Association, 80, 580 (1985).\n `[Link1] `_\n\n.. [Friedman82] J. H. FRIEDMAN and W. STUETZLE, \"Smoothing of scatterplots,\" ORION-003, Stanford\n University, (1982). `[Link2] `_\n\n.. [Wang04] D. WANG and M. MURPHY, \"Estimating optimal transformations for multiple regression using the\n ACE algorithm,\" Journal of Data Science, 2, 329 (2004).\n `[Link3] `_\n\n.. [Touran12] N. TOURAN, \"A Modal Expansion Equilibrium Cycle Perturbation Method for\n Optimizing High Burnup Fast Reactors,\" Ph.D. dissertation, Univ. of Michigan, (2012).\n `[The Thesis] `_\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/partofthething/ace", "keywords": "regression ace multivariate statistics", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ace", "package_url": "https://pypi.org/project/ace/", "platform": "", "project_url": "https://pypi.org/project/ace/", "project_urls": { "Homepage": "https://github.com/partofthething/ace" }, "release_url": "https://pypi.org/project/ace/0.3.2/", "requires_dist": [ "numpy", "scipy" ], "requires_python": "", "summary": "Non-parametric multivariate regressions by Alternating Conditional Expectations", "version": "0.3.2" }, "last_serial": 5222283, "releases": { "0.1": [], "0.2": [ { "comment_text": "", "digests": { "md5": "6f3115d2c95c0b9f587292f865b30013", "sha256": "d3cbbb633fa5af06388e91c7faace980bb38a214ab4405e0a062a1204df12554" }, "downloads": -1, "filename": "ace-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "6f3115d2c95c0b9f587292f865b30013", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 23389, "upload_time": "2014-11-02T03:36:31", "url": "https://files.pythonhosted.org/packages/4b/9f/da407ba460e8eef4ffd0de1cefc1a7a2f9cce53abc4f5c9237805292c39e/ace-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b6e4dea4d08453b988f13dc317e57c3", "sha256": "8624b6700feae7c95d291a6c63ea0a122ea82642bc4dec803c05e21dbe94645e" }, "downloads": -1, "filename": "ace-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5b6e4dea4d08453b988f13dc317e57c3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23406, "upload_time": "2014-11-02T03:36:33", "url": "https://files.pythonhosted.org/packages/c3/f0/0502adf15c44047c2cca38ceb45c6500005baa25b6f72a86c340ed84263b/ace-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de8ca95c9411b3aea103c99ab38ec2a0", "sha256": "43dfcdf0a1eacbd7ce6f938a395b3ca04169a295ec73e4baf02599eb6d91fac2" }, "downloads": -1, "filename": "ace-0.2.tar.gz", "has_sig": false, "md5_digest": "de8ca95c9411b3aea103c99ab38ec2a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15251, "upload_time": "2014-11-02T03:36:36", "url": "https://files.pythonhosted.org/packages/07/c1/d11e7c6068cca9bbd09fb7c8f72dcb5c24af4d8acd62369cec51546eba43/ace-0.2.tar.gz" } ], "0.3": [], "0.3.2": [ { "comment_text": "", "digests": { "md5": "2fcc6b04e58687367619041ff0834fbb", "sha256": "951b202f7fb88f14465b750ce765a7c03e28666649b0ded65b101b08358f0e52" }, "downloads": -1, "filename": "ace-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "2fcc6b04e58687367619041ff0834fbb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 24001, "upload_time": "2019-05-03T14:55:46", "url": "https://files.pythonhosted.org/packages/8e/3d/1e241fef1d75b44255746a65360911212dc9b3021dd7a2d4e4680db5e74d/ace-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fffa51fd3761e7c56e9c0e1ad254434", "sha256": "92abc9e8fa87b7a07dfa5858b0382ee6f210965964e44718a36f71ddef7d9cd6" }, "downloads": -1, "filename": "ace-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1fffa51fd3761e7c56e9c0e1ad254434", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24015, "upload_time": "2019-05-03T14:55:48", "url": "https://files.pythonhosted.org/packages/03/3a/d30f9d5f887c47f010bd2097bd7b59caac3d742f1c7cda54c48503c08972/ace-0.3.2-py3-none-any.whl" } ], "0.3.post1": [ { "comment_text": "", "digests": { "md5": "6413762b96f7bf5906b9543d0f70544c", "sha256": "99846bb6fb8ddf1f98806dfda3417302e95af5ba5cb8460d88ed582e1f3fd0af" }, "downloads": -1, "filename": "ace-0.3.post1-py2-none-any.whl", "has_sig": false, "md5_digest": "6413762b96f7bf5906b9543d0f70544c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 72787, "upload_time": "2016-02-15T20:44:50", "url": "https://files.pythonhosted.org/packages/d9/fe/da264c995684aa8848fa8181fdbfce66bcf7abba34bb8e0711a9c748a638/ace-0.3.post1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9c3eb97bfa9cb3b7a8c3532215d0904", "sha256": "fd2e50f7507a8a94ede91bd1b91ae82768afba22038a98304fa139a10ada76b6" }, "downloads": -1, "filename": "ace-0.3.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "c9c3eb97bfa9cb3b7a8c3532215d0904", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 72832, "upload_time": "2016-02-15T20:44:56", "url": "https://files.pythonhosted.org/packages/7e/35/062eb894595695b50b99b1ff9dd90c2d0fbc5dc8bceda9f0d39ccf681aff/ace-0.3.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "749fe84d3911e5679011391a423bba67", "sha256": "9ff0c8f158c5a7f5dc1ccc32e16e5e6e9575ae6867e8f948ebb0c0ad0400eab1" }, "downloads": -1, "filename": "ace-0.3.post1.tar.gz", "has_sig": false, "md5_digest": "749fe84d3911e5679011391a423bba67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17201, "upload_time": "2016-02-15T20:45:04", "url": "https://files.pythonhosted.org/packages/ec/01/3dacd9c949c758b6d1c7f8af90e34278c1d0480b4106719062de1e44674d/ace-0.3.post1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2fcc6b04e58687367619041ff0834fbb", "sha256": "951b202f7fb88f14465b750ce765a7c03e28666649b0ded65b101b08358f0e52" }, "downloads": -1, "filename": "ace-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "2fcc6b04e58687367619041ff0834fbb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 24001, "upload_time": "2019-05-03T14:55:46", "url": "https://files.pythonhosted.org/packages/8e/3d/1e241fef1d75b44255746a65360911212dc9b3021dd7a2d4e4680db5e74d/ace-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fffa51fd3761e7c56e9c0e1ad254434", "sha256": "92abc9e8fa87b7a07dfa5858b0382ee6f210965964e44718a36f71ddef7d9cd6" }, "downloads": -1, "filename": "ace-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1fffa51fd3761e7c56e9c0e1ad254434", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24015, "upload_time": "2019-05-03T14:55:48", "url": "https://files.pythonhosted.org/packages/03/3a/d30f9d5f887c47f010bd2097bd7b59caac3d742f1c7cda54c48503c08972/ace-0.3.2-py3-none-any.whl" } ] }