【发布时间】:2015-06-28 23:59:37
【问题描述】:
我目前使用混合模型包EMMIXskew 并在我的数据(一些数值向量)上安装了一个 skew-t 分布。
该包有一些密度函数ddmst,但我还没有看到这个包中的概率密度函数,我需要一些!
我认为我能做的是
- 使用其他一些为 skew-t 分发提供 pdf 的软件包,
像包
sn和pst,但问题是这个分布 对 skew-t 分布有不同的定义, 或者 - 我可以在
ddmst上使用integrate,但目前还不行。
我尝试了类似的东西
library(EMMIXskew)
dat <- rdmst(n=1000,p=1,mean=0,cov=1,del=1)
mu=0.01
sigma=0.9
nu=1.1
del=3
pdmst <- function(x){
ddmst(x,n=length(dat),p=1,mean=mu,cov=sigma,nu=nu,del=del)
}
x=0.6
F_x <- integrate(pdmst,lower=-Inf,upper=x)
如果我假设我的数据具有参数的 3 模态
mu=c(0.01,2,-0.4)
sigma=c(0.9,2,2.3)
nu=c(1.1,1,0.8)
del=c(3,2,1.2)
pdmst <- function(x){
ddmst(x,n=length(dat),p=1,mean=mu,cov=sigma,nu=nu,del=del)
我收到这个错误
Error in ddmix(dat, n, p, 1, "mst", mean, cov, nu, del) : dat does not match n and p.
我真的不知道我做错了什么!
【问题讨论】:
标签: r mixture-model