Это должно быть легко решено с помощью байесовского вывода. Вы знаете свойства измерения отдельных точек относительно их истинного значения и хотите вывести среднее значение по совокупности и SD, которые сгенерировали истинные значения. Это иерархическая модель.
Перефразируя проблему (основы Байеса)
Обратите внимание, что в то время как ортодоксальная статистика дает вам одно среднее значение, в байесовской системе вы получаете распределение достоверных значений среднего. Например, наблюдения (1, 2, 3) с SD (2, 2, 3) могли быть получены с помощью оценки максимального правдоподобия, равной 2, но также с помощью среднего значения 2,1 или 1,8, хотя и несколько менее вероятно (учитывая данные), чем MLE. Таким образом, в дополнение к SD, мы также выводим среднее значение .
Другое концептуальное отличие состоит в том, что вы должны определить состояние своего знания, прежде чем делать наблюдения. Мы называем это приоры . Вы можете заранее знать, что определенная область была отсканирована и находится в определенном диапазоне высот. Полное отсутствие знаний будет иметь одинаковые (-90, 90) градусы, как предшествующее в X и Y и, возможно, одинаковые (0, 10000) метров по высоте (над океаном, ниже самой высокой точки на земле). Вы должны определить распределения априоров для всех параметров, которые вы хотите оценить, т.е. получить апостериорные распределения для. Это верно и для стандартного отклонения.
Итак, перефразируя вашу проблему, я предполагаю, что вы хотите вывести достоверные значения для трех средних (X.mean, Y.mean, X.mean) и трех стандартных отклонений (X.sd, Y.sd, X.sd), которые могут иметь сгенерировал ваши данные.
Модель
Используя стандартный синтаксис BUGS (используйте WinBUGS, OpenBUGS, JAGS, stan или другие пакеты для запуска этого), ваша модель будет выглядеть примерно так:
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)
}
}
Естественно, вы отслеживаете параметры .mean и .sd и используете их постеры для вывода.
моделирование
Я смоделировал некоторые данные как это:
# 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]
Затем запустили модель, используя JAGS для 2000 итераций после 500 итераций. Вот результат для X.sd.
Синий диапазон указывает на 95% наибольшую заднюю плотность или доверительный интервал (где вы полагаете, что параметр находится после наблюдения данных. Обратите внимание, что ортодоксальный доверительный интервал не дает вам этого).
Красная вертикальная линия - это оценка MLE необработанных данных. Обычно это тот случай, когда наиболее вероятный параметр в байесовской оценке также является наиболее вероятным (с максимальной вероятностью) параметром в ортодоксальной статистике. Но вы не должны заботиться о верхней части задней части. Среднее значение или медиана лучше, если вы хотите свести его к одному числу.
Обратите внимание, что MLE / top не на 5, потому что данные были сгенерированы случайным образом, а не из-за неправильной статистики.
Limitiations
Это простая модель, которая в настоящее время имеет несколько недостатков.
- Это не обрабатывает идентичность -90 и 90 градусов. Это может быть сделано, однако, путем создания некоторой промежуточной переменной, которая сдвигает экстремальные значения оценочных параметров в диапазон (-90, 90).
- X, Y и Z в настоящее время моделируются как независимые, хотя они, вероятно, коррелируют, и это следует учитывать для получения максимальной отдачи от данных. Это зависит от того, перемещалось ли измерительное устройство (последовательная корреляция и совместное распределение X, Y и Z даст вам много информации) или стоя на месте (независимость в порядке). Я могу расширить ответ, чтобы подойти к этому, если потребуется.
Я должен упомянуть, что есть много литературы по пространственным байесовским моделям, о которых я не осведомлен.