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