全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
10206 13
2012-06-23


我做了一个模型,想对相关参数进行估计,因为已经有了log likelihood function,也用fminsearch这个函数优化得到了相关参数的值。但是能不能通过方式得到这些参数进行t检验,看看他们是否显著?

后来我又用mle(data,'nloglf',@nLogLik,'start',x0)这个函数做了一下,但是每次都有下面的错误
Subscripted assignment dimension mismatch.

Error in fminsearch (line 191)
fv(:,1) = funfcn(x,varargin{:});

Error in mlecustom (line 178)
        [phat,nll,err,output] = ...

Error in mle (line 228)
            [phat, pci] = mlecustom(data,varargin{:});

请大家指点一下,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-8-15 15:19:56
你的问题解决了吗?我用R编程,也得到了参数值,但是不知道怎么得到参数的显著水平,我们可以交流一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-17 21:41:01
基本思路如下:
1)写出优化函数,即你最小化的那个函数;
2)求出它在最优值点处的海塞矩阵(要用到数值微分函数,不熟的话上网搜),这就是估计参数的方差矩阵;
3)求出这个矩阵的对角元素,开方,跟就是标准差;
4)根据对参数分布的假设(通常为正态分布)计算显著水平或者P值。

当然,如果计量熟的话,还有更为直接的方法,不需要求海塞矩阵,只需要求梯度即可,思路可以参见高级计量教材。

如果管用,其给个评价,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-18 04:51:01
lustboy 发表于 2012-8-17 21:41
基本思路如下:
1)写出优化函数,即你最小化的那个函数;
2)求出它在最优值点处的海塞矩阵(要用到数值 ...
很感谢你的回复,你的思路和matlab自身mle里面的算法差不多,但是关键在于Hessian矩阵自身在最优点的值是未知的,如果能够知道最优点的值,那实际上问题就解决了。求梯度的方法也有一个问题,就是只能在初值附近得到一个局部最优,因此最终结果对于初值敏感。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-18 04:54:55
迷途mitu 发表于 2012-8-15 15:19
你的问题解决了吗?我用R编程,也得到了参数值,但是不知道怎么得到参数的显著水平,我们可以交流一下
我觉得如果已经求出了参数值,应该隐含着已经求出了std,可能在你的代码里没有包含显示这个值得语句吧。我现在改用遗传算法的那个工具包求了。具体求显著性还在研究中,可能我的参数值过多,Hessian矩阵不正定,看看还有什么办法。保持联系,我曾经用Gauss那个软件求过,相对简单些,不过不知道是局部解还是全局最优
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-18 14:03:15
darkforever 发表于 2012-8-18 04:54
我觉得如果已经求出了参数值,应该隐含着已经求出了std,可能在你的代码里没有包含显示这个值得语句吧。我 ...
我得到了参数值,但是Hessian矩阵没办法求逆,Hessian矩阵的逆矩阵就是参数的协方差矩阵吧?但是不能求逆很奇怪。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群