Оскільки я інженер програмного забезпечення, який намагається дізнатися більше статистики, вам доведеться пробачити мене ще до того, як я навіть розпочну, це серйозна територія нового походження ...
Я вивчав PyMC і працюю через кілька справді (дійсно) простих прикладів. Одна з проблем, яку я не можу взяти на роботу (і не можу знайти жодних пов’язаних прикладів) - це пристосування моделі до даних, згенерованих за допомогою двох звичайних розподілів.
Скажіть, у мене 1000 значень; 500 згенеровано з a Normal(mean=100, stddev=20)
і ще 500 згенеровано з a Normal(mean=200, stddev=20)
.
Якщо я хочу приєднати до них модель, тобто визначити два засоби та єдине стандартне відхилення, використовуючи PyMC. Я знаю, що це щось уздовж ...
mean1 = Uniform('mean1', lower=0.0, upper=200.0)
mean2 = Uniform('mean2', lower=0.0, upper=200.0)
precision = Gamma('precision', alpha=0.1, beta=0.1)
data = read_data_from_file_or_whatever()
@deterministic(plot=False)
def mean(m1=mean1, m2=mean2):
# but what goes here?
process = Normal('process', mu=mean, tau=precision, value=data, observed=True)
тобто процес генерації є нормальним, але mu - одне з двох значень. Я просто не знаю, як представити "рішення" між тим, величина походить від m1
або m2
.
Можливо, я просто повністю приймаю неправильний підхід до моделювання цього? Хтось може вказати мені на приклад? Я можу читати помилки та джеги, так що все дійсно добре.