Verktygslåda
Vad jag bygger med.
Verktyget spelar mindre roll än metoden, men valet säger något om hur problemet uppfattats. Här är de jag oftast når efter och varför.
Bayesiansk inferens
Stan / PyStan
C++ med gränssnitt för Python, R och Julia
Stan är ett språk för att skriva sannolikhetsmodeller och skatta dem med Hamiltonian Monte Carlo. Du beskriver hur data antas ha uppkommit, och Stan ger fördelningen över parametrarna. PyStan är Python-gränssnittet. Används när modellen behöver formuleras utifrån problemet snarare än väljas ur ett bibliotek.
PyMC
Python
PyMC är ett Python-bibliotek för att bygga och skatta bayesianska modeller. Modellen skrivs som vanlig Python-kod, skattas med Hamiltonian Monte Carlo eller variationell inferens, och integreras direkt med resten av databehandlingen. Det är mitt förstahandsval för hierarkiska modeller.
Modellering
PyMC-Marketing
Python
PyMC-Marketing är ett bibliotek med bayesianska implementationer av kundvärdesmodeller och marketing mix modeling. Det efterträder lifetimes, som länge var standardvalet för BG/NBD och Gamma-Gamma men inte längre underhålls. Det är utgångspunkten i de flesta CLV-uppdrag.
CatBoost
Python, R, C++
CatBoost är ett gradient boosting-bibliotek med inbyggd hantering av kategoriska variabler. Det slipper ifrån den one-hot-kodning som gör andra implementationer opraktiska när en variabel har tusentals nivåer, och det presterar ovanligt bra utan justering.
XGBoost
C++ med gränssnitt för Python, R, Java, Scala och fler
XGBoost är den gradient boosting-implementation som fått störst spridning. Den är snabb, väl dokumenterad och finns i varje molnplattform. På tabelldata är den fortfarande ett av de starkaste förstahandsvalen, och den är oftast den som ett kundteam redan känner till.
scikit-survival
Python
scikit-survival implementerar överlevnadsanalys med samma gränssnitt som scikit-learn. Det gör censurerade data hanterbara i en vanlig Python-arbetsgång, med allt från Cox-regression till random survival forests.
MAPIE
Python
MAPIE lägger konforma prediktionsintervall ovanpå en befintlig scikit-learn-modell. Man anger önskad täckningsgrad, biblioteket kalibrerar mot data modellen inte sett, och resultatet är intervall vars täckning går att kontrollera i efterhand.
EconML / DoWhy
Python
DoWhy formaliserar antagandena bakom en kausal fråga och testar hur känsligt svaret är för dem. EconML skattar effekter som varierar mellan individer. Det är vad uplift-modellering behöver. Tillsammans täcker de vägen från antagande till skattad effekt.
statsmodels
Python
statsmodels är Pythons bibliotek för klassisk statistisk modellering. Det ger GLM, tidsseriemodeller och hypotestester med utskrifter som redovisar standardfel, konfidensintervall och diagnostik. Det är sådant maskininlärningsbibliotek medvetet utelämnar.
AI-assistenter i leveransen
Verktyg jag arbetar med, inte verktyg jag modellerar i. De snabbar upp det som inte är den svåra delen. Er data hamnar aldrig i dem utan att ni bestämt det först. Se så jobbar jag.
Claude
CLI, desktop, webb och API
Claude används i mina uppdrag för implementation, kodgranskning och dokumentation: Code för arbete i kodbasen, Cowork för längre analys- och dokumentarbete, Design för visuellt material. Den skriver inte modellerna åt mig och den avgör inte vad som ska modelleras.
ChatGPT / Codex
Webb, API och CLI
ChatGPT används som andra par ögon, och Codex för avgränsade implementationsuppgifter. Den praktiska poängen med att använda mer än en leverantör är att modellerna har olika svagheter. Det som en missar fångar ofta den andra.
Grok / Imagine
Webb och API
Grok används för snabb omvärldsavstämning där aktualitet väger tyngre än djup, och Imagine för visuellt material. Rollen är smalare än de andra assistenternas och det finns ingen anledning att låtsas annat.
Även använt
Verktyg jag arbetat i utan att de förtjänar en egen sida.
- scikit-learn standardarsenalen för tabelldata
- pandas databearbetning
- NumPy numerisk grund
- SciPy statistik och optimering
- Optuna hyperparameteroptimering
- Polars, DuckDB större datamängder lokalt
- MATLAB, Octave har även arbetat i
- Maple har även arbetat i