IEmUnivariateSpectrumAnalysisSettings.Serie

Синтаксис Fore

Serie: IEmSerie;

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

Serie: Prognoz.Platform.Interop.Modeller.IEmSerie;

Описание

Свойство Serie определяет исходный ряд.

Комментарии

Если исходный ряд не задан, то корректный расчёт метода «Спектральный анализ» невозможен.

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компонент CheckBox с идентификатором «CheckBox1». Добавьте ссылки на системные сборки «Modeller», «Stat».

Sub UnivariateSpectrumAnalysis;
Var
    ExprMod: IExpressModeller;
    Ar, Cov: Array[14Of Double;
    Serie: IEmSerie;
    Sett: IEmUnivariateSpectrumAnalysisSettings;
    Period: IEmPeriodSettings;
Begin
    ExprMod := New ExpressModeller.Create;
    Sett := ExprMod.CreateUnivariateSpectrumAnalysisSettings;
    // Задаем исходный ряд данных
    Ar[0] := 5.8; Ar[1] := 5.0; Ar[2] := 2.6; Ar[4] := 7.2;
    Ar[5] := 2.8; Ar[6] := 6.2; Ar[7] := 9.5; Ar[8] := 7.4;
    Ar[10] := 9.4; Ar[11] := 10; Ar[12] := 5.4; Ar[13] := 8.1;
    Ar[3] := Double.Nan; Ar[9] := Double.Nan;
    Serie := ExprMod.Series.Add(Ar, "X1""Ряд данных 1");
    Sett.Serie := Serie;
    // Задаем тип начальной корректировки
    Sett.InitCorrection := InitCorrectionType.TrendCorrection;
    // Задаем тип лагового окна
    Sett.LagWindow := LagWindowType.Trapezoidal;
    // Задаем параметр формы
    Sett.ShapeParameter := 0.5;
    // Задаем долю краевых данных
    Sett.DataProportion := 0.1;
    // Задаем точку отсечения
    Sett.CutOffPoint := 13;
    // Задаем количество ковариаций
    Sett.CovariancesCount := 14;
    // Определяем способ задания ковариаций
    If CheckBox1.Checked Then
        // Ковариации рассчитываются
        Sett.CalculateCovariances := True;
    Else
        // Ковариации задаются массивом значений
        Cov[0] := 0.4; Cov[1] := 1.8; Cov[2] := 3.2;
        Cov[3] := 4.6; Cov[4] := 6; Cov[5] := 7.4;
        Cov[6] := 8.8; Cov[7] := 10.2; Cov[8] := 11.6;
        Cov[9] := 13; Cov[10] := 14.4; Cov[11] := 15.8;
        Cov[12] := 17.2; Cov[13] := 18.6;
        Sett.Covariances := Cov;
    End If;
    // Задаем порядок быстрого преобразования Фурье
    Sett.FastFourierTransformOrder := 64;
    // Задаем делитель частоты
    Sett.FrequencyDevision := 64;
    // Не применяем  смещение спектральных оценок
    Sett.LoggedSpectralEstimates := False;
    // Задаем периоды расчёта
    Period := Sett.Period;
    Period.BeginPeriod := 1;
    Period.EndPeriod := 13;
    // Выполняем расчёт
    ExprMod.EvaluateMethod("C:\UnivariateSpectrumAnalysis.html", Sett, True);
End Sub UnivariateSpectrumAnalysis;

Результат выполнения примера: будет выполнен расчёт метода «Спектральный анализ» по заданным параметрам. Если флажок «CheckBox1» снят, то будут использованы указанные значения ковариаций; если флажок установлен - то ковариации будут рассчитаны. Отчёт о расчёте метода будет сохранен в файл «C:\UnivariateSpectrumAnalysis.html».

Пример Fore.NET

Для выполнения примера предполагается наличие формы, содержащей компонент CheckBox с идентификатором «checkBox1».

Imports Prognoz.Platform.Interop.Modeller;
Imports Prognoz.Platform.Interop.Stat;

Public Sub UnivariateSpectrumAnalysis();
Var
    ExprMod: IExpressModeller;
    Ar, Cov: Array[14Of Double;
    Serie: IEmSerie;
    Sett: IEmUnivariateSpectrumAnalysisSettings;
    Period: IEmPeriodSettings;
Begin
    ExprMod := New ExpressModeller.Create();
    Sett := ExprMod.CreateUnivariateSpectrumAnalysisSettings();
    // Задаем исходный ряд данных
    Ar[0] := 5.8; Ar[1] := 5.0; Ar[2] := 2.6; Ar[4] := 7.2;
    Ar[5] := 2.8; Ar[6] := 6.2; Ar[7] := 9.5; Ar[8] := 7.4;
    Ar[10] := 9.4; Ar[11] := 10; Ar[12] := 5.4; Ar[13] := 8.1;
    Ar[3] := Double.Nan; Ar[9] := Double.Nan;
    Serie := ExprMod.Series.Add(Ar, "X1""Ряд данных 1");
    Sett.Serie := Serie;
    // Задаем тип начальной корректировки
    Sett.InitCorrection := InitCorrectionType.icTrendCorrection;
    // Задаем тип лагового окна
    Sett.LagWindow := LagWindowType.lwtTrapezoidal;
    // Задаем параметр формы
    Sett.ShapeParameter := 0.5;
    // Задаем долю краевых данных
    Sett.DataProportion := 0.1;
    // Задаем точку отсечения
    Sett.CutOffPoint := 13;
    // Задаем количество ковариаций
    Sett.CovariancesCount := 14;
    // Определяем способ задания ковариаций
    If checkBox1.Checked Then
        // Ковариации рассчитываются
        Sett.CalculateCovariances := True;
    Else
        // Ковариации задаются массивом значений
        Cov[0] := 0.4; Cov[1] := 1.8; Cov[2] := 3.2;
        Cov[3] := 4.6; Cov[4] := 6; Cov[5] := 7.4;
        Cov[6] := 8.8; Cov[7] := 10.2; Cov[8] := 11.6;
        Cov[9] := 13; Cov[10] := 14.4; Cov[11] := 15.8;
        Cov[12] := 17.2; Cov[13] := 18.6;
        Sett.Covariances := Cov;
    End If;
    // Задаем порядок быстрого преобразования Фурье
    Sett.FastFourierTransformOrder := 64;
    // Задаем делитель частоты
    Sett.FrequencyDevision := 64;
    // Не применяем  смещение спектральных оценок
    Sett.LoggedSpectralEstimates := False;
    // Задаем периоды расчёта
    Period := Sett.Period;
    Period.BeginPeriod := 1;
    Period.EndPeriod := 13;
    // Выполняем расчёт
    ExprMod.EvaluateMethod("C:\UnivariateSpectrumAnalysis.html", Sett, True);
End Sub UnivariateSpectrumAnalysis;

Результат выполнения примера: будет выполнен расчёт метода «Спектральный анализ» по заданным параметрам. Если флажок «checkBox1» снят, то будут использованы указанные значения ковариаций; если флажок установлен - то ковариации будут рассчитаны. Отчёт о расчёте метода будет сохранен в файл «C:\UnivariateSpectrumAnalysis.html».

См. также:

IEmUnivariateSpectrumAnalysisSettings