hangover
谢谢各位鼓励。等忙过这段就我一定全力写这个软件。
想问一下,谁手里有好的优化算法的C++代码? 比如simulated annealing, Bill Goffe有fortran code. 但是俺不懂fortran. 现在MCMC simulation最方便的方法就是laplace approximation, 但是需要算mode, 所以需要好的优化的算法。gratident算法虽然也行,不过感觉有点落伍了。
先谢了。
hangover
[quote]引用第7楼revell于2007-04-12 00:36发表的“”:
真的是严重跑题了 . 各位大虾快点帮我看看吧.两维的数据我还有数,三维的就要抓瞎了.[/quote]
说实话对panal data真没啥研究,但是真的很想学习学习。 我们图书馆没有你说的那本书 (:
你能用latex把你的模型放上来么?
godjsy
An Introduction to Modern Bayesian Econometrics这本书我也想看,可惜图书馆没有,LZ是amazon买的还是影印的?
ypchen
[quote]引用第8楼hangover于2007-04-12 05:58发表的“”:
谢谢各位鼓励。等忙过这段就我一定全力写这个软件。
想问一下,谁手里有好的优化算法的C++代码? 比如simulated annealing, Bill Goffe有fortran code. 但是俺不懂fortran. 现在MCMC simulation最方便的方法就是laplace approximation, 但是需要算mode, 所以需要好的优化的算法。gratident算法虽然也行,不过感觉有点落伍了。
先谢了。[/quote]
最优化计算原理与算法程序设计 [专著] / 粟塔山, 彭维杰, 周作益等编著
这本书出得比较早 我在九章看到粟塔山有本比较新的
GSL(GNU科学与工程计算函数库)里也许有你需要的
但是如果你用了它,你必须要把你的软件作成自由软件
Fortran我会一点 但是不懂MCMC
其他这个语言还是挺好学的 如果他没有用别的函数库的话
godjsy
An introduction to modern Bayesian econometrics
哪里可以买到,有同学知道不?
revell
回楼上的话.我是借图书馆的书.此书不错,但是有点typo.我想等第二版出来再买,如果一年内出版的话.
另外我的模型很简单的,就是一个单变量Probit模型.当然以后会加入更多的变量.Code里面已经写了这个模型.
revell
另外我原始数据有200多个公司,其中一些自变量缺失了.我用NA在数据中代替了缺失变量.可是prof david spiegelhalter告诉我不可以用NA(尽管我看其他人的例子里面是可以用的).大家认为为什么呢?难道是和Panel data或Probit 有关?我问过David不少问题了,好像人家有点烦了. 汗,不想再问了.
不过我打算使用missing data imputation来弥补缺失的数据
revell
Ding
hangover
[quote]
引用第11楼ypchen于2007-04-12 09:35发表的“”:
.......[/quote]
http://emlab.berkeley.edu/Software/abstracts/goffe895.html
这个是William Goffe fortran code的连接,好像没多少行,实在没有时间去学了,现在我的c库用的都是gradient算法,听朋友说william Goffe的算法不错,哪位fortran高手帮忙重新写个C的?
其实也可以用f2c转换,但是感觉不是很爽。
GSL里面的优化算法需要加强,现在很弱的。刚才看了一下V 1.9还是老样子。
hangover
[quote]引用第14楼revell于2007-04-13 17:55发表的“”:
另外我原始数据有200多个公司,其中一些自变量缺失了.我用NA在数据中代替了缺失变量.可是prof david spiegelhalter告诉我不可以用NA(尽管我看其他人的例子里面是可以用的).大家认为为什么呢?难道是和Panel data或Probit 有关?我问过David不少问题了,好像人家有点烦了. 汗,不想再问了.
不过我打算使用missing data imputation来弥补缺失的数据 [/quote]
如果用Likelihood可以做的,何必再用MCMC?missing data 可否用prior补一下?posterior is propotional to the product of likelihood and prior。 likelihood principal 还是有效的。
如果spiegelhalter说不行,winbugs肯定不行,至少现在。那你只能自己写code了。你把模型放上来,我可以帮你想想。winbugs我用过,很久以前了,不过现在实在没有时间去查manual 去翻译模型。隔行如隔山, 我觉得你的模型很复杂, 但是也很想学习一下。
orange
请问hangover,你知道profile likelihood是什么检验吗?
它和likelihood的区别是什么呢?
谢谢
lindammay
听说spiegelhalter和Brooks都要离开现在的单位了......
有时候我的模型里也不能用NA,一到NA就说什么超过什么向量数什么的,这是为啥呢
有的模型里不用NA表示删失数据的,说不定可以试试
revell
[quote]引用第17楼hangover于2007-04-17 02:05发表的“”:
如果用Likelihood可以做的,何必再用MCMC?missing data 可否用prior补一下?posterior is propotional to the product of likelihood and prior。 likelihood principal 还是有效的。
如果spiegelhalter说不行,winbugs肯定不行,至少现在。那你只能自己写code了。你把模型放上来,我可以帮你想想。winbugs我用过,很久以前了,不过现在实在没有时间去查manual 去翻译模型。隔行如隔山, 我觉得你的模型很复杂, 但是也很想学习一下。[/quote]
谢谢楼上的指点.我打算用data imputation的方法来弥补缺失数据.所以这个目前不是大问题.至于你说的模型,我太不理解.我上面的code里就是一个标准的panel data probit model了.里面复杂的部分是关于如何 orthogonal reparametrizations.按照Tony Lancaster的说法,是为了“This is an attempt to reduce the dependence of inference about beta on the choice of prioior for the individual effects (alpha i).”说老实话他关于如何处理incidental parameter problenm的部分我没有看得太懂.我也不会更复杂的编程了.我打算模仿Tony的代码改写成包含多个自变量的codes.
就是这个部分
alpha ~ dnorm(nu, 1)
nu <- lam [i, z]
z ~ dcat (p[ ])
lam[i, 1] <- -beta * x[i, 1]
lam[i, 2] <- -beta * x[i, 2]
lam[i, 3] <- -beta * x[i, 3]
lam[i, 4] <- -beta * x[i, 4]
lam[i, 5] <- -beta * x[i, 5]
lam[i, 6] <- -beta * x[i, 6]
lam[i, 7] <- -beta * x[i, 7]
lam[i, 8] <- -beta * x[i, 8]
lam[i, 9] <- -beta * x[i, 9]
lam[i, 10] <- -beta * x[i, 10]
lam[i, 11] <- -beta * x[i, 11]
lam[i, 12] <- -beta * x[i, 12]
lam[i, 13] <- -beta * x[i, 13]
hangover
[quote]
引用第18楼orange于2007-04-17 09:48发表的“”:
请问hangover,你知道profile likelihood是什么检验吗?
它和likelihood的区别是什么呢?
谢谢[/quote]
看看这个
http://web.thu.edu.tw/wenwei/www/Courses/glm/ch5.5.doc
hangover
[quote]引用第20楼revell于2007-04-17 18:48发表的“”:
“This is an attempt to reduce the dependence of inference about beta on the choice of prioior for the individual effects (alpha i).”[/quote]
alpha is the fixed-effect? I guess your method is similar to the so-called conditional estimation. it is still not clear to me, i must read the book or the model. can not help you, sorry.
revell
Fine. I will manage to upload related pages in Tony Lancaster's book.
revell
http://files-upload.com/172155/Lancaster2002_Orthogonalparametersandpan.pdf.html
我试着上栽了一篇Tony Lancaster的论文.不过此文比较理论化。我晚上会把他的书关于Panel data probit的部分做成pdf上载。
上面的连接里面,下载的连接在页面中下部,google广告标识下面,不太起眼.
hangover
看了一下,挺有帮助。把书传上来吧,大家可以讨论一下。
revell
http://files-upload.com/173948/Lancaster2004_Panelprobit.doc.html
这里是Tony Lancaster的书的关于Panel Data Probit的章节,一共7页.做成pdf太大了,我就直接上word格式的.里面包括Probit模型,orthogonal reparameterization 和相关的代码.
hangover
[quote]引用第0楼revell于2007-04-10 23:13发表的“WinBUGS问题:
但是问题是,Tony的书里面只给了一个自变量x[i,j]的代码.数据是二维的(N*T).他在这个代码后面说道,如果自变量是一个向量,包含x=(x1,x2,x3,.......)的话,就是我的情况。必须对代码进行改写,数据也要变成3维的(N*T*K,K就是自变量的数量,比如=4).我不知道该如何改写代码和数据,请大家帮我看看吧.
.......[/quote]
先谢谢你上传的论文.
我觉得x是什么东西并不是很重要,关键是要把likelihood写出来, pp.306 最后一个公式,决定因数是"H", the probability distribution function. 这个不应该是什么难题, 硬活, 可能增加几个loop就可以了. 有了likelihood之后再考虑如何specify prior. 他这里的问题是 objective information(likelihood) can not dominate subjective belief(prior),就是likelihood不够强,数据量不够。
看他的两个例子pp.304,一个是informative prior (the precision of fixed/effect has a gamma prior) good result, 另外一个是noninformative prior(flat uniform) which produces inconsistent parameter estimates. 他是reparametrize (redefine) the fixed-effect in order to have orthogonalized likelihoods. 然后选择一个prior让这个新的fixed-effect is prior independent of beta. 也是只有在这种情况下, bayesian inference about beta can be independent of knowledge about the new fixed-effect. 觉得论文比书说得明白些, 可能是前几章没看的原因吧. 还是奇怪, beta和原始的fixed-effect应该有关联阿. 他的解释是"If we can find
such a reparametrization there are incidental parameters but there is, in general, no incidental
parameter problem." 不解??????
data augmentation对于mixture distribution是非常通用的办法,在前面的帖子里已经讨论过了.