# PriceAnomalyTracker
PriceAnomalyTracker é uma biblioteca Python para detecção de anomalias em séries de dados. Utilizando métodos de aprendizado não supervisionado, ela aplica técnicas de clusterização (como K-Means e DBSCAN) e testes de normalidade (como o Teste de Shapiro) para identificar anomalias em uma ampla variedade de dados.
PriceAnomalyTracker pode ser aplicado em várias áreas, incluindo finanças, detecção de fraudes, monitoramento de sensores, análise de preços de produtos e muito mais.
PriceAnomalyTracker é especialmente útil quando você precisa detectar anomalias em dados de um mesmo grupo. Por exemplo, pode ser usado para identificar preços anômalos na venda de um modelo específico de carro, onde os preços devem estar próximos e seguir uma tendência semelhante. A biblioteca é versátil o suficiente para ser aplicada em várias situações em que você deseja encontrar discrepâncias em dados que compartilham características comuns.
## Instalação e Utilização
From PyPI:
```
pip install PriceAnomalyTracker
```
```
# Exemplo de uso para detectar anomalias em preços de um determinado produto
import PriceAnomalyTracker as PAT
data = [4250.2, 6665.5, 6665.6, 6665.56, 6135.12, 6665.6, 6672.2, 7221.1, 7221.1, 7799.0, 7852.9]
results = PAT.PriceAnomalyTracker(data)
for item in results:
value, is_anomaly = item
if is_anomaly:
print(f"Anomalia detectada: {value}")
else:
print(f"Valor normal: {value}")
```
From GitHub:
```
!git clone https://github.com/RobertoJuniorXYZ/PriceAnomalyTracker.git
```
```
# Exemplo de uso para detectar anomalias em preços de um determinado produto
import sys
sys.path.append('PriceAnomalyTracker')
from PriceAnomalyTracker import PriceAnomalyTracker as PAT
data = [4250.2, 6665.5, 6665.6, 6665.56, 6135.12, 6665.6, 6672.2, 7221.1, 7221.1, 7799.0, 7852.9]
results = PAT.PriceAnomalyTracker(data)
for item in results:
value, is_anomaly = item
if is_anomaly:
print(f"Anomalia detectada: {value}")
else:
print(f"Valor normal: {value}")
```
## Parâmetros
#### data (Obrigatório):
Uma lista contendo os valores a serem analisados.
#### threshold_shapiro (Opcional):
O valor de significância para o teste de normalidade de Shapiro (padrão é 0.05).
#### init_clusters (Opcional):
Número máximo de clusters a serem testados no método K-Means (padrão é 10).
#### min_samples (Opcional):
Número mínimo de amostras para formar um cluster no DBSCAN (padrão é 2).
#### min_lenght (Opcional):
Comprimento mínimo dos dados para definir min_samples como metade desse valor (padrão é 5).
#### sense (Opcional):
Um fator para ajustar o limiar de anomalia (padrão é 1).
## Contribuição
Se você encontrar algum problema ou quiser contribuir para melhorar o PriceAnomalyTracker, sinta-se à vontade para criar um problema no repositório ou enviar um pedido de pull.
## Licença
The MIT License (MIT)
Copyright (c) 2023 Roberto Junior
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Raw data
{
"_id": null,
"home_page": "https://github.com/RobertoJuniorXYZ/PriceAnomalyTracker",
"name": "PriceAnomalyTracker",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "price anomaly tracker",
"author": "Roberto Junior",
"author_email": "robertocarlosifrj@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/4f/0f/83f5949857837437a296331a54f74a0ee4a93c0e69b62907f708f537f953/PriceAnomalyTracker-1.1.3.tar.gz",
"platform": null,
"description": "# PriceAnomalyTracker\n\nPriceAnomalyTracker \u00e9 uma biblioteca Python para detec\u00e7\u00e3o de anomalias em s\u00e9ries de dados. Utilizando m\u00e9todos de aprendizado n\u00e3o supervisionado, ela aplica t\u00e9cnicas de clusteriza\u00e7\u00e3o (como K-Means e DBSCAN) e testes de normalidade (como o Teste de Shapiro) para identificar anomalias em uma ampla variedade de dados.\n\nPriceAnomalyTracker pode ser aplicado em v\u00e1rias \u00e1reas, incluindo finan\u00e7as, detec\u00e7\u00e3o de fraudes, monitoramento de sensores, an\u00e1lise de pre\u00e7os de produtos e muito mais.\n\nPriceAnomalyTracker \u00e9 especialmente \u00fatil quando voc\u00ea precisa detectar anomalias em dados de um mesmo grupo. Por exemplo, pode ser usado para identificar pre\u00e7os an\u00f4malos na venda de um modelo espec\u00edfico de carro, onde os pre\u00e7os devem estar pr\u00f3ximos e seguir uma tend\u00eancia semelhante. A biblioteca \u00e9 vers\u00e1til o suficiente para ser aplicada em v\u00e1rias situa\u00e7\u00f5es em que voc\u00ea deseja encontrar discrep\u00e2ncias em dados que compartilham caracter\u00edsticas comuns.\n\n\n## Instala\u00e7\u00e3o e Utiliza\u00e7\u00e3o\n\nFrom PyPI:\n\n```\npip install PriceAnomalyTracker\n```\n\n```\n# Exemplo de uso para detectar anomalias em pre\u00e7os de um determinado produto\n\nimport PriceAnomalyTracker as PAT\n\ndata = [4250.2, 6665.5, 6665.6, 6665.56, 6135.12, 6665.6, 6672.2, 7221.1, 7221.1, 7799.0, 7852.9]\n\nresults = PAT.PriceAnomalyTracker(data)\n\nfor item in results:\n value, is_anomaly = item\n if is_anomaly:\n print(f\"Anomalia detectada: {value}\")\n else:\n print(f\"Valor normal: {value}\")\n```\n\nFrom GitHub:\n\n```\n!git clone https://github.com/RobertoJuniorXYZ/PriceAnomalyTracker.git\n```\n\n```\n# Exemplo de uso para detectar anomalias em pre\u00e7os de um determinado produto\n\nimport sys\nsys.path.append('PriceAnomalyTracker')\n\nfrom PriceAnomalyTracker import PriceAnomalyTracker as PAT\n\ndata = [4250.2, 6665.5, 6665.6, 6665.56, 6135.12, 6665.6, 6672.2, 7221.1, 7221.1, 7799.0, 7852.9]\n\nresults = PAT.PriceAnomalyTracker(data)\n\nfor item in results:\n value, is_anomaly = item\n if is_anomaly:\n print(f\"Anomalia detectada: {value}\")\n else:\n print(f\"Valor normal: {value}\")\n```\n\n## Par\u00e2metros\n#### data (Obrigat\u00f3rio):\nUma lista contendo os valores a serem analisados.\n#### threshold_shapiro (Opcional):\nO valor de signific\u00e2ncia para o teste de normalidade de Shapiro (padr\u00e3o \u00e9 0.05).\n#### init_clusters (Opcional):\nN\u00famero m\u00e1ximo de clusters a serem testados no m\u00e9todo K-Means (padr\u00e3o \u00e9 10).\n#### min_samples (Opcional):\nN\u00famero m\u00ednimo de amostras para formar um cluster no DBSCAN (padr\u00e3o \u00e9 2).\n#### min_lenght (Opcional):\nComprimento m\u00ednimo dos dados para definir min_samples como metade desse valor (padr\u00e3o \u00e9 5).\n#### sense (Opcional):\nUm fator para ajustar o limiar de anomalia (padr\u00e3o \u00e9 1).\n\n\n## Contribui\u00e7\u00e3o\nSe voc\u00ea encontrar algum problema ou quiser contribuir para melhorar o PriceAnomalyTracker, sinta-se \u00e0 vontade para criar um problema no reposit\u00f3rio ou enviar um pedido de pull.\n\n## Licen\u00e7a\nThe MIT License (MIT)\n\nCopyright (c) 2023 Roberto Junior\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "PriceAnomalyTracker is a Python library for detecting anomalies in time series data. Using unsupervised learning methods, it applies clustering techniques (such as K-Means and DBSCAN) and normality tests (such as the Shapiro Test) to identify anomalies in a wide range of data.",
"version": "1.1.3",
"project_urls": {
"Documentation": "https://github.com/RobertoJuniorXYZ/PriceAnomalyTracker/wiki",
"Homepage": "https://github.com/RobertoJuniorXYZ/PriceAnomalyTracker",
"PyPI": "https://pypi.org/project/PriceAnomalyTracker/",
"Source": "https://github.com/RobertoJuniorXYZ/PriceAnomalyTracker/"
},
"split_keywords": [
"price",
"anomaly",
"tracker"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0a991dc2761ad52207955d36b7ba40aab6576313345dac72c1fb6caa47d56f9f",
"md5": "b8dcbedb8a6195077711e003b7263b5e",
"sha256": "96e3725406cb77e2abde4216d5d31d2420cb6487788de9773e22f77ceb32d452"
},
"downloads": -1,
"filename": "PriceAnomalyTracker-1.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b8dcbedb8a6195077711e003b7263b5e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5608,
"upload_time": "2023-11-06T02:21:27",
"upload_time_iso_8601": "2023-11-06T02:21:27.306334Z",
"url": "https://files.pythonhosted.org/packages/0a/99/1dc2761ad52207955d36b7ba40aab6576313345dac72c1fb6caa47d56f9f/PriceAnomalyTracker-1.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f0f83f5949857837437a296331a54f74a0ee4a93c0e69b62907f708f537f953",
"md5": "a4618e36c6809b7c46de25b37ead6084",
"sha256": "26daf4bb60488588822f7ed8542d509858723c1f1d684950bedcc25456ca6fd2"
},
"downloads": -1,
"filename": "PriceAnomalyTracker-1.1.3.tar.gz",
"has_sig": false,
"md5_digest": "a4618e36c6809b7c46de25b37ead6084",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4662,
"upload_time": "2023-11-06T02:21:28",
"upload_time_iso_8601": "2023-11-06T02:21:28.616551Z",
"url": "https://files.pythonhosted.org/packages/4f/0f/83f5949857837437a296331a54f74a0ee4a93c0e69b62907f708f537f953/PriceAnomalyTracker-1.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-06 02:21:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RobertoJuniorXYZ",
"github_project": "PriceAnomalyTracker",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "priceanomalytracker"
}