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.3.tar.gz (10.1 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.3-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mmq_high_precision-0.1.3.tar.gz
  • Upload date:
  • Size: 10.1 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.3.tar.gz
Algorithm Hash digest
SHA256 c19906f8543a574e6169c2fc2b3c48c10c26db23da15ec14c0a81cac4e8d8806
MD5 11e8ee08894a8493fa0708e51a7bb1c5
BLAKE2b-256 5ce6bdd2f9b17d68fb57bc067b7e15204070007a2a6c39b1da8b4a036c29b8da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmq_high_precision-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7aa247f0ed1c761948020031205772f926f38326678c1d111d0aca6b24a20ef5
MD5 1310d0a101705863c3f918e09ba707cf
BLAKE2b-256 cd2c8d312c899dce54453228a10438fe1e5af90e8e480b865bcce68f6f2f8319

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