summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 06:47:23 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 06:47:23 +0000
commit235d71bbd363c1967944f4439d55afaba8e55326 (patch)
tree06d870f65f0845afcd1bec8aeefec4158122cf67
parent842f976acadbd823611dfe55e08221243724605c (diff)
automatic import of python-ankoopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-anko.spec318
-rw-r--r--sources1
3 files changed, 320 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..bb81763 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/anko-0.2.8.tar.gz
diff --git a/python-anko.spec b/python-anko.spec
new file mode 100644
index 0000000..9ff5b1a
--- /dev/null
+++ b/python-anko.spec
@@ -0,0 +1,318 @@
+%global _empty_manifest_terminate_build 0
+Name: python-anko
+Version: 0.2.8
+Release: 1
+Summary: Toolkit for performing anomaly detection algorithm on time series.
+License: MIT
+URL: https://github.com/tanlin2013/anko
+Source0: https://mirrors.aliyun.com/pypi/web/packages/67/e0/ee655313e2954e1865a8f1fe6d544d0912e7dc9fd838adcd681786fc3076/anko-0.2.8.tar.gz
+BuildArch: noarch
+
+
+%description
+![](docs/anko_logo.png)
+# anko
+Toolkit for performing anomaly detection algorithm on 1D time series based on numpy, scipy.
+
+Conventional approaches that based on statistical analysis have been implemented, with mainly two approaches included:
+1. Normal Distribution
+Data samples are presumably been generated by normal distribution, and therefore anomalous data points can be targeted by analysing the standard deviation.
+
+2. Fitting Ansatz
+Data samples are fitted by several ansatzs, and in accordance with the residual, anomalous data points can be selected.
+
+Regarding model selections, models are adopted dynamically by performing normal test and by computing the (Akaike/Bayesian) information criterion.
+By default, the algorithm will first try to fit in the data into normal distribution, if it passed [normal test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html).
+If this attempt suffers from the loss of convergence or it did not pass [normal test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html) from begining,
+then the algorithm will pass data into the second methods and try to execute all the available fitting ansatzs simultaneously.
+The best fitting ansatz will be selected by information criterion, and finally the algorithm will pick up anomalous points in accordance with the residual.
+[click here to see all available methods.](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.models)
+
+Future development will also include methods that are based on deep learning techniques, such as isolation forest, support vector machine, etc.
+
+## Requirements
+* python >= 3.6.0
+* numpy >= 1.16.4
+* scipy >= 1.2.1
+
+## Installation
+```
+pip install anko
+```
+For current release version please refer to [PyPI - anko homepage](https://pypi.org/project/anko/).
+
+## Documentation
+For details about anko API, see the [reference documentation](https://tanlin2013.github.io/anko/index.html).
+
+## Jupyter Notebook Tutorial (in dev)
+Run **anko_tutorial.ipynb** on your local Jupyter Notebook or host on [google colab](https://colab.research.google.com/github/tanlin2013/anko/blob/master/anko_tutorial.ipynb).
+
+## Basic Usage
+1. Call AnomalyDetector
+```
+from anko.anomaly_detector import AnomalyDetector
+agent = AnomalyDetector(t, series)
+```
+
+2. Define policies and threshold values (optional)
+```
+agent.thres_params["linregress_res"] = 1.5
+agent.apply_policies["z_normalization"] = True
+agent.apply_policies["info_criterion"] = 'AIC'
+```
+for the use of [**AnomalyDetector.thres_params**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.thres_params)
+and [**AnomalyDetector.apply_policies**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.apply_policies),
+please refer to the documentation.
+
+3. Run check
+```
+check_result = agent.check()
+```
+
+The type of output **check_result** is [**CheckResult**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.CheckResult), which is basically a dictionary that contains the following attributes:
+> model: 'increase_step_func'
+> popt: [220.3243250055105, 249.03846355234577, 74.00000107457113]
+> perr: [0.4247789247961187, 0.7166253174634686, 0.0]
+> anomalous_data: [(59, 209)]
+> residual: [10.050378152592119]
+> extra_info: ['Info: AnomalyDetector is using z normalization.', 'Info: There are more than 1 discontinuous points detected.']
+
+* model (str): The best fit model been selected by algorithm.
+* popt (list): Estimated fitting parameters.
+* perr (list): Corresponding errors of popt.
+* anomalous_data (list\[tuple(float, float)\]): Return a list of anomalous data points (t, series(t)), or an empty list if all data points are in order.
+* residual (list): Residual of anomalous data.
+* extra_info (list): All convergence errors, warnings, informations during the execution are stored here.
+
+
+## Run Test
+```
+python -m unittest discover -s test -p '*_test.py'
+```
+or simply
+```
+make test
+```
+
+%package -n python3-anko
+Summary: Toolkit for performing anomaly detection algorithm on time series.
+Provides: python-anko
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-anko
+![](docs/anko_logo.png)
+# anko
+Toolkit for performing anomaly detection algorithm on 1D time series based on numpy, scipy.
+
+Conventional approaches that based on statistical analysis have been implemented, with mainly two approaches included:
+1. Normal Distribution
+Data samples are presumably been generated by normal distribution, and therefore anomalous data points can be targeted by analysing the standard deviation.
+
+2. Fitting Ansatz
+Data samples are fitted by several ansatzs, and in accordance with the residual, anomalous data points can be selected.
+
+Regarding model selections, models are adopted dynamically by performing normal test and by computing the (Akaike/Bayesian) information criterion.
+By default, the algorithm will first try to fit in the data into normal distribution, if it passed [normal test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html).
+If this attempt suffers from the loss of convergence or it did not pass [normal test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html) from begining,
+then the algorithm will pass data into the second methods and try to execute all the available fitting ansatzs simultaneously.
+The best fitting ansatz will be selected by information criterion, and finally the algorithm will pick up anomalous points in accordance with the residual.
+[click here to see all available methods.](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.models)
+
+Future development will also include methods that are based on deep learning techniques, such as isolation forest, support vector machine, etc.
+
+## Requirements
+* python >= 3.6.0
+* numpy >= 1.16.4
+* scipy >= 1.2.1
+
+## Installation
+```
+pip install anko
+```
+For current release version please refer to [PyPI - anko homepage](https://pypi.org/project/anko/).
+
+## Documentation
+For details about anko API, see the [reference documentation](https://tanlin2013.github.io/anko/index.html).
+
+## Jupyter Notebook Tutorial (in dev)
+Run **anko_tutorial.ipynb** on your local Jupyter Notebook or host on [google colab](https://colab.research.google.com/github/tanlin2013/anko/blob/master/anko_tutorial.ipynb).
+
+## Basic Usage
+1. Call AnomalyDetector
+```
+from anko.anomaly_detector import AnomalyDetector
+agent = AnomalyDetector(t, series)
+```
+
+2. Define policies and threshold values (optional)
+```
+agent.thres_params["linregress_res"] = 1.5
+agent.apply_policies["z_normalization"] = True
+agent.apply_policies["info_criterion"] = 'AIC'
+```
+for the use of [**AnomalyDetector.thres_params**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.thres_params)
+and [**AnomalyDetector.apply_policies**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.apply_policies),
+please refer to the documentation.
+
+3. Run check
+```
+check_result = agent.check()
+```
+
+The type of output **check_result** is [**CheckResult**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.CheckResult), which is basically a dictionary that contains the following attributes:
+> model: 'increase_step_func'
+> popt: [220.3243250055105, 249.03846355234577, 74.00000107457113]
+> perr: [0.4247789247961187, 0.7166253174634686, 0.0]
+> anomalous_data: [(59, 209)]
+> residual: [10.050378152592119]
+> extra_info: ['Info: AnomalyDetector is using z normalization.', 'Info: There are more than 1 discontinuous points detected.']
+
+* model (str): The best fit model been selected by algorithm.
+* popt (list): Estimated fitting parameters.
+* perr (list): Corresponding errors of popt.
+* anomalous_data (list\[tuple(float, float)\]): Return a list of anomalous data points (t, series(t)), or an empty list if all data points are in order.
+* residual (list): Residual of anomalous data.
+* extra_info (list): All convergence errors, warnings, informations during the execution are stored here.
+
+
+## Run Test
+```
+python -m unittest discover -s test -p '*_test.py'
+```
+or simply
+```
+make test
+```
+
+%package help
+Summary: Development documents and examples for anko
+Provides: python3-anko-doc
+%description help
+![](docs/anko_logo.png)
+# anko
+Toolkit for performing anomaly detection algorithm on 1D time series based on numpy, scipy.
+
+Conventional approaches that based on statistical analysis have been implemented, with mainly two approaches included:
+1. Normal Distribution
+Data samples are presumably been generated by normal distribution, and therefore anomalous data points can be targeted by analysing the standard deviation.
+
+2. Fitting Ansatz
+Data samples are fitted by several ansatzs, and in accordance with the residual, anomalous data points can be selected.
+
+Regarding model selections, models are adopted dynamically by performing normal test and by computing the (Akaike/Bayesian) information criterion.
+By default, the algorithm will first try to fit in the data into normal distribution, if it passed [normal test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html).
+If this attempt suffers from the loss of convergence or it did not pass [normal test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html) from begining,
+then the algorithm will pass data into the second methods and try to execute all the available fitting ansatzs simultaneously.
+The best fitting ansatz will be selected by information criterion, and finally the algorithm will pick up anomalous points in accordance with the residual.
+[click here to see all available methods.](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.models)
+
+Future development will also include methods that are based on deep learning techniques, such as isolation forest, support vector machine, etc.
+
+## Requirements
+* python >= 3.6.0
+* numpy >= 1.16.4
+* scipy >= 1.2.1
+
+## Installation
+```
+pip install anko
+```
+For current release version please refer to [PyPI - anko homepage](https://pypi.org/project/anko/).
+
+## Documentation
+For details about anko API, see the [reference documentation](https://tanlin2013.github.io/anko/index.html).
+
+## Jupyter Notebook Tutorial (in dev)
+Run **anko_tutorial.ipynb** on your local Jupyter Notebook or host on [google colab](https://colab.research.google.com/github/tanlin2013/anko/blob/master/anko_tutorial.ipynb).
+
+## Basic Usage
+1. Call AnomalyDetector
+```
+from anko.anomaly_detector import AnomalyDetector
+agent = AnomalyDetector(t, series)
+```
+
+2. Define policies and threshold values (optional)
+```
+agent.thres_params["linregress_res"] = 1.5
+agent.apply_policies["z_normalization"] = True
+agent.apply_policies["info_criterion"] = 'AIC'
+```
+for the use of [**AnomalyDetector.thres_params**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.thres_params)
+and [**AnomalyDetector.apply_policies**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.AnomalyDetector.apply_policies),
+please refer to the documentation.
+
+3. Run check
+```
+check_result = agent.check()
+```
+
+The type of output **check_result** is [**CheckResult**](https://tanlin2013.github.io/anko/build/html/anko.html#anko.anomaly_detector.CheckResult), which is basically a dictionary that contains the following attributes:
+> model: 'increase_step_func'
+> popt: [220.3243250055105, 249.03846355234577, 74.00000107457113]
+> perr: [0.4247789247961187, 0.7166253174634686, 0.0]
+> anomalous_data: [(59, 209)]
+> residual: [10.050378152592119]
+> extra_info: ['Info: AnomalyDetector is using z normalization.', 'Info: There are more than 1 discontinuous points detected.']
+
+* model (str): The best fit model been selected by algorithm.
+* popt (list): Estimated fitting parameters.
+* perr (list): Corresponding errors of popt.
+* anomalous_data (list\[tuple(float, float)\]): Return a list of anomalous data points (t, series(t)), or an empty list if all data points are in order.
+* residual (list): Residual of anomalous data.
+* extra_info (list): All convergence errors, warnings, informations during the execution are stored here.
+
+
+## Run Test
+```
+python -m unittest discover -s test -p '*_test.py'
+```
+or simply
+```
+make test
+```
+
+%prep
+%autosetup -n anko-0.2.8
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-anko -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.8-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..965280c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+8cdd1fc83c922623b601bfcd6592a6df anko-0.2.8.tar.gz