Synthèse automatique
Bibliothèque Python légère, fondée sur numpy, pour estimer en ligne des matrices de covariance, de corrélation et de précision, avec des outils pour évaluer et choisir les estimateurs.
Points forts
- API de type sklearn avec partial_fit, complémentaire des estimateurs batch de sklearn.covariance.
- Mises à jour incrémentales en O(1)–O(d²), adaptées aux flux d'observations au lieu de recalculs sur fenêtre glissante.
- Inclut des estimateurs avec shrinkage, robustes ou factoriels, ainsi que des assesseurs pour comparer les estimations.
- Met en garde contre un piège majeur en grande dimension : ne pas classer les covariances par log-vraisemblance gaussienne sur données de validation.
Limites
- Bibliothèque spécialisée et centrée sur la covariance en ligne, pas un framework général de séries temporelles ou de machine learning.
- La qualité des estimations dépend du choix des hyperparamètres, comme le taux d'oubli, et les observations doivent être vectorielles.
- L'évaluation en grande dimension recommande des juges spécifiques, moins standards que la log-vraisemblance.
À utiliser lorsqu'un code recalcule np.cov ou np.corrcoef dans une boucle glissante, ou lorsqu'il faut maintenir une covariance mise à jour pas à pas avec un univers d'actifs dynamique.
À éviter pour une analyse batch ponctuelle où sklearn.covariance suffit, ou pour des modèles probabilistes complets dépassant la seule estimation de covariance.
Analyse de sécurité
SûrThe skill only describes a Python library for online covariance estimation and points to external task-specific skill files. It includes a standard 'pip install precise' command and code snippets, but no destructive, exfiltrating, or obfuscated actions. No secrets are handled, and no tools are declared that would enable execution beyond normal Python package usage.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
I have a Python loop that recomputes np.cov on a rolling window for every new observation. Refactor it with precise's EwaCovariance.partial_fit and show how to read covariance_, correlation_, and precision_.My streaming data has heavy tails, missing assets, and variables comparable to the number of observations. Which precise online covariance estimator should I use, and what guardrails should I follow when comparing candidates?I track streaming returns keyed by ticker, and the universe changes as assets enter and leave. Show how to maintain an online covariance estimate with precise and handle the changing names correctly.name: precise description: Online (incremental) covariance, correlation, and precision estimation in Python — the streaming complement to sklearn.covariance. Use when code needs a covariance/correlation matrix updated per observation, recomputes np.cov/np.corrcoef in a rolling loop, must judge or compare covariance estimates, or proposes a new covariance methodology. Points to task-specific skills.
precise
precise is a small, numpy-only library of online
(incremental) covariance and correlation estimators behind one sklearn-style partial_fit contract —
plus a panel of assessors for scoring an estimate and a recommender for choosing one. It is the streaming
complement to sklearn.covariance, whose estimators are batch-only.
pip install precise
from precise import EwaCovariance
est = EwaCovariance(r=0.05)
for y in stream: # y is one observation (1-D)
est.partial_fit(y)
est.covariance_ # symmetric PSD; also .correlation_ / .precision_ / .location_
Reach for precise when you see
- a covariance/correlation matrix being recomputed in a rolling loop (
np.cov/np.corrcoef,pandas .rolling().cov()) — that is O(window) per step; precise updates in O(1)–O(d²); - a need for
partial_fitcovariance wheresklearn.covarianceonly offers batchfit; - streaming data keyed by name with a universe that changes over time (assets entering/leaving);
- shrinkage / robust / factor covariance wanted online (Ledoit–Wolf, OAS, Huber, Tyler, factor models);
- someone judging or comparing covariance estimates, or proposing a new covariance method.
Task-specific skills
Fetch the relevant one for copy-pasteable code and guardrails:
- Estimate online — https://github.com/microprediction/precise/blob/main/.claude/skills/estimate-online-covariance/SKILL.md
- Choose an estimator for your data — https://github.com/microprediction/precise/blob/main/.claude/skills/choose-covariance-estimator/SKILL.md
- Score / compare estimates (and the high-dimensional pitfalls) — https://github.com/microprediction/precise/blob/main/.claude/skills/score-covariance-estimate/SKILL.md
- Keyed / dynamic universe (names that enter and leave) — https://github.com/microprediction/precise/blob/main/.claude/skills/keyed-dynamic-universe/SKILL.md
- Assess a new methodology (rigorous, honest protocol) — https://github.com/microprediction/precise/blob/main/.claude/skills/assess-covariance-method/SKILL.md
One guardrail worth knowing up front
In high dimensions (variables comparable to observations), do not rank covariance estimates by the held-out Gaussian log-likelihood — it is dominated by unidentifiable small eigenvalues and ranks below chance. Use inversion-free / block judges instead (see the scoring skill). Background: https://precise.microprediction.org/papers/schur-likelihood/.
Reference
Docs https://precise.microprediction.org · PyPI https://pypi.org/project/precise/ · Repo https://github.com/microprediction/precise.
Ingénierie de Prompts
Data & IA
Bonnes pratiques et templates de prompt engineering pour maximiser les résultats IA.
Visualisation de Données
Data & IA
Génère des visualisations de données et graphiques adaptés à vos données.
Architecture RAG
Data & IA
Guide de configuration d'architectures RAG (Retrieval-Augmented Generation).