Как рассчитать составную функцию на сетке? - PullRequest
0 голосов
/ 06 мая 2018

У меня есть две случайные величины, x бета-распределена на интервале [2, 6] и y равномерно распределена на интервале [0, 1]. Для каждого x я хотел бы найти y такой, что CDF_x(x) = CDF_x(y) и построить график. Другими словами, я хотел бы получить CDF_y_inverse(CDF_x(x)).

Пока у меня есть следующий код, который отображает только pdf файла x.

import numpy as np
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
from scipy.stats import beta, uniform

a, b = 2, 5
fig, ax = plt.subplots(1, 1)
x = np.linspace(2+4*beta.ppf(0, a, b), 2+4*beta.ppf(1, a, b), 1000)

ax.plot(x, beta.pdf((x-2)/4, a, b), lw=2, color='green', alpha=0.5, label='beta pdf')
plt.show()

Редактировать : Предположим, что вместо равномерного распределения y имеет усеченное нормальное распределение, в противном случае проблема тривиальна.

...