Pergunta

Eu estou usando o MATLAB para análise de algumas neurociência dados, e eu fiz uma interspike intervalo de distribuição e ajuste exponencial para ele.Então, eu queria verificar este ajuste usando um teste de Kolmogorov-Smirnov com o MATLAB.

Os dados para o neurônio picos é apenas armazenados em um vetor de picos.O spikes vector é um 111 por 1 vetor, onde cada entrada é um outro vetor.Cada entrada no thie spikes vetor representa um julgamento.O número de picos em cada ensaio, varia.Por exemplo, spikes{1} é um [1x116 double], o que significa que existem 116 pontos.O próximo tem 115 picos, em seguida, 108, etc.

Agora, eu entendo que o kstest no MATLAB leva um par de parâmetros.Você insere os dados na primeira, então eu peguei todos os interspike intervalos e criou uma linha de vetor alldiffs que armazena todos os interspike intervalos.Eu quero definir meu CDF para que uma função exponencial ajuste:

test_cdf = [transpose(alldiffs), transpose(1-exp(-alldiffs*firingrate))];

Observe que o teórico exponencial (com o qual eu me encaixo os dados) é r*exp(-rt) onde r é a taxa de disparo.Eu recebo uma taxa de disparo em torno de 0,2.Agora, quando eu colocar todos juntos, eu corro o kstest:

[h,p] = kstest(alldiffs, 'CDF', test_cdf)

No entanto, o resultado é um valor de p na ordem de 1.4455e-126.Eu tentei refazer o test_cdf com outro dos métodos em Mathworks' documentação do website:

test_cdf = [transpose(alldiffs), cdf('exp', transpose(alldiffs), 1/firingrate)];

Isso dá a exata mesmo resultado!É o fit, simplesmente horrível?Eu não sei por que eu fico tão baixos valores de "p".Por favor, ajuda!

Eu ia postar uma imagem do ajuste, mas eu não tenho o suficiente reputação.

P. S.Se existe um lugar melhor para este post, deixe-me saber e eu vou repostar.

Foi útil?

Solução

Aqui está um exemplo com dados falsos, e ainda uma outra forma de criar o CDF:

>> data = exprnd(.2, 100);
>> test_cdf = makedist('exp', 'mu', .2);
>> [h, p] = kstest(data, 'CDF', test_cdf)

h =

     0


p =

    0.3418

No entanto, por que você está fazendo um Teste KS?

Todos os modelos estão errados, alguns são úteis.

Nenhum neurônio é perfeitamente um processo de Poisson e com dados suficientes, você sempre terá uma significativamente não-exponencial ISI, como medido por um teste KS.Isso não significa que você não pode fazer a simplificar pressuposto de uma exponencial ISI, dependendo de quais os fenómenos que você está tentando modelo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top