Skip to main content

Regressão Polinomial de Alta Precisão via Mínimos Quadrados com mpmath

Project description

MMQRegressor

Solução robusta para o Método dos Mínimos Quadrados em Python, projetada para ajustar polinômios de grau elevado (10+) sem divergência numérica. Utiliza aritmética de precisão arbitrária, correção automática para falta de dados e estabilização de matrizes mal-condicionadas.

🎯 O Problema

Bibliotecas padrão como NumPy utilizam aritmética de ponto flutuante (float64). Ao ajustar polinômios de grau alto (ex.: grau 10) ou trabalhar com valores muito grandes (ex.: 2000^10), ocorrem:

Overflow / Underflow

Perda catastrófica de precisão

Coeficientes sem sentido

RankWarning (matriz quase singular)

🚀 A Solução: MMQRegressor

O MMQRegressor resolve esses problemas substituindo floats por objetos de precisão arbitrária usando mpmath. Isso permite cálculos com 50, 100, 200+ casas decimais, garantindo estabilidade mesmo em matrizes de Vandermonde extremamente mal-condicionadas.

🔥 Principais Diferenciais

⚡ Precisão Infinita

Não depende de float64.

Você escolhe a precisão (ex.: 200 casas decimais).

🛡️ Blindagem Numérica (Data Augmentation)

Detecta automaticamente falta de dados (sistema indeterminado).

Gera micro-variações sintéticas (jittering) para permitir o cálculo sem distorcer a curva.

🔧 Regularização Ridge Automática

Aplica Tikhonov somente quando necessário (matriz singular).

📊 Normalização Interna

Normaliza dados via Z-score automaticamente:

𝑧

𝑥 − 𝜇 𝜎 z= σ x−μ ​

Melhora a estabilidade sem intervenção do usuário.

📦 Instalação

git clone https://github.com/dudusegovia/mmq-regressor.git cd mmq-regressor pip install -r requirements.txt

🛠️ Como Usar

A API segue o padrão Scikit-Learn (fit / predict).

Exemplo 1 — Teste de Estresse (Grau Alto)

from mmq_regressor import MMQRegressor

Dados que normalmente quebrariam o NumPy devido à magnitude (2015^10)

x = [2010, 2011, 2012, 2013, 2014, 2015] y = [10, 12, 15, 18, 22, 28]

1. Inicializa com alta precisão (100 casas decimais)

Grau 7 com apenas 6 pontos ativa automaticamente o Data Augmentation

modelo = MMQRegressor(grau=7, precision=100)

2. Treinamento

coeficientes = modelo.fit(x, y)

print("Ajuste concluído com sucesso!") print(f"Coeficientes: {coeficientes}")

3. Previsão na escala original

previsao = modelo.predict(2016)

print(f"Previsão para 2016: {previsao:.4f}")

📋 Dependências

Python 3.8+

numpy — operações vetoriais

mpmath — núcleo de alta precisão

📄 Licença

Este projeto está licenciado sob a MIT License. Consulte o arquivo LICENSE para mais detalhes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmq_high_precision-0.1.2.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mmq_high_precision-0.1.2-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file mmq_high_precision-0.1.2.tar.gz.

File metadata

  • Download URL: mmq_high_precision-0.1.2.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for mmq_high_precision-0.1.2.tar.gz
Algorithm Hash digest
SHA256 11aa91729b83fe8e5b6b6b876f6f084a9c3c32e598e597243f2c89e821ea2993
MD5 d6dd25143cf134ebc761ce8e094e36fa
BLAKE2b-256 fa96c6401fa63f05652acd38dcbb8952897ebc3eea7b5cdddb065fd386a80c66

See more details on using hashes here.

File details

Details for the file mmq_high_precision-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for mmq_high_precision-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7947aebf09a2094151010861d322523bcf24de6d88bca93814e600c38508bbf8
MD5 5dcc92359636d69013e038aef3c4037f
BLAKE2b-256 6d03b40dc56d2857e52fe02dcd20e1ca430c7f2cc87b0a50bc148666bcadc640

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page