Como soy un ingeniero de software que intenta obtener más estadísticas, tendrás que perdonarme incluso antes de que comience, este es un nuevo territorio serio ...
He estado aprendiendo PyMC y trabajando con algunos ejemplos muy (muy) simples. Un problema con el que no puedo trabajar (y no puedo encontrar ningún ejemplo relacionado) es ajustar un modelo a los datos generados a partir de dos distribuciones normales.
Digamos que tengo 1000 valores; 500 generados a partir de a Normal(mean=100, stddev=20)y otros 500 generados a partir de a Normal(mean=200, stddev=20).
Si quiero ajustar un modelo a ellos, es decir, determinar las dos medias y la desviación estándar única, usando PyMC. Sé que es algo parecido a ...
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)
es decir, el proceso de generación es Normal, pero mu es uno de los dos valores. Simplemente no sé cómo representar la "decisión" entre si un valor proviene m1o no m2.
¿Quizás solo estoy tomando el enfoque equivocado para modelar esto? ¿Alguien puede señalarme un ejemplo? Puedo leer BUGS y JAGS para que todo esté bien realmente.