Isso deve ser facilmente resolvido usando inferência bayesiana. Você conhece as propriedades de medição dos pontos individuais em relação ao seu valor verdadeiro e deseja inferir a média da população e o DP que geraram os valores reais. Este é um modelo hierárquico.
Reformulando o problema (noções básicas de Bayes)
Observe que, enquanto as estatísticas ortodoxas fornecem uma única média, na estrutura bayesiana você obtém uma distribuição de valores credíveis da média. Por exemplo, as observações (1, 2, 3) com DPs (2, 2, 3) poderiam ter sido geradas pela Estimativa Máxima de Verossimilhança de 2, mas também por uma média de 2,1 ou 1,8, embora um pouco menos provável (dados) que o MLE. Portanto, além do DP, também inferimos a média .
Outra diferença conceitual é que você precisa definir seu estado de conhecimento antes de fazer as observações. Chamamos isso de priores . Você deve saber antecipadamente que uma determinada área foi digitalizada e em uma certa faixa de altura. A completa ausência de conhecimento seria ter graus uniformes (-90, 90) como os anteriores em X e Y e talvez uniformes (0, 10000) metros de altura (acima do oceano, abaixo do ponto mais alto da Terra). Você precisa definir distribuições anteriores para todos os parâmetros que deseja estimar, ou seja, obter distribuições posteriores . Isso também vale para o desvio padrão.
Então, reformulando seu problema, presumo que você deseja inferir valores confiáveis para três meios (X.mean, Y.mean, X.mean) e três desvios padrão (X.sd, Y.sd, X.sd) que poderiam ter gerou seus dados.
O modelo
Usando a sintaxe padrão de BUGS (use WinBUGS, OpenBUGS, JAGS, stan ou outros pacotes para executar isso), seu modelo ficaria assim:
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, você monitora os parâmetros .mean e .sd e usa seus posteriores para inferência.
Simulação
Simulei alguns dados como este:
# 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]
Em seguida, executou o modelo usando o JAGS para 2000 iterações após uma queima de 500 iterações. Aqui está o resultado para o X.sd.
O intervalo azul indica o intervalo 95% de densidade posterior mais alta ou credível (onde você acredita que o parâmetro está após a observação dos dados. Observe que um intervalo de confiança ortodoxo não fornece isso).
A linha vertical vermelha é a estimativa do MLE dos dados brutos. Geralmente, o parâmetro mais provável na estimativa bayesiana também é o parâmetro mais provável (máxima verossimilhança) nas estatísticas ortodoxas. Mas você não deve se importar muito com a parte superior da parte posterior. A média ou mediana é melhor se você quiser reduzi-lo para um único número.
Observe que MLE / top não está em 5 porque os dados foram gerados aleatoriamente, não por causa de estatísticas incorretas.
Limitações
Este é um modelo simples que possui várias falhas atualmente.
- Ele não lida com a identidade de -90 e 90 graus. Isso pode ser feito, no entanto, criando uma variável intermediária que altera valores extremos dos parâmetros estimados para a faixa (-90, 90).
- Atualmente, X, Y e Z são modelados como independentes, embora provavelmente estejam correlacionados, e isso deve ser levado em consideração para tirar o máximo proveito dos dados. Depende se o dispositivo de medição estava em movimento (correlação serial e distribuição conjunta de X, Y e Z fornecerão muitas informações) ou parado (a independência é aceitável). Posso expandir a resposta para abordar isso, se solicitado.
Devo mencionar que há muita literatura sobre modelos espaciais bayesianos sobre os quais não tenho conhecimento.