<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Home on Erfan Jaripour</title><link>https://erfanjaripour.com/</link><description>Recent content in Home on Erfan Jaripour</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 19 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://erfanjaripour.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Choosing the Right Modeling Approach</title><link>https://erfanjaripour.com/notes/trial-by-trial-behavioral-adaptation/2026-08-19-choosing-the-right-modeling-approach/</link><pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/trial-by-trial-behavioral-adaptation/2026-08-19-choosing-the-right-modeling-approach/</guid><description>&lt;!-- Situation -->
&lt;p>One important modeling decision I made during the trial-by-trial behavioral adaptation project was to reconsider the role of Bayesian modeling in the analysis. I planned initially to include a Bayesian mixed-effects model alongside the frequentist analysis. The goal was to provide a complementary approach and examine whether the main conclusions were consistent across the two methods.&lt;/p>
&lt;!-- Data -->
&lt;p>During the modeling phase, however, the Bayesian model became computationally demanding. The dataset contained a large number of trial-level observations and required a hierarchical structure with participant-level variation and nonlinear trial effects. Fitting and evaluating the Bayesian model required much more time and computational resources than the primary frequentist mixed-effects models.&lt;/p></description></item><item><title>Managing Git Commit Scope</title><link>https://erfanjaripour.com/notes/trial-by-trial-behavioral-adaptation/2026-08-18-managing-git-commit-scope/</link><pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/trial-by-trial-behavioral-adaptation/2026-08-18-managing-git-commit-scope/</guid><description>&lt;!-- Situation -->
&lt;p>One important lesson I learned while working on a larger project was to manage the scope of Git commits more carefully. I already knew that each commit should represent a clear change. However, the challenge was keeping the scope of each change under control as the project became more complex.&lt;/p>
&lt;!-- Data -->
&lt;p>I usually committed my changes at the end of each day. Even when several files needed to be committed separately, I was able to organize them into appropriate commits. As the project became larger, however, this became more difficult. At the end of one day, I faced a large set of changes that was very difficult to track.&lt;/p></description></item><item><title>Adapting the Repository Structure</title><link>https://erfanjaripour.com/notes/trial-by-trial-behavioral-adaptation/2026-08-17-adapting-the-repository-structure/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/trial-by-trial-behavioral-adaptation/2026-08-17-adapting-the-repository-structure/</guid><description>&lt;!-- Situation -->
&lt;p>The trial-by-trial behavioral adaptation project was larger than my two previous research projects and introduced several new challenges in organizing the analysis. I followed the planned minimalist repository structure and kept the project organized throughout development. As the analysis became more complex, however, I found that the same structure became increasingly difficult to navigate and review.&lt;/p>
&lt;!-- Data -->
&lt;p>The main problem appeared after the modeling, in visualizing and exporting the results. I had three main notebooks, supported by R scripts, including a data inspection notebook, an exploratory data analysis notebook, and a modeling notebook. I used this structure throughout the project as I had planned. As a result, the modeling notebook and the models R script contained the code for exporting the final results. This did not create a reproducibility problem, but the larger files became harder to review and navigate.&lt;/p></description></item><item><title>Trial-by-Trial Behavioral Adaptation in a Restless Bandit Task</title><link>https://erfanjaripour.com/research/trial-by-trial-behavioral-adaptation/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/research/trial-by-trial-behavioral-adaptation/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>This project investigates how human behavior changes across repeated trials in a dynamic four-arm restless bandit task. Using trial-level behavioral data, the analysis examines changes in payoff-maximizing choice, obtained reward, reaction time, and choice switching across the trial sequence.&lt;/p>
&lt;p>The primary analysis uses logistic mixed-effects modeling to characterize changes in the probability of selecting the highest-payoff option while accounting for individual differences in baseline behavior and behavioral trajectories. The analysis focuses on observable behavioral adaptation rather than estimating latent reinforcement-learning parameters.&lt;/p></description></item><item><title>Trial-by-Trial Behavioral Adaptation in a Restless Bandit Task: A Mixed-Effects Modeling Approach</title><link>https://erfanjaripour.com/publications/trial-by-trial-behavioral-adaptation/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/publications/trial-by-trial-behavioral-adaptation/</guid><description>&lt;h2 id="citation">Citation&lt;/h2>
&lt;p>Jaripour, E. (2026).
&lt;em>Trial-by-Trial Behavioral Adaptation in a Restless Bandit Task: A Mixed-Effects Modeling Approach.&lt;/em>
Research Square Preprint.
&lt;a href="https://doi.org/10.21203/rs.3.rs-10740751/v1">DOI: 10.21203/rs.3.rs-10740751/v1&lt;/a>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>Adaptive decision-making requires individuals to modify behavior as reward environments change over time. Restless bandit tasks provide a framework for studying behavioral adaptation under dynamic conditions, although observable changes do not necessarily reveal latent cognitive mechanisms. The present study examined trial-by-trial behavioral adaptation in a four-arm restless bandit task using a publicly available dataset of 965 participants and 139,816 analyzed trials. Rather than estimating latent reinforcement-learning parameters, the study examined observable outcomes, trial-related change, differences across payoff environments, and individual differences in baseline behavior and adaptation. Mixed-effects models were fitted to payoff-maximizing choice, obtained reward, log-transformed reaction time, and choice switching. The primary analysis used a quadratic trial trajectory with payoff-environment interactions and participant-specific random intercepts, linear slopes, and quadratic slopes. The quadratic model provided substantially better AIC fit than the corresponding linear interaction model. Payoff-maximizing choice showed distinct linear and quadratic trajectories across payoff environments, while participants varied in baseline performance and trial-related change. Secondary analyses showed different reward trajectories across payoff environments, decreasing reaction times across trials without clear payoff-group differences, and decreasing choice switching, with evidence that this trajectory differed for Group 3 but not Group 4 relative to the reference environment. These findings indicate nonlinear changes in observable decision behavior during repeated decisions in a dynamic reward environment. Because latent values, beliefs, and learning parameters were not estimated, the findings do not identify the mechanisms underlying these changes. Instead, they provide a quantitative characterization of observable behavioral adaptation and a basis for future computational investigations of decision-making in dynamic environments.&lt;/p></description></item><item><title>Following the Analysis Plan</title><link>https://erfanjaripour.com/notes/hierarchical-bayesian-working-memory/2026-07-24-following-the-analysis-plan/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/hierarchical-bayesian-working-memory/2026-07-24-following-the-analysis-plan/</guid><description>&lt;!-- Situation -->
&lt;p>The hierarchical Bayesian analysis of the working memory study was nearly complete, and I was preparing the preprint for public release. During a final review, I noticed that a few figures did not match the expected results. I decided to review the entire workflow and recreate the figures to verify the results.&lt;/p>
&lt;!-- Data -->
&lt;p>I found that some analysis steps had not been documented as clearly as they should have been. During the analysis, I explored several alternative approaches, and a few code cells and comments no longer reflected the final workflow. To ensure everything was correct, I regenerated the main figures and carefully compared them with the final analysis.&lt;/p></description></item><item><title>A Hierarchical Bayesian Analysis of Memory Load Effects on Visual Working Memory Precision</title><link>https://erfanjaripour.com/publications/hierarchical-bayesian-working-memory/</link><pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/publications/hierarchical-bayesian-working-memory/</guid><description>&lt;h2 id="citation">Citation&lt;/h2>
&lt;p>Jaripour, E. (2026).
&lt;em>A Hierarchical Bayesian Analysis of Memory Load Effects on Visual Working Memory Precision.&lt;/em>
Research Square Preprint.
&lt;a href="https://doi.org/10.21203/rs.3.rs-10469232/v1">DOI: 10.21203/rs.3.rs-10469232/v1&lt;/a>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>Visual working memory is limited in both capacity and precision, and computational models increasingly aim to characterize how memory representations vary with increasing load and across individuals. The present study applied hierarchical Bayesian modeling to a publicly available continuous-report visual working-memory dataset to examine the relationship between memory load and precision while comparing alternative statistical representations of performance. Trial-level angular errors from three experiments were analyzed using Bayesian models with von Mises likelihoods. The evaluated models included a null hierarchical model with no memory-load effect, a hierarchical model estimating a population-level effect of set size with participant-specific variation, and a nonlinear hierarchical model allowing independent set-size effects through a sum-to-zero parameterization. Model performance was evaluated using posterior predictive checks, convergence diagnostics, and approximate leave-one-out cross-validation. Results showed that memory precision decreased systematically as memory load increased and that participants exhibited substantial differences in baseline precision. The nonlinear hierarchical model achieved the strongest predictive performance among the evaluated models, indicating that the relationship between memory load and precision was not fully captured by a simple linear representation. Robustness analyses demonstrated that the primary conclusions remained stable across alternative prior specifications, sampling configurations, and posterior initializations. These findings highlight the value of hierarchical Bayesian approaches for modeling individual variability in visual working-memory performance and demonstrate the utility of reproducible computational workflows for evaluating statistical models using open behavioral datasets.&lt;/p></description></item><item><title>Hierarchical Bayesian Modeling of Visual Working Memory Precision</title><link>https://erfanjaripour.com/research/hierarchical-bayesian-working-memory/</link><pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/research/hierarchical-bayesian-working-memory/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>This project investigates how memory load influences visual working memory precision using trial-level data from three openly available continuous-report experiments. The study examines how precision changes with increasing memory load and whether individual differences in performance can be characterized using hierarchical Bayesian models. The analysis combines circular statistics, Bayesian modeling, predictive evaluation, and reproducible computational methods within an open-science workflow.&lt;/p>
&lt;h2 id="research-question">Research Question&lt;/h2>
&lt;p>How does memory load influence visual working memory precision, and can hierarchical Bayesian models characterize individual differences and memory-load effects in continuous-report performance?&lt;/p></description></item><item><title>From Practice to Real Data</title><link>https://erfanjaripour.com/notes/hierarchical-bayesian-working-memory/2026-07-13-from-practice-to-real-data/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/hierarchical-bayesian-working-memory/2026-07-13-from-practice-to-real-data/</guid><description>&lt;!-- Situation -->
&lt;p>I am currently developing hierarchical Bayesian models for a working memory project. Building cognitive models with real data proved much more challenging than the practice exercises and small examples I completed during my Bayesian methods training. The models required substantially greater computational resources, and achieving reliable convergence, especially for nonlinear models, became an important part of the analysis.&lt;/p>
&lt;!-- Data -->
&lt;p>The first challenge was computational performance. The models became extremely slow when using larger numbers of tuning and sampling iterations. After investigating the problem, I learned how to use NumPyro with JAX to improve sampling performance and adjusted several model settings to support the analysis better. Although these changes improved the workflow, convergence remained difficult for some nonlinear models. I tested many combinations of sampling parameters and repeatedly evaluated the results. Larger sampling runs also created memory limitations during model evaluation. After many iterations and hours of computation, I identified a configuration that produced stable results while remaining computationally practical.&lt;/p></description></item><item><title>Learning the Publication Process</title><link>https://erfanjaripour.com/notes/stroop-interference/2026-07-08-learning-the-publication-process/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/stroop-interference/2026-07-08-learning-the-publication-process/</guid><description>&lt;!-- Situation -->
&lt;p>I recently attempted to publish my preprint on PsyArXiv. After a day of prescreening, the submission was not accepted because I did not have a previous publication, rather than because of an identified issue with the scientific content of the preprint. This was my first experience with the publication process as an independent researcher, and it highlighted an aspect of research dissemination that I had not previously encountered.&lt;/p></description></item><item><title>Managing Python Environment Conflicts</title><link>https://erfanjaripour.com/notes/computational-training/2026-07-03-python-environment-conflicts/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/computational-training/2026-07-03-python-environment-conflicts/</guid><description>&lt;!-- Situation -->
&lt;p>During my training in Bayesian methods, I encountered a series of unexpected problems with my Python environment. What initially appeared to be a minor warning during package imports gradually developed into compatibility issues across multiple libraries. As the exercises became more advanced, these problems began to interrupt my workflow and prevent several Bayesian models from running correctly.&lt;/p>
&lt;!-- Data -->
&lt;p>The first warning seemed harmless, so I continued working. Later, I discovered that some of the code I had learned from older resources was not compatible with newer library versions. The actual problem became clear when I started working with hierarchical Bayesian models. They took much longer than I expected to run and often failed to run successfully. After several unsuccessful attempts to fix individual packages, I concluded that my environment itself had become unstable. I decided to rebuild everything from scratch. I therefore replaced the existing pip-based installation with a clean Miniforge environment and reinstalled Python and all required packages.&lt;/p></description></item><item><title>Understanding Bayesian Thinking</title><link>https://erfanjaripour.com/notes/computational-training/2026-07-03-understanding-bayesian-thinking/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/computational-training/2026-07-03-understanding-bayesian-thinking/</guid><description>&lt;!-- Situation -->
&lt;p>I recently started learning Bayesian methods as part of my computational cognitive science training. After completing the first practice notebooks on Bayes&amp;rsquo; theorem and basic Bayesian inference, I became interested not only in the statistical methods themselves but also in the underlying approach to reasoning.&lt;/p>
&lt;!-- Data -->
&lt;p>Bayesian inference provides a framework for updating beliefs as new evidence becomes available. Prior information is combined with observed data to produce updated conclusions while explicitly representing uncertainty. Learning these foundations helped me understand how Bayesian methods differ from approaches that focus primarily on point estimates and fixed conclusions.&lt;/p></description></item><item><title>Preparing The Preprint</title><link>https://erfanjaripour.com/notes/stroop-interference/2026-06-26-preparing-the-preprint/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/stroop-interference/2026-06-26-preparing-the-preprint/</guid><description>&lt;!-- Situation -->
&lt;p>Writing the first preprint involved more than summarizing the analyses. The manuscript had to be organized into a clear scientific structure. It also had to include consistent terminology, correctly referenced figures and tables, and minimal repetition across sections.&lt;/p>
&lt;!-- Data -->
&lt;p>I reviewed every section multiple times to standardize the writing style and refine the organization of sections and subsections. I also verified references and ensured that every figure, table, and citation was correctly linked. I rechecked and removed repeated information to improve clarity and flow.&lt;/p></description></item><item><title>Open Data Challenge</title><link>https://erfanjaripour.com/notes/stroop-interference/2026-06-15-open-data-challenge/</link><pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/notes/stroop-interference/2026-06-15-open-data-challenge/</guid><description>&lt;!-- Situation -->
&lt;p>Working with an open dataset for the Stroop interference project revealed unexpected data and preprocessing issues. The raw data contained malformed header rows, and 85 recording files corresponded to only 81 unique participant identifiers, indicating that some participants contributed multiple files or sessions.&lt;/p>
&lt;!-- Data -->
&lt;p>I had to rebuild the file structure, separate metadata from trial data, and check duplicated participant records. It was necessary to identify which files corresponded to unique participants and which ones were repeated or continuation sessions.&lt;/p></description></item><item><title>Stroop Interference in Reaction Time and Accuracy: A Behavioral and Computational Analysis</title><link>https://erfanjaripour.com/publications/stroop-interference/</link><pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/publications/stroop-interference/</guid><description>&lt;h2 id="citation">Citation&lt;/h2>
&lt;p>Jaripour, E. (2026).
&lt;em>Stroop Interference in Reaction Time and Accuracy: A Behavioral and Computational Analysis.&lt;/em>
Research Square Preprint.
&lt;a href="https://doi.org/10.21203/rs.3.rs-10287577/v1">DOI: 10.21203/rs.3.rs-10287577/v1&lt;/a>&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>The Stroop task is a classic paradigm for studying cognitive interference, selective attention, and response competition. By analyzing behavioral data from 81 participants, this study examined how congruent, incongruent, and neutral conditions affect reaction time and accuracy. The dataset contained trial-level responses from a publicly available Stroop experiment. In the preprocess, probe trials, invalid reaction times, and extreme values were removed. In addition, the participant–session structure in the raw files was resolved. The results showed a robust Stroop interference effect. The fastest reaction times were in the congruent condition, and the slowest in the incongruent condition. The neutral condition contained intermediate performances. The mean interference effect is defined as the difference in reaction time between incongruent and congruent trials. It was 106 ms. A paired-samples t-test confirmed a significant difference between incongruent and congruent conditions, with t(80) = 17.77, p &amp;lt; .001, and a large effect size (dz = 1.97). It showed strong interference at the group level. Accuracy remained high across conditions, with little evidence of a speed–accuracy trade-off. Assumption checks supported the use of parametric analysis.&lt;/p></description></item><item><title>Stroop Interference: A Behavioral and Computational Analysis</title><link>https://erfanjaripour.com/research/stroop-interference/</link><pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate><guid>https://erfanjaripour.com/research/stroop-interference/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>This project investigates cognitive interference in the Stroop task using trial-level behavioral data from an openly available experimental dataset. Using data from 81 participants, the study quantifies differences in reaction time and accuracy across congruent, neutral, and incongruent conditions, examines individual variability in interference effects, and evaluates whether a simple computational model can reproduce the observed behavioral pattern. The project combines behavioral analysis, statistical inference, and computational modeling within a reproducible open-science workflow.&lt;/p></description></item></channel></rss>