2016-07-29 2 views
0

fitdistrplusを使用して、t分布のスケールパラメータの位置を推定するにはどうすればよいですか?私は初期値を提供する必要があることを知っています(MASSでは非常にうまくいきます)が、このパッケージではdfだけが許されます。何か解決策がありますか?fitdistrplusでスケールと位置パラメータを使用してt分布を適合させる方法

多くのありがとうございます。

答えて

0

スチューデントのt分布は自由度の数とゼロからのオフセットの2つのパラメータを取る必要があります。

library(fitdistrplus) 
#sample data 
x<-rnorm(10, 2) 

fitdist(x, "t", start= c(length(x)-1, mean(x))) 

2つの報告値は、推定自由度とオフセット値である必要があります。

1

fitdistrplusパッケージのfitdist関数は、distrパラメータに基づく分布関数を使用します。したがって、このコード所与:

data = 1.5*rt(10000,df=5) + 0.5 
fit1 <- fitdist(data,"t",start=list(df=3)) 

fitdist、R機能をrtを用いdtptqtれます。しかし、これらの関数は位置とスケールのパラメータをサポートしていません(したがって、上記のコードはdfパラメータを最適化し、非常に悪い適合を提供します)。したがって、解決策は、必要なパラメータを提供するt-ディストリビューションのバージョンを使用することです。 metRologyパッケージは、このようなバージョンmetRologyを提供します。そのパッケージ内の分布はt.scaledと呼ばれ、適切な関数が定義されています(rt.scaleddt.scaledpt.scaled、​​)。

今、あなたは、3人のパラメータDFために合う意味とSDができます。

> library("metRology") 
> fit2 <- fitdist(data,"t.scaled", 
        start=list(df=3,mean=mean(data),sd=sd(data))) 
関連する問題