3

私は現在、混合モデルパッケージEMMIXskewを使用しており、データ(数値ベクトル)にスキューt分布を当てはめました。パッケージにはいくつかの密度関数ddmstがありますが、このパッケージには確率密度関数が含まれていないので、必要です!

私ができると思ったのは、

  1. snpackage withのように、skew-t分布のpdfを提供する他のパッケージを使用しますpstが、問題は、この分布がskew-t分布の定義が異なることです、または
  2. integrateonを使用できまし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.

何を間違えたのか本当にわかりません!

4

1 に答える 1