Estimation | Visualisation | Simulation | Pipeline d'offres | Décodage | Statistiques |
---|---|---|---|---|---|
Boîte à outils pour effectuer une régression linéaire / GAM / hiérarchique / déconvolution sur des signaux biologiques.
Ce type de modélisation est également connu sous le nom de modélisation d'encodage, de déconvolution linéaire, de fonctions de réponse temporelle (TRF), d'identification de système linéaire, et probablement sous d'autres noms. Les modèles IRMf avec fonctions de base HRF et bases de dilatation des pupilles sont également pris en charge.
Nous recommandons clairement Julia - mais les utilisateurs de Python peuvent utiliser juliacall/Unfold directement depuis Python !
La méthode recommandée pour installer Julia est Juliaup. Il vous permet par exemple de mettre à jour facilement Julia ultérieurement, mais également de tester les versions alpha/bêta, etc.
TL:DR; Si vous ne souhaitez pas lire les instructions explicites, copiez simplement la commande suivante
AppStore -> JuliaUp, ou winget install julia -s msstore
dans CMD
curl -fsSL https://install.julialang.org | sh
dans n'importe quelle coquille
using Pkg
Pkg . add ( " Unfold " )
Veuillez consulter la documentation pour des didacticiels complets, des explications et bien plus encore !
Vous pouvez lire la documentation en ligne : - ou utiliser la fonctionnalité ?fit
, ?effects
julia-REPL. Pour filtrer les documents, utilisez par exemple ?fit(::UnfoldModel)
Voici un bref aperçu de ce à quoi s’attendre.
using Unfold
events :: DataFrame
# formula with or without random effects
f = @formula 0 ~ 1 + condA
fLMM = @formula 0 ~ 1 + condA + ( 1 | subject) + ( 1 | item)
# in case of [overlap-correction] we need continuous data plus per-eventtype one basisfunction (typically firbasis)
data :: Array{Float64,2}
basis = firbasis (τ = ( - 0.3 , 0.5 ),srate = 250 ) # for "timeexpansion" / deconvolution
# in case of [mass univariate] we need to epoch the data into trials, and a accompanying time vector
epochs :: Array{Float64,3} # channel x time x epochs (n-epochs == nrows(events))
times = range ( 0 ,length = size (epochs, 3 ),step = 1 / sampling_rate)
Pour s'adapter à n'importe lequel des modèles, Unfold.jl propose une syntaxe unifiée :
Correction de chevauchement | Modélisation Mixte | syntaxe de Julia |
---|---|---|
fit(UnfoldModel,[Any=>(f,times)),evts,data_epoch] | ||
x | fit(UnfoldModel,[Any=>(f,basis)),evts,data] | |
x | fit(UnfoldModel,[Any=>(fLMM,times)),evts,data_epoch] | |
x | x | fit(UnfoldModel,[Any=>(fLMM,basis)),evts,data] |
La version Matlab est toujours maintenue, mais un développement actif a lieu dans Julia.
Fonctionnalité | Se dérouler | non mélangé (défunt) | Déplier.jl |
---|---|---|---|
correction de chevauchement | x | x | x |
cannelures non linéaires | x | x | x |
vitesse | ⚡ 2-100x | ||
Prise en charge des GPU | |||
outils de traçage | x | DéplierMakie.jl | |
Traçage interactif | restez à l'écoute - à venir ! | ||
outils de simulation | x | DéplierSim.jl | |
Prise en charge des enchères | x | alpha : UnfoldBIDS.jl) | |
contrôles de santé mentale | x | x | |
tutoriels | x | x | |
tests unitaires | x | x | |
Bases alternatives, par exemple HRF (IRMf) | x | ||
mélanger différentes fonctions de base | x | ||
différentes fenêtres horaires par événement | x | ||
modèles mixtes | x | x | |
effets d'objet et de sujet | (x) | x | |
décodage | DéplierDecode.jl | ||
coupes aberrantes et robustes | beaucoup d'options (mais plus lent) | ||
?Prise en charge de Python | via Juliacall |
Les contributions sont les bienvenues. Il peut s'agir de fautes de frappe, de rapports de bogues, de demandes de fonctionnalités, d'optimisation de la vitesse, de nouveaux solveurs, d'un meilleur code, d'une meilleure documentation.
Vous êtes les bienvenus pour soulever des problèmes et lancer des demandes de tirage !
docs/literate/FOLDER/FILENAME.jl
avec FOLDER
étant HowTo
, Explanation
, Tutorial
ou Reference
(lecture recommandée sur les 4 catégories)..jl
en .md
et le place dans docs/src/generated/FOLDER/FILENAME.md
.docs/src/generated/FOLDER/FILENAME.md
. Judith Schepers ? ✅ ? | Benedikt Ehinger ? ✅ ? | René Skukies ? ✅ ? | Manpa Barman ? | Philippe Alday ? | David Kleinschmidt | Saket Saurabh ? |
suddha-bpn ? | Vladimir Mikheev ? | carmenamme | Maximilien Van Migem ? |
Ce projet suit la spécification de tous les contributeurs.
Les contributions de toute nature sont les bienvenues !
Pour l'instant, veuillez citer
et/ou Ehinger & Dimigen
Ce travail a été initialement soutenu par le groupe de coopération du Centre de recherche interdisciplinaire de Bielefeld (ZiF) « Modèles statistiques pour les données psychologiques et linguistiques ».
Financé par Deutsche Forschungsgemeinschaft (DFG, Fondation allemande pour la recherche) dans le cadre de la stratégie d'excellence allemande – EXC 2075 – 390740016