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/seu-usuario/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.0.tar.gz (5.9 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.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mmq_high_precision-0.1.0.tar.gz
  • Upload date:
  • Size: 5.9 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.0.tar.gz
Algorithm Hash digest
SHA256 3dd53cf428418c0248febc89481d7d55c9fa59a1675061d0fe7674bf8f69f386
MD5 dd2196391ec9cf936954a5381855b400
BLAKE2b-256 185ecd7f29c71e23ee702e1e56f59a5970b78103b24a56b811050dc9785c7311

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmq_high_precision-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ba1060cd0316fd92a92abe6cd322bf7dbc65418c67a7c9fc8f24e99adc243f4
MD5 4f29b5a6f4f220b86a0e6abde3594aed
BLAKE2b-256 5e5987d817d8ed154b4d1fd8734ea769d951c2da8d8e056438198baad155f408

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