PyMC
Originalförfattare | PyMC utvecklingsteam |
---|---|
Initial release | 4 maj 2013 |
Stabil frisättning | 5.0.2 / 13 januari 2023
|
Förvar | https://github.com/pymc-devs/pymc |
Skrivet i | Pytonorm |
Operativ system | Unix-liknande , Mac OS X , Microsoft Windows |
Plattform | Intel x86 – 32-bitars , x64 |
Typ | Statistiskt paket |
Licens | Apache-licens, version 2.0 |
Hemsida |
PyMC (tidigare känt som PyMC3) är ett Python- paket för Bayesiansk statistisk modellering och probabilistisk maskininlärning som fokuserar på avancerade Markov-kedjan Monte Carlo och variationsanpassningsalgoritmer. Det är en omskrivning från början av den tidigare versionen av PyMC-mjukvaran. Till skillnad från PyMC2, som hade använt Fortran- tillägg för att utföra beräkningar, förlitar PyMC sig på PyTensor, ett Python-bibliotek som gör det möjligt att definiera, optimera och effektivt utvärdera matematiska uttryck som involverar flerdimensionella arrayer. Från version 3.8 förlitar PyMC sig på ArviZ för att hantera plottning, diagnostik och statistiska kontroller. PyMC och Stan är de två mest populära probabilistiska programmeringsverktygen . PyMC är ett med öppen källkod , utvecklat av communityn och finansiellt sponsrat av NumFOCUS.
PyMC har använts för att lösa slutledningsproblem inom flera vetenskapliga domäner, inklusive astronomi , epidemiologi , molekylärbiologi, kristallografi, kemi , ekologi och psykologi. Tidigare versioner av PyMC användes också i stor utsträckning, till exempel inom klimatvetenskap, folkhälsa, neurovetenskap och parasitologi.
Efter att Theano tillkännagav planer på att avbryta utvecklingen 2017, utvärderade PyMC-teamet TensorFlow Probability som en beräkningsbackend, men beslutade 2020 att ta över utvecklingen av Theano. Stora delar av Theano-kodbasen har omstrukturerats och kompilering genom JAX och Numba har lagts till. PyMC-teamet har släppt den reviderade beräkningsbackend under namnet PyTensor och fortsätter utvecklingen av PyMC.
Slutledningsmotorer
PyMC implementerar icke-gradientbaserade och gradientbaserade Markov chain Monte Carlo (MCMC) algoritmer för Bayesiansk inferens och stokastiska, gradientbaserade variations Bayesianska metoder för ungefärlig Bayesiansk slutledning.
- MCMC-baserade algoritmer:
- No-U-Turn sampler (NUTS), en variant av Hamiltonian Monte Carlo och PyMCs standardmotor för kontinuerliga variabler
- Metropolis–Hastings , PyMCs standardmotor för diskreta variabler
- Sekventiell Monte Carlo för statiska posteriors
- Sekventiell Monte Carlo för ungefärlig Bayesiansk beräkning
-
Variationsinferensalgoritmer :
- Black-box Variationsinferens
Se även
- Stan är ett probabilistiskt programmeringsspråk för statistisk slutledning skrivet i C++
- ArviZ ett Python-bibliotek för utforskande analys av Bayesianska modeller
Vidare läsning
externa länkar
- PyMC hemsida
- PyMC source , ett Git- förråd värd på GitHub
- Symbolic PyMC är en experimentell uppsättning verktyg som underlättar sofistikerad symbolisk manipulation av PyMC-modeller