対数尤度関数 LogL(\theta) を最小化する 4 つのパラメーターを推定したいと思います。最初の 2 つのパラメーター (a と sigma) は正です。3 番目のものは制約がなく、最後のものはデータの最小値よりも小さい必要があります。そこで、 nlminb 関数を使用して、次のように記述しようとしました。
nlminb(start=c(a=0.13,mu=1,sigma=31,xi=0.01),f,lower=c(0.0001,0,0.123,0.01210),
upper=c(2,18.21,50,0.95),control=list(eval.max=100, iter.max=100))
良い結果が得られましたが、mu の推定量は、使用しようとするすべての値に対して同じ上限値を取り、xi については、開始値を変更しても同じ下限値を取るという問題がまだあります。
対数尤度関数の形式は次のとおりです。
-loglik=-n*log(a)+n*log(1-exp(-1))+n*log(sigma) -(a-1)*sum(log(x-mu))+(1/xi+1)*sum(log(1+xi*((x-mu)**a)/sigma))+ sum((1+xi*((x-mu)**a)/sigma)*(-1/xi))
x-mu
私はポジティブでなければならない別の状態を持って1+xi*((x-mu)*a)/sigma
います。
どんな提案でも大歓迎です