Results the Same for Different G

52 views
Skip to first unread message

Dominique Hughes

unread,
Apr 30, 2024, 4:13:35 PMApr 30
to TVB Users
Hi,

I am trying to do a parameter search across G and the noise parameter D for the Reduced Wong Wang with coupled E and I populations model and stochastic Heun integration scheme. My output is BOLD signal, and I am then creating FC matrices to fit against my empirical data.

I am doing the search by defining a function that requires G and D as an input to set up and run the simulation, which I can use to submit parallel jobs to the supercomputer I use. However, I was getting strange results (the fit value changed for different D values but not G values), and upon a closer look, the BOLD output for different G values using my function is exactly the same. I expected to see differences in the BOLD between G values.

I've attached the Jupyter notebook that I used to just compare the BOLD output between G values. Would anybody be able to take a look and tell me if maybe my function is not defined correctly, or any other reason my results might not be changing across G? If you would like to see any of my other files (for example, the actual file I use to run parallel simulations, or how I create and fit my FC matrices) please let me know and I can send them as well. 

Best,
Dominique Hughes

check_sim.ipynb

Dominique Hughes

unread,
May 6, 2024, 4:48:04 PMMay 6
to TVB Users
Hi,

I just wanted to update, that I compared results outside of my parameter search function, but I see the same issue that changing the G parameter does not change the BOLD output results (so I don't think my function is the issue, but maybe the way I am defining my simulations). I've included a figure comparing G=0.5, and G=3.0 for a 30 second BOLD simulation and you can see that the output is the exact same. Has anyone else run into this issue with the reduced Wong Wang with coupled excitatory and inhibitory populations model? Or does anyone have advice for how they defined the simulation in the Python code? I'm not sure what else to try, because I set up my simulation code based on the TVB demos scripts?

Best,
Dominique Hughes
G_comparison_no_for_loop.png

Szymon Tyras

unread,
May 7, 2024, 1:03:57 PMMay 7
to TVB Users
Hi Dominique,  

I've shared my code for the E-I Wong-Wang, adapted from the TVB tutorial in the link below. It successfully generates different BOLD signals for varying G values. I thought it might be of interest.  


Best regards, 
Szymon Tyra

Dominique Hughes

unread,
May 8, 2024, 2:11:20 PMMay 8
to TVB Users
Hi,

Thanks for sharing that link. I am a little confused about the code that you've included here: 

 sim = simulator.Simulator(
        model=models.ReducedWongWang(),
        connectivity=conn,
        coupling=coupling.Linear(),
        integrator=integrators.HeunStochastic(dt=1, noise=noise.Additive(nsig=np.array([1e-5]))),
        monitors=[monitors.Bold(period=2100)]
    ).configure()

    sim.coupling.a = G

It seems as though you are simulating the non-coupled Reduced Wong Wang model, instead of the coupled E-I model here, as I thought the coupled function is 'models.ReducedWongWangExcInh'? Additionally, my understanding of the last line is that you are changing the parameter 'a' in the long-range coupling function to a value represented by the letter G, rather than the model parameter 'G', which would be specified as part of the model. From my understanding of the coupled model, G is a a separate parameter that multiplies the entirety of the long-range coupling function, not a parameter included in the long-range coupling function.

Please let me know if I am not understanding the code/model correctly? 

Best,
Dominique Hughes

WOODMAN Michael

unread,
May 23, 2024, 12:37:59 PMMay 23
to tvb-...@googlegroups.com

hi


there are two main reasons your results are the same: (a) the default value for the linear coupling function is small and not set explicitly in your code since you pass your G_j to the model and (b) the noise value appears quite too high, so given the same initial conditions and noise seed, you get identical noisy time series driving the BOLD monitor resulting in the same time series.  Lastly, the plotting code was transposing the time series, meaning that the time series were not correct.


I attached a notebook with some modifications to illustrate.


cheers,

Marmaduke


From: tvb-...@googlegroups.com <tvb-...@googlegroups.com> on behalf of Dominique Hughes <dhug...@asu.edu>
Sent: Tuesday, April 30, 2024 10:13:35 PM
To: TVB Users
Subject: [RESEAUX SOCIAUX] [TVB] Results the Same for Different G
 

Ce mail provient de l'extérieur, restons vigilants

--
You received this message because you are subscribed to the Google Groups "TVB Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tvb-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tvb-users/6a656ba2-88b8-42a4-a079-de47a206e0a6n%40googlegroups.com.
check_sim.ipynb
Message has been deleted

Dominique Hughes

unread,
May 27, 2024, 8:07:54 AMMay 27
to TVB Users
Hi,

Thank you so much, that is extremely helpful. I was basing the noise value based on results before I realized G was not also changing so I didn't think to reset the values back to a smaller one. The a value in the coupling function being too small for me to see changes in G makes a lot of sense. I really appreciate you sending back the altered code for demonstration.

Thank you so much!

Best,
Dominique Hughes

Reply all
Reply to author
Forward
0 new messages