Scipy: случайная выборка с зависимыми распределениями - PullRequest
0 голосов
/ 14 июля 2020

Я ищу пример биномиального распределения, зависящего от экспоненциального распределения. Я хотел бы использовать разные параметры для каждой биномиальной случайной выборки в зависимости от результата экспоненциального распределения для каждой взятой независимой выборки.

Пример показан ниже, где биномиальная вероятность зависит от выхода экспоненциального Распределение:

import scipy.stats as stats
import numpy as np

a = np.array(stats.expon.rvs(size=1000))   
b = np.array(
            [
                stats.binom.rvs(
                    n=1, 
                    p=(np.exp(-_a/5)), size=1
                )
                for _a in a 
            ]
         )

Это, однако, действительно очень медленно, так как я выполняю выборку один раз в al oop на тысячу итераций.

Я попытался найти решение с использованием векторов, реализовав пример ниже.

b = np.array(stats.binom.rvs(
                        n=np.ones(1000).astype(int), 
                        p=(np.exp(a/5)), 
                        size=1000
                    )
             )

Во-первых, верна ли моя попытка?

Если это не так, какие еще решения мне нужны, чтобы достичь того, чего я хочу?

...