5 votos

Probabilidad de Poisson de observar al menos un cero de k casos independientes

Tengo un conjunto de observaciones de un experimento biológico. Me han contado las ocurrencias de un evento en particular en cada uno de los cromosomas para $n$ células y, finalmente, tengo el último valor de la media para cada cromosoma.

2.2, 6.4, 3.4, 10.2, 4.45

Así que tengo 5 cromosomas de decisiones en un promedio del mencionado número de eventos.

He calculado la probabilidad de Poisson de cualquiera de las anteriores cromosoma convertirse en cero.

He utilizado la función de R: ppois(q=0,lambda=wt[1:5]) y consiguió probabilidades 1.108032e-01 1.661557e-03 3.337327e-02 3.717032e-05 1.167857e-02 , lo que muestra que hay total probabilidad de 0.15 para observar cualquier cromosoma con cero evento.

Ahora quiero saber en qué valores, estas probabilidades de convertirse en cero o insignificante. ¿Cómo puedo proceder para lograr esto?

4voto

bdeonovic Puntos 2807
 ## Just repeating what you did for completion
> wt <-  c(2.2,6.4,3.4,10.2,4.45)
> p  <-  ppois(q=0, lambda=wt)
> 
> sum(ppois(q=0,lambda=wt))
[1] 0.1575537
> 
> tol <- .Machine$double.eps # 2.220446e-16
> wt  <- seq(0,250, by=0.01)
> wt[which( ppois(q=0, lambda=wt) < tol )[1]]
[1] 36.05
 

Entonces, cuando la tasa de Poisson es aproximadamente 36, la probabilidad de que la variable aleatoria sea 0 es minúscula. Por supuesto, puedes considerar diferentes niveles de tolerancia (utilicé el número más pequeño que la R de mi computadora podría manejar, pero eso es bastante extremo)

Esta es una forma bastante ad hoc de hacerlo, y probablemente pueda formalizarla con una prueba de hipótesis.

3voto

Assad Ebrahim Puntos 939

La respuesta depende de la pregunta.

Esto es lo que yo he interpretado:

Estás tienes 5 cromosomas, usted está interesado en el caso de que cualquiera de ellos es cero, independiente del resto de ellos, y que está llamando a esto, el total de "probabilidad". Te gustaría saber qué combinación de las tasas individuales asegura que este total, la probabilidad es cero o insignificante.

La clave es lo que quieres decir por insignificante.

Si usted está dispuesto a aceptar un 1% de probabilidad de que ninguno de ellos es cero, entonces su respuesta es lambda=6.3, con todos los cromosomas que tienen una tasa uniforme.

 > sum(dpois(x=0,lambda=rep(6.3,5)))    # uniform rate for all 5 chromosomes
 [1] 0.009182           # less than 1% total probability

Para un 5% de probabilidad, la respuesta es lambda=4.7.

Las tasas individuales, sin embargo, podría ser mayor o menor, siempre que contribuyen a mantener la total dentro de la tolerancia. Por ejemplo:

 > sum(dpois(x=0,lambda=c(6,6,7,8,8)))  # non-uniform rates
 [1] 0.00654   # also less than 1% total probability

Solución (uniforme de los tipos):

Definir una función que realiza el cálculo. Aquí he asumido todas las tarifas son iguales, aunque puede establecer lambda directamente a rate y pasar en cualquier vector de precios.

 all_chrom_zero <- function(rate) {
     sum(dpois(x=0,lambda=rep(rate,5)))
  }

A continuación, utilice sapply a ejecutar sobre una lista de juicio tarifas, y elija el más pequeño de la tasa que viene en virtud de su confianza umbral, en este caso el 1%

 tol <- 0.01
 wt<-seq(0,10,0.1)   # candidate rates
 min(wt[which(sapply(wt,all_chrom_zero)<0.01)])
 [1] 6.3

El código anterior se ha estructurado para tomar una matriz sin demasiada dificultad (usando sapply). Por lo que podría acabar con el uniforme de la asunción por completo y que en realidad ejecute el código para simular a través de varias 5-tuplas de las tasas de interés.

Este sería un plus si su modelo biológico tiene información acerca de la distribución de los tipos de interés de los cromosomas individuales. Si no, usted podría extraer muestras aleatorias de una distribución de Gauss para cada uno de los cromosomas de la tasa, cada uno centrado en el uniforme de solución, y ejecutar los cálculos sobre estos, o si te gusta la fuerza bruta de los cálculos, podría (sólo por diversión!) también se ejecuta el cálculo sobre una 5D de la cuadrícula y buscar la "equiprobables" curvas en varios niveles de tolerancia.

Fondo para sapply El uso de sapply permite evitar explícito de bucle en R y es muy potente para la creación de simulaciones. Si quieres un poco de fondo, he referencia a algunos útiles de cebadores en una respuesta aquí.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X