How do I interpret these autocorrelograms? Hello signal processing wizards.  I am young and feeble, and would like some help interpreting my spike-train autocorrelograms of six isolated neurons.  These histograms were created using the code pasted below (hist(k)).  Rather than creating an autocorrelation of the actual spike trains, this code correlates interspike intervals (see the following post for another example: 

https://stats.stackexchange.com/questions/148865/how-to-interpret-this-autocorrelogram-graph

I am glad to have gotten the code working, but now I am struggling to interpret what the histogram actually means.  I am aware that the Y-axis shows how strongly the signal is correlated with itself at a particular lag (the X-axis).  However, I am not certain how I can relate these findings to the firing pattern of the neuron.  For instance, if I see a peak at say, ~ 750 ms, does this mean that with a lag time of 750 ms, the firing pattern is more constant/predictable, or does it simply mean that I have more inter-spike intervals of 750 ms?  If someone could clear up my confusion, that would be much appreciated.  On a related note, if anyone has any tips on how to choose an appropriate bin size and window, that would be awesome.  

P.S. The X axis ranges from -1000 ms to 1000 ms.  Bin size is currently set to 50 ms.



time_of_spike= sparse([],[],[],1,tmax/dt);

clus_ms_Mult_10 = round((clusterTimes*10));%cluster time-stamps were in ms

while index &lt; length(clusterTimes);
    time_of_spike(clus_ms_Mult_10(index))=1;
    index=index+1;
end

% % %finding the interspike intervals matrix
I=find(time_of_spike)/10;
i=size(I,2);
for m=1:i
    for n=1:i
        ISI(m,n)=(I(m)-I(n));
    end
end

%calculating the autocorrelation
b=1;
clear k;
for i= MIN:1:MAX
    k(b)=size(find(ISI(:,:)&gt;=i &amp; ISI(:,:)&lt;=i+50),1);%if i want to change "bin
                                                    %size", I can change i+1 to i+largerInt
    b=b+1;
end
To answer your specific question:


  For instance, if I see a peak at say, ~ 750 ms, does this mean that with a lag time of 750 ms, the firing pattern is more constant/predictable, or does it simply mean that I have more inter-spike intervals of 750 ms?


You are calculating a histogram of inter-spike distances, binned at 50 (in the code as written). Obviously the spikes are only zero time instants away from themselves which is why the high peak at zero.

If there is a peak in the histogram at 750ms, it does not say anything about repeated inter-spike intervals of 750ms. That is, just because there is a second spike 750ms after the first spike, it doesn't necessarily mean there will be a third spike 750ms after the second.

It just says that, over time, there is more likely to be a spike 750ms after any given spike.