Pregunta divertida. El problema clave, como señala @MartijnWeterings, es que el número de árboles en la fase 2 es sólo una medida parcial del número total de árboles. Sin embargo, si conociéramos el número total de árboles, podríamos resolver el problema construyendo un modelo del número de nueces observado en la fase 1 dado el número de árboles en la fase 1, y luego predecir el número de nueces en la fase 2 utilizando el número de árboles en la fase 2. Nuestra estrategia en esta respuesta es, por tanto, estimar primero el número de árboles en la etapa 2 y luego construir un modelo de frutos secos dados los árboles en la etapa 1.
Notación y suposición
A continuación, asumo que el muestreo de árboles y ardillas es aleatorio en todas las etapas. Sea n1i denotan la suma de todas las nueces recogidas por la ardilla i en la fase 1. Sea t1i denotan el número total de árboles ardilla i tuercas almacenadas en la fase 1. Dejemos que n2j denotan la suma no observada de nueces recogidas por la ardilla j en la fase 2 y que t2j denotan el número de árboles ardilla j tuercas almacenadas en la fase 2. Por último, dejemos k2j denotan el número parcial de árboles observados, donde k2j≤t2j ,
Número de árboles en la fase 2
Como señala @MartijnWeterings k2j es siempre menor o igual que el número total de árboles t2j en la fase 2, que se desconoce. Nuestro objetivo es, por tanto, estimar t2j lo más cerca posible. Afortunadamente, tenemos alguna información sobre t2j . Dependiendo de su diseño de muestreo en la fase 2, hay una probabilidad p que una ardilla sea capturada en una de las t2j árboles que visita. La probabilidad de k2j es por tanto binomial con parámetros t2j y p . Sin embargo, nosotros observe binomio k2j el número de árboles t2j sin embargo, no tiene una distribución binomial dado k2j . No estaba seguro de su distribución exacta y por eso hice una pregunta al respecto en Matemáticas-Intercambio de pila . Recibí la útil respuesta de que la función de masa de probabilidad de t=t2j con k=k2j y p viene dada por P(t; k ,p) = \binom{t-1}{k} p^t (1-p)^{(t-k)}, \quad t \in \{k,...,\infty\}. para todos j que tiene la expectativa E(t)=k/p . Por lo tanto, si sabemos k_{2j} y p podríamos estimar \hat{t}_{2j}=k_{2j}/p . Como se ha dicho, la probabilidad p depende de su diseño de muestreo, pero afortunadamente podemos estimarlo a partir de los datos como \hat{p}=\frac{\sum_{j} k_{2j}}{\sum_{i} t_{1i}} para que \hat{t}_{2j}=k_{2j}/\hat{p} .
Estimación bajo el supuesto de proporcionalidad
Dejemos que
\pi = \frac{1}{\#S_1} \sum_{i} \frac{n_{1i}}{t_{1i}}
sea la proporción media de nueces que deja una ardilla en un árbol. Una primera estimación del número total de nueces de la ardilla j es
\hat{n}_{2j} = \pi \hat{t}_{2j}.
Estimación mediante la relación entre los frutos secos y los árboles en la fase 1
Esto puede parecer insatisfactorio, porque no tiene en cuenta que puede haber una relación entre n y t que no sea una simple proporcionalidad. Por ejemplo, podemos imaginar que las ardillas tienen el extraño comportamiento de dejar menos nueces por árbol cuanto más nueces tienen a su disposición. Entonces el número total de nueces n no aumentaría proporcionalmente con t y en su lugar se aplana. Por lo tanto, podríamos decidir modelar
n_{1i}= f(t_{1i},\theta) + \epsilon_i
donde f es una función no lineal con parámetros theta y \epsilon_i es un término de error de medición. Una opción obvia podría ser
n_{1i} = \theta_0 + \theta_1 \log(t_{1i}) + \epsilon_i
con \epsilon_i iid normal con expectativa 0. El modelo puede ajustarse por mínimos cuadrados no lineales o por máxima verosimilitud. Un estimador sería entonces
\hat{n}_{2j} = \hat{\theta_0} + \hat{\theta_1} \log(\hat{t}_{2j})
Por supuesto, se podrían utilizar otras formas funcionales o se podrían utilizar técnicas de modelización flexibles para aproximar la relación funcional, como por ejemplo bosques aleatorios (juego de palabras).
Simulaciones
¿Funciona esto? Vamos a probarlo. Simulo los datos en R
según las siguientes ideas. La probabilidad de que una ardilla recoja n+1 tuercas viene dado por n \sim \text{Poisson}(20) . Una ardilla llega entonces al primer árbol y se esconde h_1+1 tuercas donde h_1 \sim \text{Poisson}(\lambda) y \lambda \sim \Gamma(60/n,1) . Sigue escondido en 1 + (h_2,...,h_t) nueces hasta que llegue al árbol t y no tiene nueces. Lo hace independientemente de si lo observa en la fase 1 o en la 2; sin embargo, en la fase 1 observa todo h_t mientras que en la fase 2 se observa una muestra de \{h_1,...,h_t\} . Como se ha dicho asumo que se tiene una muestra aleatoria simple de árboles en la fase 2 y así se observa h_{kj} (el k-ésimo árbol visitado por la ardilla j) con probabilidad p (abajo en el código lo llamo truncamiento).
Ahora muestro 1000 ardillas en la fase 1. El gráfico siguiente ilustra la relación entre el número total de árboles y el número total de nueces recogidas. Se puede ver que hay una decadencia en esa relación a través de t .
![enter image description here]()
Ahora muestro en la etapa 2 con p=0.5 y considerar tres estimadores. Primero el estimador bajo proporcionalidad. En segundo lugar, creo un estimador que utiliza la media condicional de n_1 en cada nivel observado de t_1 como una estimación para n_2 en \hat{t}_2 . Para la evaluación comparativa utilizo de nuevo la media condicional de n_1 en cada nivel observado de t_1 como una estimación para n_2 pero ahora con el verdadero número de árboles t_2 en la fase 2. Por supuesto, este estimador no está disponible en la práctica.
Para dos muestras, una de cada fase 1 y 2, respectivamente, y los tres estimadores llego a los siguientes sesgos, respectivamente 5,61, -0,19 y 0,24. Además, observamos los siguientes errores cuadráticos medios 15.3, 4.07, 3.32. Vemos que el estimador de la media condicional con una estimación ajustada del número de árboles en la fase 2 tiene un rendimiento casi tan bueno como el estimador que utiliza el número verdadero desconocido de árboles en la fase 2. El error restante es la varianza, que quizá pueda reducirse un poco más utilizando un modelo mejor para n_1 dado t_1 que el modelo de media condicional no paramétrico.
Aquí hay una función que crea los datos para la simulación que hice.
# A squirrel collects nuts
squirrel_set = function(n, trunc= FALSE){
nuts = rpois(n, 20) + 1
nut_seq = list()
for(i in 1:n){
j = 1
nuts_left = nuts[i]
nuts_hidden = numeric()
# squirrel hides nuts at tree j
while(nuts_left>0){
if(j == 1) {lambda = rgamma(1,60/nuts_left,1) }
if(lambda < 1){ lambda = 1}
nuts_hidden[j] = rpois(1, lambda) + 1
if(nuts_left - nuts_hidden[j] <0){
nuts_hidden[j] = nuts_left
nuts_left = 0
}
else{ nuts_left = nuts_left - nuts_hidden[j] }
j = j+1
}
nut_seq[[i]] = nuts_hidden
}
# Truncated sample
# A squirrel is caught with probability .5 at a tree
# (or a random half of the trees are observed and a squirrel is always caught)
if(trunc == TRUE){
trees = sapply(nut_seq , length)
nut_seq_obs = list()
for(i in 1:length(nut_seq)){
caught = rbinom(trees[i],1,.5)
nut_seq_obs[[i]] = nut_seq[[i]][as.logical(caught)]
}
return( list(nut_seq,nut_seq_obs) )
}
else{
return(nut_seq)
}
}
Y aquí el código utilizado en el análisis:
set.seed(12345)
n = 1000
# Phase 1
nut_seq1 = squirrel_set(n)
# Phase 2
nut_seq2 = squirrel_set(n, trunc = TRUE)
nut_seq2_true = nut_seq2[[1]]
nut_seq2_trunc = nut_seq2[[2]]
# Trees and nuts at phases 1 and 2
t1 = sapply(nut_seq1,length, simplify = TRUE) # Trees seen at phase 1
k = sapply(nut_seq2_trunc , length) # Trees seen at phase 2
nut_seq2_trunc = nut_seq2_trunc[k>0] # Squirrels with k=0 have avtually not been observed
nut_seq2_true = nut_seq2_true[k>0]
k = k[k>0]
n1 = sapply(nut_seq1,sum, simplify = TRUE) # Trees seen at phase 1
n2 = sapply(nut_seq2_true,sum, simplify = TRUE) # Trees at phase 2 (unobserved)
t2 = sapply(nut_seq2_true,length, simplify = TRUE) # Trees at phase 2 (unobserved)
# Plot
plot( t1, n1, xlab='Trees at phase 1', ylab='Total number of nuts at phase 1')
mnuts = numeric()
for(i in 1:max(t1)){
mnuts[i] = mean(n1[t1 == i])
}
lines( 1:max(t1), mnuts, col=2)
legend("bottomright",lty=1, lwd=2, col='2', legend='Conditional mean')
# Estimators
p = sum(k) / sum(t1) # Estimate of observational probability at phase 2
t2_est = k/p # Estimate of total number of trees for each squirrel at phase 2
n2_prop_est = t2_est * mean(sapply(n1,sum, simplify = TRUE)/t1 ) # proportionality
mnuts = numeric()
for(i in 1:max(t1)){
mnuts[i] = mean(n1[t1 == i]) # Conditional mean at each level of trees at phase 1
}
n2_regest = mnuts[round(t2_est)] # Non-parametric regression estimate of n2
n2_regest_truet2 = mnuts[t2]
# Bias and Variance
mean( n2_prop_est - n2)
sqrt(mean( (n2_prop_est - n2)^2 ))
mean( n2_regest - n2 , na.rm=TRUE)
sqrt(mean( (n2_regest - n2)^2 , na.rm=TRUE))
mean( n2_regest_truet2 - n2 , na.rm=TRUE)
sqrt(mean( (n2_regest_truet2 - n2)^2 , na.rm=TRUE))
0 votos
¿Sabes el número de árboles que fueron capturados en la fase 2?
2 votos
Y en la fase 1: ¿sólo sabes el recuento total de nueces que han recogido o lo sabes por árbol? (Por ejemplo, la ardilla 1 ha recogido 5 nueces del árbol 1, 3 nueces del árbol 2 y 10 nueces del árbol 3; la ardilla 2 ha recogido 7 nueces de (otro) árbol 1, etc.
0 votos
¿Qué fracción del total es el subconjunto de árboles de la fase 2? (si esta fracción es grande, entonces podrías estimar razonablemente el número total de nueces recogidas por una ardilla basándote en el subconjunto de nueces dividido por esa fracción)
0 votos
Por favor, sea más específico, ¿sabe cuántas nueces almacenaron en cada árbol en la fase 1 o 2 o en ambas?
0 votos
@tomka He borrado mis comentarios y he añadido ejemplos a las fases para que veas qué tipo de información arroja cada fase
1 votos
Una pregunta interesante. Casualmente, en el mismo momento en que hice clic en este enlace, ¡una ardilla vino a comer unas nueces esparcidas para ella en mi patio! La fase 1 está en marcha...