9a3f5959cd00f44aed28f748b8a18059686ea05d
Implement two new scipy-compatible distributions : Log-Nakagami (lognakagami) and Log-Gamma (loggamma_dist), with complete logpdf/cdf/ppf/stats/entropy/rvs methods derived from the change-of-variable Y = ln(X). Add kl_statistic, a KDE-based KL-divergence goodness-of-fit callable compatible with the Fitter class. Extend k_gen with _stats (improving speed), _cdf, and a fit guard, and switch kv → kve to improve numerical stability at large arguments. Add unit tests for all three additions covering normalization, monotonicity, ppf inversion, moment formulas, and Fitter integration.
Clutter_chuva
Repositorio para códigos de fitting de distribuições de dados de chuva e clutter.
Gerenciamento de dependências
Este projeto usa uv para gerenciar dependências e ambientes virtuais.
Instalação do uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Configurar o ambiente
# Cria o ambiente virtual e instala todas as dependências
uv sync
Adicionar dependências
# Adicionar um pacote ao projeto
uv add <pacote>
# Adicionar dependência de desenvolvimento
uv add --dev <pacote>
Executar scripts
# Executar um script dentro do ambiente virtual
uv run python scripts/meu_script.py
# Abrir o Jupyter
uv run jupyter notebook
As dependências do projeto estão declaradas em pyproject.toml e o lockfile uv.lock garante reprodutibilidade do ambiente.
Uso nos notebooks
from etc import Fitter
from scipy.stats import gamma, weibull_min, lognorm
fitter = Fitter(
[gamma, weibull_min, lognorm],
gamma_params={'floc': 0},
)
fitter.fit(data)
fitter.validate(n_mc_samples=999)
fitter.summary()
fitter.histogram_with_fits().show()
Estrutura
etc/ # pacote principal (importável nos notebooks)
fitting/ # Fitter e DistributionSummary
tools/ # funções de visualização (plots, CDF)
notebooks/ # notebooks Jupyter
scripts/ # scripts .py para execução em background
data/ # dados (não versionados)
Description
Languages
Jupyter Notebook
80.6%
Python
19.4%