Questo dovrebbe essere facilmente risolto usando l'inferenza bayesiana. Conoscete le proprietà di misurazione dei singoli punti rispetto al loro valore reale e volete dedurre la media della popolazione e la DS che hanno generato i valori reali. Questo è un modello gerarchico.
Sostituendo il problema (nozioni di base di Bayes)
Nota che mentre le statistiche ortodosse ti danno una sola media, nel quadro bayesiano ottieni una distribuzione di valori credibili della media. Ad esempio, le osservazioni (1, 2, 3) con SD (2, 2, 3) avrebbero potuto essere generate dalla stima della verosimiglianza massima di 2 ma anche da una media di 2,1 o 1,8, sebbene leggermente meno probabile (dati dati) rispetto a il MLE. Quindi oltre alla SD deduciamo anche la media .
Un'altra differenza concettuale è che devi definire il tuo stato di conoscenza prima di fare le osservazioni. Lo chiamiamo priori . Potresti sapere in anticipo che una determinata area è stata scansionata e in una determinata fascia di altezza. La completa assenza di conoscenza sarebbe quella di avere gradi uniformi (-90, 90) come i precedenti in X e Y e forse uniformi (0, 10000) metri di altezza (sopra l'oceano, sotto il punto più alto della terra). Devi definire le distribuzioni a priori per tutti i parametri che vuoi stimare, cioè ottenere le distribuzioni posteriori per. Questo vale anche per la deviazione standard.
Quindi, riformulando il tuo problema, suppongo che tu voglia inferire valori credibili per tre mezzi (X.mean, Y.mean, X.mean) e tre deviazioni standard (X.sd, Y.sd, X.sd) che potrebbero avere generato i tuoi dati.
Il modello
Usando la sintassi BUGS standard (usa WinBUGS, OpenBUGS, JAGS, stan o altri pacchetti per eseguire questo), il tuo modello sarebbe simile a questo:
model {
# Set priors on population parameters
X.mean ~ dunif(-90, 90)
Y.mean ~ dunif(-90, 90)
Z.mean ~ dunif(0, 10000)
X.sd ~ dunif(0, 10) # use something with better properties, i.e. Jeffreys prior.
Y.sd ~ dunif(0, 10)
Z.sd ~ dunif(0, 100)
# Loop through data (or: set up plates)
# assuming observed(x, sd(x), y, sd(y) z, sd(z)) = d[i, 1:6]
for(i in 1:n.obs) {
# The true value was generated from population parameters
X[i] ~ dnorm(X.mean, X.sd^-2) #^-2 converts from SD to precision
Y[i] ~ dnorm(Y.mean, Y.sd^-2)
Z[i] ~ dnorm(Z.mean, Z.sd^-2)
# The observation was generated from the true value and a known measurement error
d[i, 1] ~ dnorm(X[i], d[i, 2]^-2) #^-2 converts from SD to precision
d[i, 3] ~ dnorm(Y[i], d[i, 4]^-2)
d[i, 5] ~ dnorm(Z[i], d[i, 6]^-2)
}
}
Naturalmente, monitorate i parametri .mean e .sd e usate i loro posteriori per inferenza.
Simulazione
Ho simulato alcuni dati come questo:
# Simulate 500 data points
x = rnorm(500, -10, 5) # mean -10, sd 5
y = rnorm(500, 20, 5) # mean 20, sd 4
z = rnorm(500, 2000, 10) # mean 2000, sd 10
d = cbind(x, 0.1, y, 0.1, z, 3) # added constant measurement errors of 0.1 deg, 0.1 deg and 3 meters
n.obs = dim(d)[1]
Quindi ha eseguito il modello utilizzando JAGS per 2000 iterazioni dopo un burnin di 500 iterazioni. Ecco il risultato per X.sd.
L'intervallo blu indica l'intervallo di densità posteriore o credibile più alto del 95% (dove si ritiene che il parametro sia dopo aver osservato i dati. Si noti che un intervallo di confidenza ortodossa non fornisce questo).
La linea verticale rossa è la stima MLE dei dati grezzi. Di solito, il parametro più probabile nella stima bayesiana è anche il parametro più probabile (massima probabilità) nelle statistiche ortodosse. Ma non dovresti preoccuparti troppo della parte superiore del posteriore. La media o la mediana è migliore se si desidera ridurla a un singolo numero.
Si noti che MLE / top non è a 5 perché i dati sono stati generati casualmente, non a causa di statistiche errate.
LIMITAZIONI VINCOLANTI
Questo è un modello semplice che attualmente presenta diversi difetti.
- Non gestisce l'identità di -90 e 90 gradi. Ciò può essere fatto, tuttavia, creando una variabile intermedia che sposta i valori estremi dei parametri stimati nell'intervallo (-90, 90).
- X, Y e Z sono attualmente modellati come indipendenti sebbene siano probabilmente correlati e questo dovrebbe essere preso in considerazione per ottenere il massimo dai dati. Dipende dal fatto che il dispositivo di misurazione si stesse muovendo (la correlazione seriale e la distribuzione congiunta di X, Y e Z ti forniranno molte informazioni) o se stai fermo (l'indipendenza è ok). Posso espandere la risposta per avvicinarmi a questo, se richiesto.
Dovrei dire che c'è molta letteratura sui modelli spaziali bayesiani di cui non sono a conoscenza.