Я просмотрел этот связанный вопрос и этот связанный вопрос , однако они не касаются моей конкретной проблемы. Оба они обращаются к значительно большим расхождениям.
То, что я вижу с помощью функции TINV()
в Excel, отличается незначительно , на 0,25–0,40%, от того, что я вижу из StatisticFormula.InverseTDistribution()
, но этого достаточно, чтобы беспокоить.
Мой тест:
private static void Test()
{
Chart chart = new Chart(); // needs System.Web.DataVisualization Reference
StatisticFormula f = chart.DataManipulator.Statistics;
//double probability = 0.05;
//int firstDegreeOfFreedom = 7725;
//int secondDegreeOfFreedom = 323;
double probability = 0.15;
int firstDegreeOfFreedom = 8888;
int secondDegreeOfFreedom = 2222;
double inverseT = f.InverseTDistribution(probability, firstDegreeOfFreedom + secondDegreeOfFreedom);
Console.WriteLine("Inverse T is " + inverseT);
}
Для первого набора значений я получаю 1,96790 в C# и 1,96026 в Excel. Для второго набора значений я получаю 1,44323 в C# и 1,43963 в Excel.
Моя версия. NET Framework - 4.5.2
Мой вопрос: моя реализация верный? Я делаю неверное предположение? Если мой код неверен, что мне нужно изменить в моем коде C#, чтобы получить правильный ответ?