ISmPooledModel.WeightedSummaryStatistics

Синтаксис

WeightedSummaryStatistics: ISummaryStatistics;

Описание

Свойство WeightedSummaryStatistics возвращает взвешенные описательные статистики модели.

Комментарии

Описательные статистики рассчитываются по общим формулам. Статистики, не актуальные для данной модели, рассчитаны не будут.

Пример

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

Sub UserProc;
Var
    PooledModel: ISmPooledModel;
    yY: Array[62Of Double;
    x1x, x2x: Array[72Of Double;
    Constan: IIntercept;
    Status, i: Integer;
    d1,d2: Array Of Double;
Begin
    PooledModel := New SmPooledModel.Create;
    // Объясняемые значения
    yY[00] := 20;  yY[01] := 17;
    yY[10] := 7;   yY[11] := 28;
    yY[20] := -50; YY[21] := 21;
    yY[30] := 20;  yY[31] := 17;
    yY[40] := 25;  yY[41] := 7;
    yY[50] := -50; YY[51] := 0.1;
    PooledModel.Explained.Value := YY;
    // Объясняющие значения
    x1x[00] := 4;   x1x[01] := -1.5;
    x1x[10] := 0.5; x1x[11] := 5;
    x1x[20] := -2;  x1x[21] := 2.5;
    x1x[30] := 130; x1x[31] := 131;
    x1x[40] := 141; x1x[41] := 145;
    x1x[50] := 150; x1x[51] := 151;
    x1x[60] := 160; x1x[61] := 161;
    PooledModel.Explanatories.Add.Value := x1x;
    // Веса
    x2x[00] := 3;    x2x[01] := 0.5;
    x2x[10] := 6;    x2x[11] := 1;
    x2x[20] := 0.75; x2x[21] := 2;
    x2x[30] := 230;  x2x[31] := 231;
    x2x[40] := 240;  x2x[41] := 241;
    x2x[50] := 250;  x2x[51] := 251;
    x2x[60] := 260;  x2x[61] := 261;
    PooledModel.Weights := x2x;
    // Период идентификации
    PooledModel.ModelPeriod.FirstPoint := 1;
    PooledModel.ModelPeriod.LastPoint := 5;
    // Последняя точка прогноза
    PooledModel.Forecast.LastPoint := 7;
    // Веса
    PooledModel.GLSWeights := GLSWeightsType.PeriodWeights;
    // Тип модели
    PooledModel.CrossSection := PooledModelCrossSectionType.None;
    // Параметры коэффициентов модели
    Constan := PooledModel.ModelCoefficients.Intercept;
    Constan.Mode := InterceptMode.None;
    //Запускаем расчет
    Status := PooledModel.Execute;
    If Status = 0 Then
        Debug.WriteLine("=== Взвешенные описательные статистики ===");
        Debug.WriteLine(" Коэффициент детерминации: " + PooledModel.WeightedSummaryStatistics.R2.ToString);
        Debug.WriteLine(" Среднее остатков: " + PooledModel.WeightedSummaryStatistics.ME.ToString);
        Debug.WriteLine(" Стандартная ошибка: " + PooledModel.WeightedSummaryStatistics.SE.ToString );
        Debug.WriteLine(" Стандартное отклонение остатков: " + PooledModel.WeightedSummaryStatistics.SEE.ToString);
        Debug.WriteLine("=== Описательные статистики ===");
        Debug.WriteLine(" Коэффициент детерминации: " + PooledModel.SummaryStatistics.R2.ToString);
        Debug.WriteLine(" Среднее остатков: " + PooledModel.SummaryStatistics.ME.ToString);
        Debug.WriteLine(" Стандартная ошибка: " + PooledModel.SummaryStatistics.SE.ToString);
        Debug.WriteLine(" Стандартное отклонение остатков: " + PooledModel.SummaryStatistics.SEE.ToString);
        Debug.WriteLine("=== Остатки ===");
        For i := 0 To PooledModel.Residuals.GetUpperBound(1Do
            d1 := PooledModel.Residuals;
            d2 := PooledModel.Residuals;
            Debug.WriteLine(" " + d1[i,0].ToString + " " + d2[i,1].ToString);
        End For;
    End If;
End Sub UserProc;

После выполнения примера будет рассчитана модель регрессии на панельных данных со случайными эффектами, результаты расчета выведены в окно консоли.

См. также:

ISmPooledModel