Questions tagged «mixture»

混合分布是写为其他分布的凸组合的分布。将“ compound-distributions”标签用于分布的“串联”(分布的参数本身就是随机变量)。

1
适用于高斯混合模型(GMM)的Python软件包
在Python中使用高斯混合模型(GMM)似乎有几种选择。乍看之下至少有: PyMix- http: //www.pymix.org/pymix/index.php 混合物建模工具 PyEM- http://www.ar.media.kyoto-u.ac.jp/members/david/softwares/em/,它是Scipy工具箱的一部分,似乎专注于GMM 更新:现在称为sklearn.mixture 。 PyPR- http: //pypr.sourceforge.net/ 模式识别和相关工具,包括GMM ...甚至其他人。它们似乎都提供了GMM的最基本需求,包括创建和采样,参数估计,聚类等。 它们之间有什么区别,应该如何确定最适合特定需求的呢? 参考:http : //www.scipy.org/Topical_Software

2
正确使用和解释零膨胀伽玛模型
背景:我是一名生物统计学家,目前正在努力研究细胞表达率数据集。该研究使从各种供体中成组收集的大量细胞暴露于某些肽。细胞要么表达某些生物标志物,要么不表达。然后记录每个捐助者群体的答复率。应答率(以百分比表示)是关注的结果,而肽暴露则是预测因素。 请注意,观察结果集中在捐助者之内。 由于我只有汇总数据,因此我将捐助方的回应率视为连续数据(至少目前如此)。 复杂性源于我的数据中有很多零的事实。太多不容忽视。我正在考虑使用零膨胀伽玛模型来处理这样一个事实,即我歪曲了连续数据以及过多的零。我也考虑过Tobit模型,但是由于它假设检查范围是下限,而不是真正的零(计量经济学家可能会说这是没有意义的),因此它看起来很差。 问题:通常来说,什么时候使用零膨胀伽玛模型合适?也就是说,有什么假设?以及如何解释其推论?如果您有任何讨论此文章的链接,我将不胜感激。 我在SAS-L上找到了一个链接,其中Dale McLerran为零膨胀的伽马模型提供了NLMIXED代码,因此这似乎是可能的。尽管如此,我还是不想盲目地充电。

2
从不正确的混合物中进行精确采样
假设我要从连续分布进行采样。如果我有的表达的形式pp (x )p(X)p(x)ppp p (x )= ∑我= 1∞一个一世F一世(x )p(X)=∑一世=1个∞一个一世F一世(X)p(x) = \sum_{i=1}^\infty a_i f_i(x) 其中和f_i是可以从中轻松采样的分布,然后我可以通过以下方式轻松地从p生成采样:一个一世⩾ 0 ,Σ一世一个一世= 1一个一世⩾0,∑一世一个一世=1个a_i \geqslant 0, \sum_i a_i= 1F一世F一世f_ippp 以概率a_i对标签一世一世i进行采样一个一世一个一世a_i 采样X〜˚F一世X〜F一世X \sim f_i 如果一个一世一个一世a_i有时为负数,是否可以推广此过程?我怀疑我已经在某个地方看到过此操作-可能在书中,或者可能是在Kolmogorov发行版中-因此,我很高兴接受参考作为答案。 如果一个具体的玩具示例有帮助,假设我要从p (X ,ÿ)∝ exp( - X - ÿ- α X ÿ--√)X ,ÿ> 0p(X,ÿ)∝经验值⁡(-X-ÿ-αXÿ)X,ÿ>0p(x,y) \propto \exp(-x-y-\alpha\sqrt{xy})\qquad x,y > 0然后出于技术上的原因,将α ∈ (0 ,2 )α∈(0,2)\alpha \in …

1
如何在ARIMA模型的观察值48中加入创新的离群值?
我正在处理数据集。使用一些模型识别技术后,我得出了一个ARIMA(0,2,1)模型。 我使用R detectIO包TSA中的函数在对原始数据集进行第48次观察时检测到创新的离群值(IO)。 如何将这个离群值合并到模型中,以便将其用于预测?我不想使用ARIMAX模型,因为我可能无法根据R中的模型做出任何预测。还有其他方法可以做到吗? 以下是我的价值观: VALUE <- scan() 4.6 4.5 4.4 4.5 4.4 4.6 4.7 4.6 4.7 4.7 4.7 5.0 5.0 4.9 5.1 5.0 5.4 5.6 5.8 6.1 6.1 6.5 6.8 7.3 7.8 8.3 8.7 9.0 9.4 9.5 9.5 9.6 9.8 10.0 9.9 9.9 9.8 9.8 9.9 9.9 9.6 9.4 …
10 r  time-series  arima  outliers  hypergeometric  fishers-exact  r  time-series  intraclass-correlation  r  logistic  glmm  clogit  mixed-model  spss  repeated-measures  ancova  machine-learning  python  scikit-learn  distributions  data-transformation  stochastic-processes  web  standard-deviation  r  machine-learning  spatial  similarities  spatio-temporal  binomial  sparse  poisson-process  r  regression  nonparametric  r  regression  logistic  simulation  power-analysis  r  svm  random-forest  anova  repeated-measures  manova  regression  statistical-significance  cross-validation  group-differences  model-comparison  r  spatial  model-evaluation  parallel-computing  generalized-least-squares  r  stata  fitting  mixture  hypothesis-testing  categorical-data  hypothesis-testing  anova  statistical-significance  repeated-measures  likert  wilcoxon-mann-whitney  boxplot  statistical-significance  confidence-interval  forecasting  prediction-interval  regression  categorical-data  stata  least-squares  experiment-design  skewness  reliability  cronbachs-alpha  r  regression  splines  maximum-likelihood  modeling  likelihood-ratio  profile-likelihood  nested-models 

1
时间事件的长尾分布
假设您具有Web服务器的日志。在这些日志中,您具有以下类型的元组: user1, timestamp1 user1, timestamp2 user1, timestamp3 user2, timestamp4 user1, timestamp5 ... 这些时间戳表示例如用户的点击。现在,user1它将在一个月内多次访问该网站(会话),并且您在每个会话期间都会获得来自每个用户的点击次数激增(假设当用户访问您的网站时,他将点击多个页面)。 假设您希望在产生点击的会话中对这些点击次数进行分区,但是您没有任何其他信息源,只有时间戳列表。如果您计算来自同一用户的两次点击之间的间隔分布,则将获得长尾分布。直观地,您会寻找一个“剪切参数”,例如N秒,如果为timestamp_{i+1} - timestamp{i} > N,则您timestamp_{i+1}是新会话的开始。 问题在于,这种分布实际上是两个变量的混合:X =“同一会话中两次随之而来的点击之间的间隔”和Y =“上一次会话的最后点击与新会话中的第一次单击之间的间隔”。 问题是,仅通过查看点击次数,如何估算这个N,即可将两个分布(可能会有些重叠)分开?


1
具有二元混合物分布的EM算法的收敛
我有一个混合模型,我想要找到给定一组数据xxx和一组部分观测数据的最大似然估计量zzz。我已经实现两个E-步骤(计算的期望zzz给定xxx和电流参数θkθk\theta^k),和M-步骤,以减少给定的期望的负对数似然zzz。 据我了解,每次迭代的最大可能性都在增加,这意味着负对数似然性必须在每次迭代中都在减少吗?但是,正如我所进行的迭代,该算法实际上并未产生负对数似然率的递减值。相反,它可能同时在减少和增加。例如,这是直到收敛的负对数似然的值: 我在这里误解了吗? 另外,对于模拟数据,当我对真正的潜在变量(未观察到)执行最大似然法时,我的拟合度非常接近,表明没有编程错误。对于EM算法,它通常收敛到明显次优的解决方案,尤其是对于特定参数子集(即,分类变量的比例)。众所周知,该算法可以收敛到局部最小值或固定点,是否有常规的搜索试探法或同样地增加了找到全局最小值(或最大值)的可能性。对于这个特殊的问题,我相信会有很多未命中类别,因为对于双变量混合,两个分布之一采用概率为1的值(这是生命周期的混合,其中通过其中, z表示属于任一分布。指标 z当然在数据集中被检查。 T=zT0+(1−z)∞T=zT0+(1−z)∞T=z T_0 + (1-z)\inftyzzzzzz 我从理论解开始添加了第二个数字(应该接近最优值)。但是,可以看出,可能性和参数从该解决方案变为明显较差的解决方案。 xi=(ti,δi,Li,τi,zi)xi=(ti,δi,Li,τi,zi)\mathbf{x_i}=(t_i,\delta_i,L_i,\tau_i,z_i)titit_iiiiδiδi\delta_iLiLiL_iτiτi\tau_iziziz_i是观测值所属人群的指标(由于其二元变量,我们只需要考虑0和1)。 z=1z=1z=1fz(t)=f(t|z=1)fz(t)=f(t|z=1)f_z(t)=f(t|z=1)Sz(t)=S(t|z=1)Sz(t)=S(t|z=1)S_z(t)=S(t|z=1)z=0z=0z=0tttinfinf\inff(t|z=0)=0f(t|z=0)=0f(t|z=0)=0和。这还会产生以下完整的混合物分布:S(t|z=0)=1S(t|z=0)=1S(t|z=0)=1 f(t)=∑1i=0pif(t|z=i)=pf(t|z=1)f(t)=∑i=01pif(t|z=i)=pf(t|z=1)f(t) = \sum_{i=0}^{1}p_if(t|z=i) = pf(t|z=1)和 S(t)=1−p+pSz(t)S(t)=1−p+pSz(t)S(t) = 1 - p + pS_z(t) 我们继续定义可能性的一般形式: L(θ;xi)=Πif(ti;θ)δiS(ti;θ)1−δiS(Li)τiL(θ;xi)=Πif(ti;θ)δiS(ti;θ)1−δiS(Li)τi L(\theta;\mathbf{x_i}) = \Pi_i \frac{f(t_i;\theta)^{\delta_i}S(t_i;\theta)^{1-\delta_i}}{S(L_i)^{\tau_i}} 现在,当,只能部分观察到,否则未知。完全可能性变为zzzδ=1δ=1\delta=1 L(θ,p;xi)=Πi((pfz(ti;θ))zi)δi((1−p)(1−zi)(pSz(ti;θ))zi)1−δi((1−p)(1−zi)(pSz(Li;θ))zi)τiL(θ,p;xi)=Πi((pfz(ti;θ))zi)δi((1−p)(1−zi)(pSz(ti;θ))zi)1−δi((1−p)(1−zi)(pSz(Li;θ))zi)τi L(\theta,p;\mathbf{x_i}) = \Pi_i \frac{\big((p f_z(t_i;\theta))^{z_i}\big)^{\delta_i}\big((1-p)^{(1-z_i)}(p S_z(t_i;\theta))^{z_i}\big)^{1-\delta_i}}{\big((1-p)^{(1-z_i)}(p S_z(L_i;\theta))^{z_i}\big)^{\tau_i}} 其中是相应分布的权重(可能通过某些链接函数与某些协变量及其各自的系数相关联)。在大多数文献中,这简化为以下对数似然ppp ∑(ziln(p)+(1−p)ln(1−p)−τi(ziln(p)+(1−zi)ln(1−p))+δizifz(ti;θ)+(1−δi)ziSz(ti;θ)−τiSz(Li;θ))∑(ziln⁡(p)+(1−p)ln⁡(1−p)−τi(ziln⁡(p)+(1−zi)ln⁡(1−p))+δizifz(ti;θ)+(1−δi)ziSz(ti;θ)−τiSz(Li;θ))\sum \Big( z_i \ln(p) + (1-p) \ln(1-p) - \tau_i\big(z_i …

1
可视化来自多个潜在类模型的结果
我正在使用潜在类分析来基于一组二进制变量对观察样本进行聚类。我正在使用R和软件包poLCA。在LCA中,您必须指定要查找的群集数。实际上,人们通常运行几个模型,每个模型指定不同数量的类,然后使用各种标准来确定哪个是对数据的“最佳”解释。 我经常发现查看各种模型非常有用,以试图了解分类为(i + 1)的模型如何分布在分类为(i)的模型中的观察结果。至少,有时您会发现存在非常健壮的集群,而与模型中的类数无关。 我希望有一种方法来绘制这些关系的图表,以便更轻松地在论文中以及与非统计方向的同事交流这些复杂的结果。我想使用某种简单的网络图形包在R中很容易做到这一点,但我根本不知道如何做。 谁能给我指出正确的方向。下面是重现示例数据集的代码。每个向量xi在具有i个可能类别的模型中代表100个观测值的分类。我想画出观察(行)如何跨列在类之间移动。 x1 <- sample(1:1, 100, replace=T) x2 <- sample(1:2, 100, replace=T) x3 <- sample(1:3, 100, replace=T) x4 <- sample(1:4, 100, replace=T) x5 <- sample(1:5, 100, replace=T) results <- cbind (x1, x2, x3, x4, x5) 我想有一种方法可以生成图,其中节点是分类,并且边缘反映(按权重或颜色)(从权重或颜色可能)从一个模型转移到另一个模型的观察值的百分比。例如 更新:igraph软件包取得了一些进展。从上面的代码开始... poLCA结果循环使用相同的数字来描述类成员身份,因此您需要做一些重新编码。 N<-ncol(results) n<-0 for(i in 2:N) { results[,i]<- (results[,i])+((i-1)+n) …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.