全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1945 0
2014-07-02
悬赏 1000 个论坛币 未解决
大家好 我是matlab新手 重金求问一个编程问题

有一段时间序列数据的向量 假设有三段趋势 分别要用最大似然估计用一个GBM拟合: P=aPdt+bPdW.

假如已知分段的点为t1, t2  则可以分别用最大似然估计算出三段数据 (1,t1) (t1+1, t2) (t2+1, end) 的GBM的系数 (a1,b1) (a2,b2) (a3,b3).

现在并不知道分段的点在哪 所以要求出一对点 (t1, t2) 可以使得三个最大似然估计的MLE之和最大

所以整个拟合有八个自由度的未知数 a1 b1 a2 b2 a3 b3 t1 t2.

我尝试用循环做 可是一直没做出来

希望有大神来帮忙
对于一段数据求最大似然估计的code如下

f=@(mu,sigma,div)(div-mu+sigma^2/2).^2/sigma^2+log(2*pi*sigma^2);
theta.div=fminsearch(@(theta)sum(f(theta(1),theta(2),div)),[0 0]);

L_MLE= -sum(f(theta.div(1),theta.div(2),div))/2;   % maximum log-likelihood

MLE = exp(L_MLE);   %maximum likelihood function

所以问题只是如何循环去求(t1, t2) 使得三段MLE的和最大



二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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