как использовать maxLik (), чтобы сделать ограниченную оптимизацию в R - PullRequest
0 голосов
/ 12 января 2020

как использовать maxLik () для установки ограничений? Например, бета и alphh должны> 0, а сигма должна> = 0.0001. Ниже мой код:

library(openxlsx)
data<-read.xlsx("E:\\1.my construction\\vasicek\\mle.xlsx",sheet=2)# This is my data
rt<-data$`BMJP02Y(RA)`;rt<-rt[-length(rt)]/100;rT<-data$`BMJP02Y(RA)`[-1]/100;n<-length(rt);pai<-3.14159;e<-exp(1)# This means the valuse of rt,tT,n,pai,e in function below
LL<-function(par)
{
  beta<-par[1];alphh<-par[2];sigma<-par[3]
  f<-0.5*(1-n)*(log(2*pai)+log((1-e^(-2*alphh))*sigma^2/(2*alphh)))-sum(rT-beta-(rt-beta)*e^(-alphh))^2/((1-e^(-2*alphh))*sigma^2/(alphh))
  return(f)
}
library(maxLik)
mle<-maxLik(LL, start=c(beta=0.00101, alphh=0.03452,sigma=0.0007))#This means the method of MLE
summary(mle)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...