fitdistrplusを使用して、t分布のスケールパラメータの位置を推定するにはどうすればよいですか?私は初期値を提供する必要があることを知っています(MASSでは非常にうまくいきます)が、このパッケージではdfだけが許されます。何か解決策がありますか?fitdistrplusでスケールと位置パラメータを使用してt分布を適合させる方法
多くのありがとうございます。
fitdistrplusを使用して、t分布のスケールパラメータの位置を推定するにはどうすればよいですか?私は初期値を提供する必要があることを知っています(MASSでは非常にうまくいきます)が、このパッケージではdfだけが許されます。何か解決策がありますか?fitdistrplusでスケールと位置パラメータを使用してt分布を適合させる方法
多くのありがとうございます。
スチューデントのt分布は自由度の数とゼロからのオフセットの2つのパラメータを取る必要があります。
library(fitdistrplus)
#sample data
x<-rnorm(10, 2)
fitdist(x, "t", start= c(length(x)-1, mean(x)))
2つの報告値は、推定自由度とオフセット値である必要があります。
fitdistrplusパッケージのfitdist
関数は、distrパラメータに基づく分布関数を使用します。したがって、このコード所与:
data = 1.5*rt(10000,df=5) + 0.5
fit1 <- fitdist(data,"t",start=list(df=3))
fitdist
、R機能をrt
を用いdt
、pt
とqt
れます。しかし、これらの関数は位置とスケールのパラメータをサポートしていません(したがって、上記のコードはdfパラメータを最適化し、非常に悪い適合を提供します)。したがって、解決策は、必要なパラメータを提供するt-ディストリビューションのバージョンを使用することです。 metRologyパッケージは、このようなバージョンmetRologyを提供します。そのパッケージ内の分布はt.scaledと呼ばれ、適切な関数が定義されています(rt.scaled
、dt.scaled
、pt.scaled
、)。
今、あなたは、3人のパラメータDFために合う意味とSDができます。
> library("metRology")
> fit2 <- fitdist(data,"t.scaled",
start=list(df=3,mean=mean(data),sd=sd(data)))