2

適合分布の QQ プロットの生成に問題があります。データは

NormalFit <- fitdistr(obs, densfun="normal") 

ここで、obs は観測値です。

私はただできると思った

qqnorm(NormalFit)

私は同じことをしたい

LogNormalFit <- fitdistr(obs, densfun="log-normal") 
4

1 に答える 1

1

フィットは推測されたパラメーターのみを提供するため、そこからサンプリングしてqqplotを取得する必要があります。その方法については、以下の 3 つの例を参照してください。

library(MASS)
set.seed(999)
par(mfrow=c(1,3))
#simulate data
obs = rnegbin(500, mu = 5, theta = 4)
#fit data 
NormalFit <- fitdistr(obs, densfun="normal") 

#plot
qqnorm(obs,main="qqnorm")
# generate theoretical quantiles
Theo_Quantile = qnorm(ppoints(length(obs)))
qqplot(Theo_Quantile,obs,main="ppoint")
# it's also similar to if you just sample from the fitted distribution
Fitted = rnorm(length(obs),NormalFit$estimate[1],NormalFit$estimate[2])
qqplot(Fitted,obs,main="Sampled from fitted")

ここに画像の説明を入力

于 2019-11-13T15:17:11.197 に答える