Sampling bias corrections for discrete and Gaussian partial information decompositions.
The 10 matches · 4 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
- [1] § Methods › Three-source PID analysis of real MEG data ↔ Real_data_analyses/MEG_Analysis_3SourcePID_gauss.m, lines 37–78 · score 0.70 · prefrontal cortex, visual cortex, motor, somatosensory, source PID, MEG
- [2] § Methods › Details of the simulations used to test the three-source PID ↔ Real_data_analyses/fMRIanalysis/main_code_bias_corrs_on_data.py, lines 153–186 · score 0.66 · block diagonal covariance, multivariate normal, zero, matrix, Gaussian
- [3] § Results › The bias of three-source PID ↔ Real_data_analyses/MEG_Analysis_3SourcePID_gauss.m, lines 37–78 · score 0.64 · prefrontal cortex, visual cortex, motor, somatosensory, source PID, MEG
- [4] § Methods › Details of two-source PID analysis of real neural data › Mouse auditory cortex data recorded during a sound discrimination task ↔ Real_data_analyses/analysis_functions/data_for_information_analysis.m, the whole file · a weak match · score 0.60 · imaging frame, licking, onset, fluorescence, behavioral, mice
- [5] § Methods › Details of simulations used to test the bias properties › Details of discrete simulations ↔ Real_data_analyses/analysis_functions/correlated_analyses_bias_PID.m, lines 4–54 · score 0.59 · standard deviation, shared spikes, firing, correlated, neurons, stimuli
- [6] § Methods › Details of simulations used to test the bias properties › Details of discrete simulations ↔ Real_data_analyses/analysis_functions/simulate_edges.m, the whole file · a weak match · score 0.58 · standard deviation, shared spikes, firing, correlated, neurons, simulations
- [7] § Results › Background: PID and its neuroscience use ↔ Real_data_analyses/analysis_functions/generate_dataset_neural_activity_and_stimuli_to_analyze.m, the whole file · a weak match · score 0.56 · neural activity, spiking activity, LFPs, electroencephalography, field, window
- [8] § Results › Background: PID and its neuroscience use ↔ Functions/pid_lattice.m, lines 1–146 · score 0.54 · joint source, joint probability, mutual information, theoretical, properties, marginals
- [9] § Methods › Three-source PID analysis of real MEG data ↔ Functions/glasser_group.m, the whole file · a weak match · score 0.53 · motor, prefrontal, somatosensory, V2, V3, V1
- [10] § Methods › Definitions of Shannon information and PID › Shannon information and relationships with PID components ↔ Functions/pid_lattice.m, lines 1–146 · score 0.51 · information theoretical, covariance matrix, sum, variables, probability, dimensions
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
MATLAB · 203 lines · 6.4 KB · GPL-3.0 · 2 matches
- %% PID lattice + three corrections: demo
- % Make sure the following are on your path:
- % pid_lattice.m
- % resample.m % uses pid.is_gaussian internally
- % shuffsub.m % uses pid.is_gaussian internally
- % qe.m % uses pid.is_gaussian internally
- rng(0);
- clc;
- clear;
- % addpath(genpath('...')); Add Path to data
- load('subjects.mat', 'subj');
- if ~iscell(subj)
- subj = cellstr(subj);
- end
- load('behav_data_idx.mat', 'behav_data_idx');
- conditions = {'attn'};
- SAVE_DIR = pwd;
- for c_idx = 1:length(conditions)
- condition = conditions{c_idx};
- fprintf('Processing condition: %s\n', upper(condition));
- condition_save_dir = fullfile(SAVE_DIR, condition);
- if ~exist(condition_save_dir, 'dir')
- mkdir(condition_save_dir);
- end
- for s_idx = 1:length(subj)
- s = subj{s_idx};
- behav_data = behav_data_idx.(condition).(s);
- epochs = behav_data_idx.(condition).epochs;
- process_subject_matched(s, behav_data, epochs, condition, condition_save_dir);
- end
- end
- function process_subject_matched(s, behav, epochs, condition, condition_save_dir)
- sf = 200;
- etimep = -0.5 : 1/sf : 4.5;
- opts_II.bias = 'shuffSub';
- opts_II.shuff = 20;
- opts_II.suppressWarnings = true;
- opts_II.bin_method = {'eqpop'};
- opts_II.n_bins = {3};
- epochs_to_process = [1];
- areas_all = [3 11 16];
- d0s = [0.05, 0.20, 0.35, 0.50, 0.65, 0.80, 2.70, 2.85, 3.00, 3.15, 3.30, 3.45];
- d0 = arrayfun(@(x) find(abs(etimep - x) == min(abs(etimep - x)), 1), d0s);
- % Visual cortex (indices 1–5)
- areas1 = [];
- for idx = 1:5
- [groi, ~, ~] = glasser_group(idx);
- areas1 = [areas1, groi]; % concatenate all ROIs
- end
- % Prefrontal cortex (indices 19–22)
- areas2 = [];
- for idx = 19:22
- [groi, ~, ~] = glasser_group(idx);
- areas2 = [areas2, groi];
- end
- % Somatosensory/motor (indices 6–8, 24–26)
- areas3 = [];
- for idx = [6 7 8 24 25 26]
- [groi, ~, ~] = glasser_group(idx);
- areas3 = [areas3, groi];
- end
- PID_plugin = cell(1,length(epochs_to_process));
- PID_res = cell(1,length(epochs_to_process));
- PID_shuff = cell(1,length(epochs_to_process));
- trials_idx = behav.upTrials | behav.downTrials;
- did = find(trials_idx);
- % X_trials = 175;
- % if numel(did) > X_trials
- % random_indices = randperm(numel(did));
- % subsampled_indices = random_indices(1:X_trials);
- % did = did(subsampled_indices);
- % end
- data_area1 = zeros(length(trials_idx), length(areas1), length(etimep));
- data_area2 = zeros(length(trials_idx), length(areas2), length(etimep));
- data_area3 = zeros(length(trials_idx), length(areas3), length(etimep));
- save_path = fullfile(condition_save_dir, sprintf('PID3Source_%s_%s.mat', s, condition));
- for p = 1:length(areas1)
- area_name = ['HCPMMP1_' areas1{p}];
- pca_filename = fullfile('',s, sprintf('PCA_%s_%s_%s.mat', s, condition, area_name)); % ADD PATH TO DATA
- if ~exist(pca_filename, 'file')
- fprintf('Missing file: %s\n', pca_filename);
- continue;
- end
- loaded_data = load(pca_filename, 'score');
- score = loaded_data.score;
- data = cellfun(@(x) permute(x, [3 1 2]), score, 'UniformOutput', false);
- data = cell2mat(data);
- data_tmp = permute(data, [2 3 1]);
- assert(size(data_tmp, 3)==length(etimep))
- data_tmp = zscore(data_tmp, 0, 3);
- data_area1(:,p,:) = data_tmp(:,1,:);
- end
- for p = 1:length(areas2)
- area_name = ['HCPMMP1_' areas2{p}];
- pca_filename = fullfile('',s, sprintf('PCA_%s_%s_%s.mat', s, condition, area_name)); % ADD PATH TO DATA
- if ~exist(pca_filename, 'file')
- fprintf('Missing file: %s\n', pca_filename);
- continue;
- end
- loaded_data = load(pca_filename, 'score');
- score = loaded_data.score;
- data = cellfun(@(x) permute(x, [3 1 2]), score, 'UniformOutput', false);
- data = cell2mat(data);
- data_tmp = permute(data, [2 3 1]);
- assert(size(data_tmp, 3)==length(etimep))
- data_tmp = zscore(data_tmp, 0, 3);
- data_area2(:,p,:) = data_tmp(:,1,:);
- end
- for p = 1:length(areas3)
- area_name = ['HCPMMP1_' areas3{p}];
- pca_filename = fullfile('',s, sprintf('PCA_%s_%s_%s.mat', s, condition, area_name)); % ADD PATH TO DATA
- if ~exist(pca_filename, 'file')
- fprintf('Missing file: %s\n', pca_filename);
- continue;
- end
- loaded_data = load(pca_filename, 'score');
- score = loaded_data.score;
- data = cellfun(@(x) permute(x, [3 1 2]), score, 'UniformOutput', false);
- data = cell2mat(data);
- data_tmp = permute(data, [2 3 1]);
- assert(size(data_tmp, 3)==length(etimep))
- data_tmp = zscore(data_tmp, 0, 3);
- data_area3(:,p,:) = data_tmp(:,1,:);
- end
- for d_idx = 1:length(epochs_to_process)
- d = epochs_to_process(d_idx);
- R1 = data_area1(did, :, epochs(d, 1):epochs(d, 2));
- R2 = data_area2(did, :, epochs(d, 1):epochs(d, 2));
- R3 = data_area3(did, :, epochs(d, 1):epochs(d, 2));
- S = behav.sample(:, d);S = S(did);
- [~, N_reg1, Nt] = size(R1);
- [~, N_reg2, ~] = size(R2);
- [~, N_reg3, ~] = size(R3);
- n_blocks = floor(Nt / 4);
- PIDttmp_plugin = nan(18,n_blocks);
- PIDttmp_shuff = nan(18,n_blocks);
- PIDttmp_res = nan(18,n_blocks);
- for b = 1:n_blocks
- t_start = (b-1) * 4 + 1;
- t_end = t_start + 3;
- R1_avg = mean(R1(:, :, t_start:t_end), 3);
- R2_avg = mean(R2(:, :, t_start:t_end), 3);
- R3_avg = mean(R3(:, :, t_start:t_end), 3);
- % opts_bin.bin_method = {'eqpop'};
- % opts_bin.n_bins = {3};
- %
- % binnedData = binning({R1_avg', R2_avg', R3_avg', S'}, opts_bin);
- data_PID = cat(1, R1_avg', R2_avg', R3_avg', S');
- pid_lat = pid_lattice(3, 'IMMI', true);
- idx1 = 1:N_reg1;
- idx2 = N_reg1 + (1:N_reg2);
- idx3 = N_reg1 + N_reg2 + (1:N_reg3);
- idy = N_reg1 + N_reg2 + N_reg3 + (1:1);
- pid_lat.source_dims = {idx1, idx2, idx3};
- pid_lat.target_dims = idy;
- obsG = data_PID.'; % N x V
- Sigma = cov(obsG, 1); % 1/N normalization
- lat_emp_gauss = pid_lat.calculate_latvals(Sigma);
- lat_res_gauss = resample(data_PID, 10, pid_lat); % vector
- lat_sh_gauss = shuffsub(data_PID, 10, pid_lat); % atoms x nshuff
- PIDttmp_plugin(:,b) = lat_emp_gauss;
- PIDttmp_res(:,b) = lat_res_gauss;
- PIDttmp_shuff(:,b) = lat_sh_gauss;
- end
- PID_plugin{d_idx} = PIDttmp_plugin;
- PID_res{d_idx} = PIDttmp_res;
- PID_shuff{d_idx} = PIDttmp_shuff;
- end
- % Save results
- save(save_path, 'PID_plugin', 'PID_res', 'PID_shuff', 's', 'condition');
- fprintf('Saved: %s\n', save_path);
- end
MEG_Analysis_3SourcePID_gauss.m at commit c738f2e, under GPL-3.0 · at the source
Overview
- Institute for Neural Information Processing, Center for Molecular Neurobiology, University Medical Center Hamburg-Eppendorf (UKE), 20251 Hamburg, Germany
- Department of Neurophysiology and Pathophysiology, University Medical Center Hamburg-Eppendorf (UKE), 20246 Hamburg, Germany
- Picower Institute for Learning and Memory, Massachusetts Institute of Technology, Cambridge, MA 02139, USA
- Department of Psychology, University of Torino, 10124 Turin, Italy
- Optical Approaches to Brain Function Laboratory, Istituto Italiano di Tecnologia, 16163 Genova, Italy
- Department of Cognitive Neuroscience, Bielefeld University, 33501 Bielefeld, Germany
- Department of Psychiatry, University of Oxford, Oxford OX3 7JX, UK
- St. John’s College, University of Cambridge, Cambridge CB2 1TP, UK
- Division of Information Engineering, University of Cambridge, Cambridge CB2 1PZ, UK
Abstract
Partial information decomposition (PID) has emerged as a principled way to decompose the information carried by neural activity into components identifying whether interactions among neurons or brain areas generate synergistic or redundant information. Here, we demonstrate that empirical measures of synergy and redundancy based on either Gaussian or discrete probability estimators suffer from a substantial limited-sampling estimation bias. This bias is much larger for synergy than for redundancy. The gap between them increases with the number of parameters specifying the probability distributions. We develop procedures that effectively correct for the bias and provide rules of thumb for the sample sizes required to obtain unbiased estimates. We show that, when used on empirical brain datasets, they successfully remove large synergy biases across species, recording modalities, and experimental designs. Our bias corrections extend the range of neuroscience questions and experimental designs addressable with PID and allow accurate comparisons between synergy and redundancy.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 10 matches between paragraphs and lines of code.
Zenodo 20085438
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
panzerilab/sampling_bias_corrections_syn_red
c738f2e65d5d5c2a97fcaa00d620d1c867dd0121, 8 May 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
99 files
- Figure_S12/
panel_AB/ , MATLAB, 84 linespanelAB.m - Figure_S12/
panel_CDE/ , MATLAB, 250 linesSimulation_DiscretVsGaus sian_12Stim.m - Figure_S12/
panel_CDE/ , MATLAB, 263 linesSimulation_DiscretVsGaus sian_2Stim.m - Figure_S12/
panel_CDE/ , MATLAB, 251 linesSimulation_DiscretVsGaus sian_4Stim.m - Figure_S12/
panel_F/ , Python, 50 linesPanelF.py - Figure_S12/
panel_F/ , MATLAB, 111 linesPlot_GPIDHighInfo.m - Figure_S12/
pythonCode/ , Python, 50 linesGaussian_Analysis_R1_12S tim.py - Figure_S12/
pythonCode/ , Python, 49 linesGaussian_Analysis_R1_2St im.py - Figure_S12/
pythonCode/ , Python, 50 linesGaussian_Analysis_R1_4St im.py - Figure_S12/
pythonCode/ , Python, 194 linespanelG/ AnalyseA1Data.py - Figure_S12/
pythonCode/ , Python, 189 linespanelG/ AnalysePPC_Data.py - Figure_S12/
pythonCode/ , Python, 190 linespanelG/ HippocampusData.py - Figure_S12/
pythonCode/ , MATLAB, 54 linespanelG/ PlotGPIDShuff.m - Functions/
GroundTruth.m , MATLAB, 193 lines - Functions/
PlotFigure1AC.m , MATLAB, 419 lines - Functions/
PlotFigure2discr.m , MATLAB, 270 lines - Functions/
PlotFigure2gauss.m , MATLAB, 173 lines - Functions/
PlotFigure3.m , MATLAB, 451 lines - Functions/
PlotFigure4.m , MATLAB, 376 lines - Functions/
PlotFigure5.m , MATLAB, 574 lines - Functions/
PlotFigure7.m , MATLAB, 1,043 lines - Functions/
PlotFigure8.m , MATLAB, 303 lines - Functions/
PlotFigureS11.m , MATLAB, 219 lines - Functions/
PlotFigureS13.m , MATLAB, 343 lines - Functions/
PlotFigureS14.m , MATLAB, 494 lines - Functions/
PlotFigureS17.m , MATLAB, 196 lines - Functions/
PlotFigureS2discr.m , MATLAB, 277 lines - Functions/
PlotFigureS2gauss.m , MATLAB, 215 lines - Functions/
PlotFigureS3.m , MATLAB, 144 lines - Functions/
PlotFigureS7.m , MATLAB, 454 lines - Functions/
PlotFigureS8.m , MATLAB, 323 lines - Functions/
PlotFigureS9.m , MATLAB, 155 lines - Functions/
__init__.py , Python, 1 line - Functions/
computeGroundTruth.m , MATLAB, 120 lines - Functions/
compute_weights.m , MATLAB, 66 lines - Functions/
glasser_group.m , MATLAB, 123 lines, 1 match - Functions/
make_bias_figure.m , MATLAB, 313 lines - Functions/
mutualInformationXYZ.m , MATLAB, 17 lines - Functions/
pid_lattice.m , MATLAB, 369 lines, 2 matches - Functions/
pid_plot_grid.m , MATLAB, 345 lines - Functions/
pid_plot_grid2.m , MATLAB, 424 lines - Functions/
qe.m , MATLAB, 126 lines - Functions/
resample.m , MATLAB, 98 lines - Functions/
runSimulation.m , MATLAB, 393 lines - Functions/
runSimulation_SVM.m , MATLAB, 192 lines - Functions/
runSimulation_venkatesh. , MATLAB, 220 linesm - Functions/
shuffsub.m , MATLAB, 85 lines - Functions/
three_sources_nonzeroinf , MATLAB, 988 lineso.m - Functions/
tools.py , Python, 551 lines - Functions/
zero_info.py , Python, 235 lines - Plot_figures.m, MATLAB, 361 lines
- Real_data_analyses/
A1_monkey.m , MATLAB, 186 lines - Real_data_analyses/
A1_mouse.m , MATLAB, 171 lines - Real_data_analyses/
A1_mouse_prestim.m , MATLAB, 201 lines - Real_data_analyses/
CA1.m , MATLAB, 160 lines - Real_data_analyses/
MEG_Analysis_3SourcePID_ , MATLAB, 173 linesdiscrete.m - Real_data_analyses/
MEG_Analysis_3SourcePID_ , MATLAB, 203 lines, 2 matchesgauss.m - Real_data_analyses/
PlotFigure6.m , MATLAB, 490 lines - Real_data_analyses/
PlotFigureS15.m , MATLAB, 441 lines - Real_data_analyses/
PlotFigureS16.m , MATLAB, 140 lines - Real_data_analyses/
Plot_FigureS13_cohen.m , MATLAB, 432 lines - Real_data_analyses/
Plot_FigureS15_weighted. , MATLAB, 490 linesm - Real_data_analyses/
Plot_Figure_S14_cohen.m , MATLAB, 146 lines - Real_data_analyses/
Plot_RealData.m , MATLAB, 383 lines - Real_data_analyses/
analysis_functions/ , MATLAB, 7 linesbias_correction_on_audit ory_cortex_data.m - Real_data_analyses/
analysis_functions/ , MATLAB, 169 linesbias_correction_on_data_ hipp_et_al_2022.m - Real_data_analyses/
analysis_functions/ , MATLAB, 127 linescode_bias_PID_simul_spik e_trains.m - Real_data_analyses/
analysis_functions/ , MATLAB, 239 linescompute_information_comp onents_bias_PID.m - Real_data_analyses/
analysis_functions/ , MATLAB, 21 linescorr_neuron_pairs.m - Real_data_analyses/
analysis_functions/ , MATLAB, 62 lines, 1 matchcorrelated_analyses_bias _PID.m - Real_data_analyses/
analysis_functions/ , MATLAB, 47 lines, 1 matchdata_for_information_ana lysis.m - Real_data_analyses/
analysis_functions/ , MATLAB, 38 linesdeconv_DFF.m - Real_data_analyses/
analysis_functions/ , MATLAB, 101 lines, 1 matchgenerate_dataset_neural_ activity_and_stimuli_to_ analyze.m - Real_data_analyses/
analysis_functions/ , MATLAB, 38 linesgenerate_spike_train_dat a.m - Real_data_analyses/
analysis_functions/ , MATLAB, 17 linesmutualInformationXYZ.m - Real_data_analyses/
analysis_functions/ , MATLAB, 227 linesnetwork_example_trials.m - Real_data_analyses/
analysis_functions/ , MATLAB, 248 linespairwise_neuron_PEAK_inf ormation_PID.m - Real_data_analyses/
analysis_functions/ , MATLAB, 80 linespairwise_neuron_PEAK_inf ormation_correct_vs_inco rrect.m - Real_data_analyses/
analysis_functions/ , MATLAB, 8 linesparams_simulations.m - Real_data_analyses/
analysis_functions/ , MATLAB, 113 linesplot_ALL_correct_incorre ct_auditory_cortex_data. m - Real_data_analyses/
analysis_functions/ , MATLAB, 7 linesplot_bias_correction_on_ auditory_cortex_data.m - Real_data_analyses/
analysis_functions/ , MATLAB, 110 linesplot_bias_correction_on_ data_hipp.m - Real_data_analyses/
analysis_functions/ , MATLAB, 185 linesplot_bias_correction_on_ data_hipp_et_al_2022.m - Real_data_analyses/
analysis_functions/ , MATLAB, 307 linessigstar.m - Real_data_analyses/
analysis_functions/ , MATLAB, 101 lines, 1 matchsimulate_edges.m - Real_data_analyses/
analysis_functions/ , MATLAB, 36 linestrial_selection_dataset. m - Real_data_analyses/
analysis_functions/ , MATLAB, 51 linesuncorrelated_analyses_bi as_PID.m - Real_data_analyses/
analysis_functions/ , MATLAB, 21 linesverify_marginals.m - Real_data_analyses/
fMRI_analysis.py , Python, 207 lines - Real_data_analyses/
fMRIanalysis/ , Python, 653 linesGaussian_bias_correction _methods_routines.py - Real_data_analyses/
fMRIanalysis/ , Python, 1 lineexample.py - Real_data_analyses/
fMRIanalysis/ , Python, 67 linesfMRI_plot_across_windows izes.py - Real_data_analyses/
fMRIanalysis/ , Python, 186 lines, 1 matchmain_code_bias_corrs_on_ data.py - Real_data_analyses/
fMRIanalysis/ , Python, 111 linesutility_functions.py - Real_data_analyses/
fMRIanalysis/ , Python, 55 linesutils_parallelization.py - Simulations_Gaussian.py, Python, 316 lines
- Simulations_discrete.m, MATLAB, 89 lines
- LICENSE, License, 674 lines
- README.md, Text, 55 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 97 scripts, each with its path and the digest of its content;
- 10 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- humanconnectome.org/
study/ , at Human Connectome Project; found in the text, “Human resting-state fMRI data”hcp-young-adult
Data and code availability
Code for simulating and analyzing data is made available at our repository at https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 2, 28 September 2026
- Authors: added Nicola Marie Engel (0009-0001-9530-1126); Loren Koçillari (0000-0001-7301-1796); Sebastiano Curreli (0000-0003-4490-6835); Simone Blanco Malerba (0000-0002-4467-5988); Andreas K. Engel (0000-0003-4899-8466); Christoph Kayser (0000-0001-7362-5704); Andrea I. Luppi (0000-0002-3461-6431); Stefano Panzeri (0000-0003-1700-8909); removed Nicola Marie Engel; Loren Koçillari; Sebastiano Curreli; Simone Blanco Malerba; Andreas K. Engel; Christoph Kayser; Andrea I. Luppi; Stefano Panzeri
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 12 authors, 6 keywords, 9 funders, 105 references.
Cite
This paper
Lorenz, G. M., Engel, N. M., Koçillari, L., Celotto, M., Orsenigo, D., Curreli, S., Malerba, S. B., Engel, A. K., Kayser, C., Fellin, T., Luppi, A. I., & Panzeri, S. (2026). Sampling bias corrections for discrete and Gaussian partial information decompositions. Patterns (New York, N.Y.), 7(9), 101619. https://
BibTeX
@article{lorenz2026sampl
author = {Lorenz, Gabriel Matías and Engel, Nicola Marie and Koçillari, Loren and Celotto, Marco and Orsenigo, Davide and Curreli, Sebastiano and Malerba, Simone Blanco and Engel, Andreas K. and Kayser, Christoph and Fellin, Tommaso and Luppi, Andrea I. and Panzeri, Stefano},
title = {{Sampling bias corrections for discrete and Gaussian partial information decompositions}},
journal = {Patterns (New York, N.Y.)},
year = {2026},
month = jul,
volume = {7},
number = {9},
pages = {101619},
publisher = {Elsevier},
issn = {2666-3899},
doi = {10.1016/
url = {https://
pmid = {42746280},
pmcid = {PMC13576656}
}
RIS
TY - JOUR
AU - Lorenz, Gabriel Matías
AU - Engel, Nicola Marie
AU - Koçillari, Loren
AU - Celotto, Marco
AU - Orsenigo, Davide
AU - Curreli, Sebastiano
AU - Malerba, Simone Blanco
AU - Engel, Andreas K.
AU - Kayser, Christoph
AU - Fellin, Tommaso
AU - Luppi, Andrea I.
AU - Panzeri, Stefano
TI - Sampling bias corrections for discrete and Gaussian partial information decompositions
T2 - Patterns (New York, N.Y.)
J2 - Patterns (N Y)
PY - 2026
DA - 2026/
VL - 7
IS - 9
SP - 101619
SN - 2666-3899
PB - Elsevier
DO - 10.1016/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1016/
"type": "article-journal",
"title": "Sampling bias corrections for discrete and Gaussian partial information decompositions",
"container-title": "Patterns (New York, N.Y.)",
"author": [
{
"family": "Lorenz",
"given": "Gabriel Matías"
},
{
"family": "Engel",
"given": "Nicola Marie"
},
{
"family": "Koçillari",
"given": "Loren"
},
{
"family": "Celotto",
"given": "Marco"
},
{
"family": "Orsenigo",
"given": "Davide"
},
{
"family": "Curreli",
"given": "Sebastiano"
},
{
"family": "Malerba",
"given": "Simone Blanco"
},
{
"family": "Engel",
"given": "Andreas K."
},
{
"family": "Kayser",
"given": "Christoph"
},
{
"family": "Fellin",
"given": "Tommaso"
},
{
"family": "Luppi",
"given": "Andrea I."
},
{
"family": "Panzeri",
"given": "Stefano"
}
],
"container-title-short":
"volume": "7",
"issue": "9",
"page": "101619",
"DOI": "10.1016/
"PMID": "42746280",
"PMCID": "PMC13576656",
"ISSN": "2666-3899",
"publisher": "Elsevier",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
23
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s41467-026-75959-w [code]
- Charting higher-order models of brain function beyond pairwise interactions.Journal: Nature communicationsIn common: Nilearn, NiBabel, Statistics and Machine Learning Toolbox, 6 other tools, 17 references, author Davide Orsenigo
- [2] doi:10.1186/s40708-026-00312-2 [code]
- Synergistic and redundant information dynamics exhibit dissociable alterations across schizophrenia and neurodevelopmental conditions.Journal: Brain informaticsIn common: NiBabel, Statistics and Machine Learning Toolbox, seaborn, 4 other tools, 8 references
- [3] doi:10.1038/s41467-026-74466-2 [code]
- Neuromorphic hierarchical modular reservoirs.Journal: Nature communicationsIn common: Nilearn, NiBabel, seaborn, 5 other tools, 4 references, author Andrea I Luppi
- [4] doi:10.21203/rs.3.rs-9326213/v1 [code]
- Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brainJournal: Research Square (preprint)In common: Nilearn, NiBabel, seaborn, 5 other tools, humanconnectome.org/study/hcp-young-adult, 4 references
- [5] doi:10.1186/s12916-026-04903-y [code]
- Structural connectome architecture and biological vulnerability shape cortical atrophy in cocaine use disorder.Journal: BMC medicineIn common: Nilearn, Statistics and Machine Learning Toolbox, seaborn, 5 other tools, humanconnectome.org/study/hcp-young-adult, 4 references
- [6] doi:10.1126/sciadv.aef2894 [code]
- Human cortical networks trade communication efficiency for computational reliability.Journal: Science advancesIn common: seaborn, SciPy, Matplotlib, 1 other tool, humanconnectome.org/study/hcp-young-adult, 3 references, author Andrea I Luppi
- [7] doi:10.1016/j.isci.2026.116903 [code]
- Neurobiological and behavioral relevance of intrinsic functional connectome constraints on task-evoked neural activation.Journal: iScienceIn common: Nilearn, NiBabel, Statistics and Machine Learning Toolbox, 4 other tools, humanconnectome.org/study/hcp-young-adult, 4 references
- [8] doi:10.1371/journal.pone.0348005 [code]
- THOI: An efficient and accessible library for computing higher-order interactions enhanced by batch-processing.Journal: PloS oneIn common: seaborn, scikit-learn, pandas, 3 other tools, 6 references
- [9] doi:10.1038/s41467-026-72931-6 [code]
- Three parsimonious spatiotemporal patterns in cerebellum reveal individual traits in function and behavior.Journal: Nature communicationsIn common: Nilearn, NiBabel, Statistics and Machine Learning Toolbox, 6 other tools, humanconnectome.org/study/hcp-young-adult, 1 reference
- [10] doi:10.1002/hbm.70557 [code]
- Efficient Deep Learning Models for Predicting Individualized Task Activation From Resting-State Functional Connectivity.Journal: Human brain mappingIn common: Nilearn, NiBabel, seaborn, 5 other tools, humanconnectome.org/study/hcp-young-adult, 2 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 2 repositories of the authors' code, each at its verified commit and with its license, 97 scripts, and 10 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:f01eca4a7624d2c7…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
