[英]How to generate the estimate parameters (Standard deviation and mean) for an exponential distribution in r?
For example:例如:
#Using QQ-plots to decide which of the Normal, Gumbel and Exponential distribution best fits Qc
qqplot(x=qexp(ppoints(length(data$Qc))), y=data$Qc, main="Exponential Q-Q Plot",
xlab="Theoretical Quantiles", ylab= "Data Quantiles")
qqplot(x=qnorm(ppoints(length(data$Qc))), y=data$Qc, main="Normal Q-Q Plot",
xlab="Theoretical Quantiles", ylab= "Data Quantiles")
qqplot(x=qgumbel(ppoints(length(data$Qc))), y=data$Qc, main="Gumbel Q-Q Plot",
xlab="Theoretical Quantiles", ylab= "Data Quantiles"
How can I generate the estimate parameters (ie the standard deviation and the mean) for normal distribution or the exponential distribution after suppose that I think a normal/exponential distribution is a good model to fit my variable?在假设我认为正态/指数分布是适合我的变量的好模型之后,如何生成正态分布或指数分布的估计参数(即标准偏差和平均值)?
MASS::fitdistr(Qc, dexp, start = list(rate = 0.1))
## 0.0338
## however, the maximum likelihood estimate of the exponential rate parameter
## is just 1/mean(x):
(r <- 1/mean(Qc))
## 0.0338
pexp(30, rate = r, lower.tail = FALSE) ## 0.362
The sample mean and sample standard deviation give good estimates of the mean and SD parameters of the Normal (although we could use fitdistr
if we really want to):样本均值和样本标准差可以很好地估计 Normal 的均值和 SD 参数(尽管如果我们真的想使用fitdistr
可以使用):
MASS::fitdistr(Qc, dnorm, start = list(mean = 25, sd = 7))
pnorm(30, mean = mean(Qc), sd = sd(Qc), lower.tail = FALSE) ## 0.473
library(fitdistrplus)
library(VGAM)
fitdist(Qc, "gumbel", start = list(location = 25, scale = 1))
pgumbel(30, location = 27.03, scale = 7.56, lower.tail = FALSE) ## 0.491
We could just compute the observed probability of values > 30:我们可以计算观察到的值 > 30 的概率:
mean(Qc>30) ## 0.469
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.