2016-07-29 10 views

回答

0

Student t分佈應該採用2個參數,自由度數和零數偏移量。看看它是否適用於您:

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

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

這兩個報告值應該是估計的自由度和偏移值。

1

fitdistrplus軟件包中的fitdist函數使用基於distr參數的分佈函數。因此,考慮這樣的代碼:

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

fitdist使用R的功能rtdtptqt。但是這些函數不支持位置和比例參數(因此上述代碼只會優化df參數並提供非常差的擬合)。因此,解決方案是使用提供所需參數的t分佈版本。 metRology包提供了這樣一個版本metRology。該包中的分佈稱爲t.scaled,並定義了相應的功能(rt.scaled,dt.scaledpt.scaled和​​)。

現在你可以適合三個參數DF,平均值和標準差:

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