ISmKolmogorovSmirnovTest.D

Синтаксис Fore

D: Double;

Синтаксис Fore.NET

D: double;

Описание

Свойство D вычисляет статистику Колмогорова-Смирнова , или , согласно значению параметра Hypothesis.

Комментарии

Для получения вероятности, связанную с полученным значением D, используйте свойство ISmKolmogorovSmirnovTest.P.

Пример Fore

Добавьте ссылку на системную сборку Stat.

Sub UserProc;
Var
    met: SmKolmogorovSmirnovTest;
    can: Array[16Of Double;
    status: Integer;
Begin
    met := New SmKolmogorovSmirnovTest.Create;
    // рассматриваемый ряд  
    can[00] := 6209;
    can[01] := 6385;
    can[02] := 6752;
    can[03] := 6837;
    can[04] := Double.Nan;
    can[05] := 6907;
    can[06] := 7349;
    can[07] := 7213;
    can[08] := Double.Nan;
    can[09] := 7180;
    can[10] := 7132;
    can[11] := 7137;
    can[12] := 7473;
    can[13] := 7722;
    can[14] := 8088;
    can[15] := 8516;
    // задаем параметры метода  
    met.Sample1.Value := can;
    met.MissingData.Method := MissingDataMethod.LinTrend;
    met.ModelPeriod.FirstPoint := 2;
    met.ModelPeriod.LastPoint := 10;
    met.Distribution := KStestDistributionType.Gamma;
    met.Hypothesis := KStestHypothesisType.NotEqual;
    met.SuppliedParameters := True;
    met.Parameter1 := 3;
    met.Parameter2 := 0.2;
    // рассчитываем метод и выводим результаты
    status := met.Execute;
    If status = 0 Then
        Debug.WriteLine("Отклонение (D): " + met.D.ToString);
        Debug.WriteLine("Стандартизованная статистика (Z): " + met.Z.ToString);
        Debug.WriteLine("Вероятность (P): " + met.P.ToString);
    Else
        Debug.WriteLine(met.Errors);
    End If;
End Sub UserProc;

Будет произведена проверка гипотезы о том, что выборка имеет гамма-распределение. В качестве альтернативной гипотезы выбрана гипотеза H1 о том, что данные не могут быть случайной выборкой гамма распределения. После выполнения примера в окно консоли будут выведены значения теста:

Отклонение (D): 1

Стандартизованная статистика (Z): 3

Вероятность (P): 0

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    met: SmKolmogorovSmirnovTest;
    can: Array[16Of Double;
    status: Integer;
Begin
    met := New SmKolmogorovSmirnovTest.Create();
    // рассматриваемый ряд  
    can[00] := 6209;
    can[01] := 6385;
    can[02] := 6752;
    can[03] := 6837;
    can[04] := Double.Nan;
    can[05] := 6907;
    can[06] := 7349;
    can[07] := 7213;
    can[08] := Double.Nan;
    can[09] := 7180;
    can[10] := 7132;
    can[11] := 7137;
    can[12] := 7473;
    can[13] := 7722;
    can[14] := 8088;
    can[15] := 8516;
    // задаем параметры метода  
    met.Sample1.Value := can;
    met.MissingData.Method := MissingDataMethod.mdmLinTrend;
    met.ModelPeriod.FirstPoint := 2;
    met.ModelPeriod.LastPoint := 10;
    met.Distribution := KStestDistributionType.kstdtGamma;
    met.Hypothesis := KStestHypothesisType.ksthtNotEqual;
    met.SuppliedParameters := True;
    met.Parameter1 := 3;
    met.Parameter2 := 0.2;
    // рассчитываем метод и выводим результаты
    status := met.Execute();
    If status = 0 Then
        System.Diagnostics.Debug.WriteLine("Отклонение (D): " + met.D.ToString());
        System.Diagnostics.Debug.WriteLine("Стандартизованная статистика (Z): " + met.Z.ToString());
        System.Diagnostics.Debug.WriteLine("Вероятность (P): " + met.P.ToString());
    Else
        System.Diagnostics.Debug.WriteLine(met.Errors);
    End If;
End Sub;

См. также:

ISmKolmogorovSmirnovTest