Skip to main content

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.

Metadata

Release files for mmq-high-precision 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mmq-high-precision 0.1.3
File Size Uploaded
mmq_high_precision-0.1.3.tar.gz 10.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mmq-high-precision 0.1.3
File Interpreter ABI Platform
mmq_high_precision-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 20.9 kB

Release files / mmq_high_precision-0.1.3.tar.gz

Download URL mmq_high_precision-0.1.3.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c19906f8543a574e6169c2fc2b3c48c10c26db23da15ec14c0a81cac4e8d8806
BLAKE2b-256 checksum
How to use checksums
5ce6bdd2f9b17d68fb57bc067b7e15204070007a2a6c39b1da8b4a036c29b8da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6

Release files / mmq_high_precision-0.1.3-py3-none-any.whl

Download URL mmq_high_precision-0.1.3-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7aa247f0ed1c761948020031205772f926f38326678c1d111d0aca6b24a20ef5
BLAKE2b-256 checksum
How to use checksums
cd2c8d312c899dce54453228a10438fe1e5af90e8e480b865bcce68f6f2f8319
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page