exponenta event banner

Мощность теста Chow

В этом примере показано, как оценить мощность теста Chow с помощью моделирования Монте-Карло.

Введение

Статистическая мощность - вероятность отклонения нулевой гипотезы при условии, что она на самом деле является ложной. Для оценки мощности теста:

  1. Моделирование множества наборов данных из модели, которая типизирует альтернативную гипотезу.

  2. Протестируйте каждый набор данных.

  3. Оцените мощность, которая представляет собой долю раз, когда тест отклоняет нулевую гипотезу.

Мощность теста Chow может быть скомпрометирована следующим образом:

  • Отклонения предположений линейной модели

  • Относительно большая инновационная дисперсия

  • Использование теста прогноза, когда размер выборки комплементарного подпроба больше, чем количество коэффициентов в тесте [38].

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

Рассмотрим модель

y = [X100X2] [beta1beta2] + innov

  • innov - вектор случайных гауссовых вариаций со средним нулем и стандартным отклонением sigma.

  • X1 и X2 представляют собой наборы данных предиктора для начального и комплементарного подприборов соответственно.

  • beta1 и beta2 - векторы коэффициентов регрессии для начального и комплементарного подприборов соответственно.

Моделирование данных предиктора

Укажите четыре предиктора, 50 наблюдений и точку разрыва в периоде 44 для моделируемой линейной модели.

numPreds = 4;
numObs = 50;
bp = 44;
rng(1); % For reproducibility

Сформируйте данные предиктора, указав средство для предикторов, а затем добавив случайный стандартный гауссов шум к каждому из средств.

mu = [0 1 2 3];
X = repmat(mu,numObs,1) + randn(numObs,numPreds);

Чтобы указать перехват, добавьте столбец из них к данным предиктора.

X = [ones(numObs,1) X];
X1 = X(1:bp,:);        % Initial subsample predictors
X2 = X(bp+1:end,:);    % Complementary subsample predictors

Укажите истинные значения коэффициентов регрессии.

beta1 = [1 2 3 4 5]'; % Initial subsample coefficients

Оценка мощности для малого и большого прыжка

Сравните мощность между точкой разрыва и прогнозными тестами для прыжков разных размеров, малых в коэффициентах перехвата и второй регрессии. В этом примере небольшой скачок - это увеличение текущего значения на 10%, а большой скачок - увеличение на 15%. Дополнительные коэффициенты подпроба

beta2Small = beta1 + [beta1(1)*0.1 0 beta1(3)*0.1 0 0 ]'; 
beta2Large = beta1 + [beta1(1)*0.15 0 beta1(3)*0.15 0 0 ]';

Смоделировать 1000 путей отклика линейной модели для каждого из скачков малых и больших коэффициентов. Укажите, что sigma составляет 0,2. Используется для проверки перехвата и второго коэффициента регрессии.

M = 1000;

sigma = 0.2;
Coeffs = [true false true false false];
h1BP = nan(M,2); % Preallocation
h1F = nan(M,2);
for j = 1:M
    innovSmall = sigma*randn(numObs,1);
    innovLarge = sigma*randn(numObs,1);
    ySmall = [X1 zeros(bp,size(X2,2)); ...
        zeros(numObs - bp,size(X1,2)) X2]*[beta1; beta2Small] + innovSmall;
    yLarge = [X1 zeros(bp,size(X2,2)); ...
        zeros(numObs - bp,size(X1,2)) X2]*[beta1; beta2Large] + innovLarge;
    h1BP(j,1) = chowtest(X,ySmall,bp,'Intercept',false,'Coeffs',Coeffs,...
        'Display','off')';
    h1BP(j,2) = chowtest(X,yLarge,bp,'Intercept',false,'Coeffs',Coeffs,...
        'Display','off')';
    h1F(j,1) = chowtest(X,ySmall,bp,'Intercept',false,'Coeffs',Coeffs,...
        'Test','forecast','Display','off')';
    h1F(j,2) = chowtest(X,yLarge,bp,'Intercept',false,'Coeffs',Coeffs,...
        'Test','forecast','Display','off')';
end

Оценка мощности путем вычисления доли времени chowtest правильно отвергла нулевую гипотезу стабильности коэффициента.

power1BP = mean(h1BP);
power1F = mean(h1F);
table(power1BP',power1F','RowNames',{'Small_Jump','Large_Jump'},...
    'VariableNames',{'Breakpoint','Forecast'})
ans=2×2 table
                  Breakpoint    Forecast
                  __________    ________

    Small_Jump      0.717        0.645  
    Large_Jump      0.966         0.94  

В этом сценарии тест Chow может обнаружить изменение коэффициента с большей мощностью, когда скачок больше. Тест точки разрыва имеет большую мощность для обнаружения скачка, чем тест прогноза.

Оценка мощности для большой дисперсии инноваций

Смоделировать 1000 путей отклика линейной модели для скачка больших коэффициентов. Укажите, что sigma составляет 0,4. Используется для проверки перехвата и второго коэффициента регрессии.

sigma = 0.4;
h2BP = nan(M,1); 
h2F = nan(M,1);
for j = 1:M
    innov = sigma*randn(numObs,1);
    y = [X1 zeros(bp,size(X2,2)); ...
        zeros(numObs - bp,size(X1,2)) X2]*[beta1; beta2Large] + innov;
    h2BP(j) = chowtest(X,y,bp,'Intercept',false,'Coeffs',Coeffs,...
        'Display','off')';
    h2F(j) = chowtest(X,y,bp,'Intercept',false,'Coeffs',Coeffs,...
        'Test','forecast','Display','off')';
end

power2BP = mean(h2BP);
power2F = mean(h2F);
table([power1BP(2); power2BP],[power1F(2); power2F],...
    'RowNames',{'Small_sigma','Large_Sigma'},...
    'VariableNames',{'Breakpoint','Forecast'})
ans=2×2 table
                   Breakpoint    Forecast
                   __________    ________

    Small_sigma      0.966         0.94  
    Large_Sigma      0.418        0.352  

Для большей дисперсии инноваций оба теста Чоу испытывают трудности с обнаружением больших структурных разрывов в коэффициенте перехвата и втором коэффициенте регрессии.

См. также

Связанные темы