Псевдокодовая реализация функции TDIST в Excel - PullRequest
0 голосов
/ 12 января 2010

Я проводил некоторые исследования статистической значимости, и я многому научился, но, похоже, врезался в стену, когда дело доходит до вычисления значений P.

Мне кажется, что я нахожусь на 95% пути; просто все, что я читаю при расчете значений P, ссылается на таблицу, а не предлагает программное решение.

Кажется, что функция TDIST в Excel делает то, что я хочу (у меня уже есть статистика T, которую я могу передать TDIST вместе с N - 2 в качестве степеней свободы, где N - размер моей выборки); но мне неясно, как эта функция работает. Говоря математически, я считаю, что это нахождение области под кривой нормального распределения за пределами указанного значения; но как может выглядеть код?

Подойдет любая понятная, читаемая реализация функций такого типа: C, Java, Python, псевдокод и т. Д.

Ответы [ 2 ]

3 голосов
/ 12 января 2010

Если вы можете использовать код GNU, я предлагаю использовать Научную библиотеку GNU (GSL).

TDIST(x,df,tc) в Excel переводится как

return gsl_cdf_tdist_Q(x, df) * tc;

См. http://www.gnu.org/software/gsl/manual/html_node/The-t_002ddistribution.html для руководства.

См. http://gsl.sourcearchive.com/documentation/1.9/cdf_2tdist_8c-source.html для реализации (используется последовательное расширение).

1 голос
/ 12 января 2010

См. Эту статью Wikipedia on student-t для формулы накопительной функции распределения.

Примером кода является, например, в файле src/nmath/pt.c в библиотеке nmath для R .

...