Этот пример показывает, как оценить степень критерия Чоу с помощью симуляции Монте-Карло.
Статистическая степень является вероятностью отклонения нулевой гипотезы, учитывая, что это является на самом деле ложным. Оценить степень теста:
Моделируйте много наборов данных из модели, которая символизирует альтернативную гипотезу.
Протестируйте каждый набор данных.
Оцените степень, которая является пропорцией времен, тест отклоняет нулевую гипотезу.
Следующее может поставить под угрозу степень критерия Чоу:
Линейные образцовые отъезды предположения
Относительно большое инновационное отклонение
Используя тест прогноза, когда объем выборки дополнительной подвыборки больше, чем количество коэффициентов в тесте [24].
Отклонения от образцовых предположений допускают исследование факторов, что большинство влияет на степень критерия Чоу.
Рассмотрите модель
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 ]';
Моделируйте 1 000 путей к ответу линейной модели для каждого из маленьких и больших содействующих скачков. Укажите, что 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
В этом сценарии критерий Чоу может обнаружить изменение в коэффициенте с большим количеством степени, когда скачок больше. Тест точки останова имеет большую власть обнаруживать скачок, чем тест прогноза.
Моделируйте 1 000 путей к ответу линейной модели для большого содействующего скачка. Укажите, что 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
Для большего инновационного отклонения оба критерия Чоу испытывают затруднения при обнаружении больших структурных перерывов в прерывании и втором коэффициенте регрессии.