Я хотел бы оценить неопределенность или надежность подобранной кривой. Я намеренно не называю точную математическую величину, которую ищу, потому что не знаю, что это.
Здесь (энергия) является зависимой переменной (отклик), а V (объем) является независимой переменной. Я хотел бы найти кривую энергии-объема, E ( V ) , некоторого материала. Поэтому я сделал несколько расчетов с компьютерной программой квантовой химии, чтобы получить энергию для некоторых объемов образцов (зеленые кружки на графике).
Затем я подобрал эти выборки данных с помощью функции Берча – Мурнагана : который зависит от четырех параметров: E 0 , V 0 , B 0 , B ′ 0 . Я также предполагаю, что это правильная функция подгонки, поэтому все ошибки происходят из-за шума выборок. В дальнейшем, насаженная функция ( Е ) будет записана как функция V .
Здесь вы можете увидеть результат (в соответствии с алгоритмом наименьших квадратов). Переменной у-оси , а переменная х-оси V . Синяя линия - это подгонка, а зеленые кружки - точки отбора.
Мое интуиция говорит мне, что подобранная кривая наиболее надежна в середине, поэтому я предполагаю, что неопределенность (скажем, диапазон неопределенности) должна увеличиться ближе к концу выборочных данных, как на этом рисунке:
Однако, что это за мера, которую я ищу, и как я могу ее рассчитать?
Если быть точным, то здесь фактически есть только один источник ошибок: расчетные выборки зашумлены из-за вычислительных ограничений. Так что, если бы я вычислил плотный набор образцов данных, они бы образовали неровную кривую.
Моя идея найти желаемую оценку неопределенности состоит в том, чтобы рассчитать следующую «ошибку» на основе параметров, которые вы изучаете в школе ( распространение неопределенности ):
Это приемлемый подход или я делаю это неправильно?
PS: я знаю, что я мог бы просто суммировать квадраты остатков между моими выборками данных и кривой, чтобы получить какую-то «стандартную ошибку», но это не зависит от объема.
источник
Ответы:
Это обычная проблема наименьших квадратов!
определяющий
модель можно переписать
R
источник
Это можно сделать для любой зависимой переменной в AD Model Builder. Каждый объявляет переменную в соответствующем месте в коде, как это
и пишет код для оценки зависимой переменной, как это
Обратите внимание, что это оценивается для значения независимой переменной, в 2 раза превышающей наибольшую, наблюдаемую при подгонке модели. Подгоните модель и получите стандартное отклонение для этой зависимой переменной
Я изменил программу, включив в нее код для расчета доверительных интервалов для функции объема энтальпии. Файл кода (TPL) выглядит следующим образом:
Затем я переоборудовал модель, чтобы получить стандартные разработки для оценок H.
Они рассчитаны для ваших наблюдаемых значений V, но могут быть легко рассчитаны для любого значения V.
Было отмечено, что на самом деле это линейная модель, для которой существует простой R-код для оценки параметров через OLS. Это очень привлекательно, особенно для наивных пользователей. Однако, поскольку работа Хубера более тридцати лет назад, мы знаем или должны знать, что, вероятно, почти всегда следует заменить OLS на умеренно надежную альтернативу. Я полагаю, что причина этого обычно не в том, что надежные методы по своей природе нелинейны. С этой точки зрения простые привлекательные методы OLS в R являются скорее ловушкой, а не особенностью. Преимуществом подхода AD Model Builder является встроенная поддержка нелинейного моделирования. Чтобы изменить код наименьших квадратов на устойчивую нормальную смесь, нужно изменить только одну строку кода. Линия
изменено на
Степень избыточной дисперсии в моделях измеряется параметром a. Если a равно 1,0, дисперсия такая же, как для нормальной модели. Если имеется отклонение от инфляции по выбросам, мы ожидаем, что a будет меньше 1,0. Для этих данных оценка a составляет около 0,23, так что дисперсия составляет около 1/4 дисперсии для нормальной модели. Интерпретация заключается в том, что выбросы увеличили оценку дисперсии примерно в 4 раза. Результатом этого является увеличение размера доверительных границ для параметров для модели OLS. Это представляет собой потерю эффективности. Для модели нормальной смеси оцененные стандартные отклонения для функции энтальпии-объема
Видно, что в точечных оценках есть небольшие изменения, в то время как доверительные пределы были уменьшены примерно до 60% от тех, которые были получены с помощью OLS.
Главное, что я хочу подчеркнуть, это то, что все измененные вычисления выполняются автоматически, как только одна строка кода изменяется в файле TPL.
источник
Перекрестная проверка - это простой способ оценить надежность вашей кривой: https://en.wikipedia.org/wiki/Cross-validation_(statistics)
Вы можете рассчитать 1-кратную ошибку проверки, оставив одну из ваших точек вне аппроксимации и используя подобранную кривую для прогнозирования значения точки, которая была оставлена. Повторите это для всех точек так, чтобы каждый остался один раз. Затем вычислите ошибку проверки вашей окончательной кривой (кривой, снабженной всеми точками) как среднее значение ошибок прогнозирования.
Это только скажет вам, насколько чувствительна ваша модель для любой новой точки данных. Например, он не скажет вам, насколько неточна ваша энергетическая модель. Тем не менее, это будет гораздо более реалистичной оценкой ошибки, чем простая подгонка ошибки.
Кроме того, вы можете отобразить ошибки прогнозирования в зависимости от объема, если хотите.
источник