So I have been trying to change the parameters I am using in my IZH neuron for a RS neuron, so that the behaviour matches that of a pre-modelled cortical excitatory neuron (MPE). I changed the variables a and the threshold, which made it resemble the MPE neuron more, but the MPE neuron resets to around -47mV and when I change the reset value c I get some weird behaviour. Here are some pictures showing what I am talking about:
But when I change c from -65mV to -47mV I get the following:
Anyone have any solutions to this? Thanks!
I’ll throw out a collection of random thoughts on the topic, but probably the most effective thing to do is look for papers fitting Ihzikevich models to data. (it looks like you’ve already started that process from other threads here).
- you could throw black-box optimization at the problem.
- something like MATLAB’s optimization toolbox would give you an interactive, tunable way to do this. I don’t have much experience with doing this in python, but this looks like it might be helpful - PyGAD
- one of the major challenges here will be specifying the right cost function to optimize. You might consider objectives which include getting the overall firing rate correct, as well as “spike-distance” metrics which try to line up precise spike times. (this scholarpedia article covers several popular examples)
- you could perform parameter sweeps to find, empirically, some patterns of spiking which look qualitatively similar to your cortical neuron
- you could construct a phase-plane visualization in order to get better insight into the relationship between key parameters and qualitative behaviors of the model
- here are some lecture notes covering phase-plane reductions of the hodgkin-huxley models, but I seem to recall there being several papers and maybe even a textbook chapter or two on doing this with the izhikevich equations
- this kind of approach is especially useful at explaining phenomena like “why does this model neuron spike twice before dipping back down”
a bonus, random hunch: The voltage cortical model dips down to before jumping up is not solely a function of the reset voltage. To me, it looks like the voltage is being “buoyed up” by the input current, so another way to lift that baseline might be to increase the stimulus sensitivity b. Also your cortical model voltage seems to decay quite slowly compared to the izhikevich, which may mean decreasing the decay rate a
@lann591 correct me if I’m wrong. You want to reproduce the recording of a real MPE neuron (left on the screenshot) using the Izhikevich model (right on the screenshot). Is that right?
If so, I doubt that is possible without changing three other “baked-in” parameters, namely 0.04, 5., and 140. The problem is that after the voltage crosses ~ -40 mV, the dynamics drive it into infinity, the reset catches it at the “threshold” level, and set to some low voltage. So spike downstroke is always instant (one simulation step) in this model. There is no way to have slow, lovely voltage decay as in the MPE recording.
Agreeing with all that has been said. In case you want to fit a model, of course the
brian2modelfitting library might come handy . But as @rth pointed out, you cannot really use the Izhikevich model (or similar I&F models) to fit the details of a membrane potential trace. This is even evident in Izhikevich’s examples, e.g. in Fig. 1 of Izhikevich (2003) – the experimental recording of the RS neuron has a much lower resting potential compared to the model. On the other hand, these types of models can be used to fit the spiking response. I don’t know the paper you linked in Implementation of Izhikevich neuron model - #16 by lann591, but it seems that they did only that, i.e. recreate ISIs.