В настоящее время я работаю с пакетом моделей смеси EMMIXskew
, и я установил распределение асимметрии для моих данных (некоторый числовой вектор). В пакете есть некоторая функция плотности ddmst
, но я не видел в этом пакете функции плотности вероятности, и она мне нужна!
Я думал, что смогу сделать
- используйте некоторые другие пакеты, которые предоставляют pdf-файл для распространения skew-t, например пакет
sn
сpst
, но проблема в том, что этот дистрибутив имеет другое определение распределения skew-t, ИЛИ - Я мог бы использовать
integrate
наddmst
, но пока это не работает.
Я пробовал что-то вроде
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.
Я действительно не знаю, что я сделал не так!