Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何找到估计参数的标准误差_Matlab - Fatal编程技术网

Matlab 如何找到估计参数的标准误差

Matlab 如何找到估计参数的标准误差,matlab,Matlab,我通过函数fminsearch使用最大似然法估计参数,但我不知道如何计算参数的标准误差(计算p值) 这是我的型号代码: function f = myRegime1(p,y,o) T = size(y); x = 0; xi1 = 0.8; xi2 = 1-xi1; LL = 0; for t = 2:T k = o(t); p11 = exp(p(1)+p(2)*k) / (1+exp(p(1)+

我通过函数
fminsearch
使用最大似然法估计参数,但我不知道如何计算参数的标准误差(计算p值)

这是我的型号代码:

function f = myRegime1(p,y,o)

    T   = size(y);
    x   = 0;
    xi1 = 0.8;
    xi2 = 1-xi1;
    LL  = 0;

    for t = 2:T

        k = o(t);

        p11 = exp(p(1)+p(2)*k) / (1+exp(p(1)+p(2)*k));
        p22 = exp(p(3)+p(4)*k) / (1+exp(p(3)+p(4)*k));

        s = y(t);
        f = p(5) + p(6)*o(t);

        x(t) = s-f;

        e1 = x(t)-p(7);
        e2 = x(t)-p(8);

        L1 = -log(2*pi) - log(sqrt(p( 9))) - e1^2/(2*p( 9));
        L2 = -log(2*pi) - log(sqrt(p(10))) - e2^2/(2*p(10));

        L = xi1*p11*L1 + xi1*(1-p11)*L2 + xi2*p22*L2 + xi2*(1-p22)*L1;

        xi1 = (xi1*p11*L1 + xi2*(1-p22)*L1)/L;
        xi2 = (xi1*(1-p11)*L2 + xi2*p22*L2)/L;

        LL = LL+L;
    end

    f = LL;

end

我想请你参考一下,这似乎解决了你的问题。基本思想似乎是找到标准偏差和雅可比矩阵的数值估计值,然后从中计算标准误差。给出的代码有很好的文档记录。

p值和置信区间是两个不同的东西。此外,获取CI也是一件棘手的事情,我相信它是基于所选择的模型。您可能希望使模型方程更明确,并将问题迁移到交叉验证。p值应足以满足我的目的。我觉得你提到的文件很混乱,你能解释清楚吗?