学生分布和直方图叠加

时间:2017-03-29 14:30:17

标签: r overlay histogram

有人知道为什么直方图叠加中的t分布只是一条水平线吗? fit.std中的警告()得自自由度的估计,这可能导致无限的可能性 - 参见Fernandez&钢铁(1999)。

library(zoo)
library(rugarch)

data(sp500ret)

g= zoo(sp500ret$SP500RET, as.Date(rownames(sp500ret)))
(fit.std = fitdistr(g,"t"))

mu.std = fit.std$estimate[["m"]]
lambda = fit.std$estimate[["s"]]
nu = fit.std$estimate[["df"]]

# plot
hist(g, density=20, breaks=20, prob=T)
curve(dt(x, nu, lambda), col="red", lwd=2, add=TRUE, yaxt="n")

enter image description here

1 个答案:

答案 0 :(得分:4)

来自fitdistr的帮助文件:

  

对于“t”命名分布,密度被视为具有位置m和比例s的位置比例族。

对于位置比例族,如果我们有位置参数m和比例参数s,那么我们可以使用标准化版本(位置= 0,比例= 1,将其称为f)通过使用获得密度为'x' :

f((x-m)/s)/s

所以对你来说我们有mu.std是位置参数而lambda是比例所以我们想把你的行换成:

curve(dt((x-mu.std)/lambda, nu)/lambda, col="red", lwd=2, add=TRUE, yaxt="n")