【问题标题】:Adapting code from one-sided p-values to two sided将代码从一侧 p 值调整为两侧
【发布时间】:2019-10-08 19:30:57
【问题描述】:

我有一些来自 Rapach、Strauss 和 Zhou (2013)、Journal of Finance 的代码。

它为单边假设检验计算引导 p 值,

H0: B=0 against H1: B>0

我是否可以修改此代码来计算假设检验:

H0: B=0 against H1: B\=0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Computing statistics for wild bootstrapped pseudo samples
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

stats_boot=zeros(N+1,N,B);
for b=1:B;
    for j=1:N;
        [results_j_star,R_squared_j_star]=...
            Estimate_Granger_pairwise_GMM(Y_star(:,:,b),...
            Y_star(:,:,b),X_1_star(:,:,b),X_2_star(:,:,b),j);
        for i=1:(N-1);
            if j==1;
                stats_boot(i+1,j,b)=results_j_star(i,2);
            else
                if i<j;
                    stats_boot(i,j,b)=results_j_star(i,2);
                else
                    stats_boot(i+1,j,b)=results_j_star(i,2);
                end;
            end;
        end;
        stats_boot(N+1,j,b)=results_j_star(end,2);
        disp([b j]);
    end;
end;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Computing wild bootstrapped p-values
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for j=1:N;
    for i=1:N+1;
        stats_boot_i_j=stats_boot(i,j,:);
        stats_p_i_j=stats_boot_i_j>results_all(2,j,i);
        results_all(3,j,i)=sum(stats_p_i_j)/B;
    end;
end;

【问题讨论】:

    标签: matlab statistics regression linear-regression


    【解决方案1】:

    在原始代码中,stats_p_i_j=stats_boot_i_j&gt;results_all(2,j,i); 行标识了引导结果大于实际结果的所有值。这是进行“单面”测试的传统方法。您需要进行对应于H0: B=0 against H1: B\=0 的双面测试。要转换为双边测试,我们只需要计算所有大于或小于(基本上不等于)实际结果的自举值。

    因此,在代码中,您不使用&gt;,而是使用~=。修改后的代码如下所示:

    for j=1:N;
        for i=1:N+1;
            stats_boot_i_j=stats_boot(i,j,:);
            %changes begin here
            stats_p_i_j=stats_boot_i_j~=results_all(2,j,i);
            %changes end here
            results_all(3,j,i)=sum(stats_p_i_j)/B;
        end;
    end;
    

    【讨论】:

    • @TonyChivers 我已经编辑了答案以包括我对更改的推理。感谢您指出。
    • 您认为在提供的其他答案之后您的答案有误吗?
    • 我不同意。另一个答案是关于如何确定获得的 p 值的重要性,而 OP 专门询问如何计算所需的 p 值。计算独立于显着性检验。在 ttest 中,t 值计算也是独立的,而显着性是使用第二个答案中提供的方法计算的
    【解决方案2】:

    我认为原来的答案是不正确的。

    如果我们认为双尾的假设检验是:

    H0: b=0, HA:b\=0
    

    那么上面的答案只告诉我们t什么时候不等于临界值,基本上一直都是这样。

    但是考虑一下 t 检验,

    双尾应该是,

    Reject H0 is |t|>t_(alpha/2)
    

    因此 OP 需要更改代码以解决此问题。

    这应该是评论而不是答案,但我的代表少于 50!

    【讨论】:

    • 您的答案是关于如何确定获得的 p 值的重要性,而 OP 专门询问如何计算所需的 p 值。计算独立于显着性检验。在 ttest 中,t 值计算也是独立的,而显着性是使用答案中提供的方法计算的。
    • 另外,包含alpha 的论点也适用于单面测试。由于原始代码没有对此做出规定,因此我怀疑在这种情况下不需要它。
    • 同意,但我们是否都同意另一个答案是错误的,应该删除。将我的回答视为长评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 2016-09-15
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多