Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Fit Models with Measurement Errors - Wolfram Mathematica

Подбор модели с учетом погрешности измерений

В области физических наук характерным является использование погрешности измерений в качестве весов, для включения измеренного отклонения в подбор функции по точкам.   Веса довольно относительно влияют на оценки соответствующих им параметров, однако, во взвешенной регрессии все же требуется определять дисперсию погрешностей, которая влияет на общую оценку погрешностей результатов измерений. Для получения желаемого результата, можно воспользоваться такими опциями для функций LinearModelFit и NonlinearModelFit, как VarianceEstimatorFunction и Weights, в случае, когда веса соотносятся с погрешностями измерений.

Зададим набор данных, где первые два элемента каждой точки являются предикторами, а третий элемент представляет собой измеренное значение:

In[4]:=

FitModelsWithMeasurementErrorsRU_1.gif

Зададим погрешности измерений для измеренных значений в наборе данных data:

In[5]:=

FitModelsWithMeasurementErrorsRU_2.gif

Можно воспользоваться функцией NonlinearModelFit для подбора логарифмической функции предикторов по этим данным. Использование опции Weights включает в подбор нормально распределенную изменчивость, основанную на погрешностях измерений. Каждая точка данных взвешивается по формуле 
FitModelsWithMeasurementErrorsRU_3.gif, где ?z является погрешностью измерения для такой точки.

При использовании опции Weights отдельно, градация дисперсии оценивается с использованием методов по умолчанию. Погрешность оценки будет зависеть как от весов, так и от градации оценки дисперсии. Однако, если веса берутся из погрешностей измерений, то часто предпочитают, чтобы оценка погрешностей зависела только от весов.

Подберем нелинейную модель и включим в нее погрешности путем использования весов, с оценкой градации дисперсии методом по умолчанию:

In[6]:=

FitModelsWithMeasurementErrorsRU_4.gif

Out[6]=

FitModelsWithMeasurementErrorsRU_5.gif

Можно выполнить информационный запрос по объекту вывода FittedModel для nlm, чтобы вывести свойства и диагностику результатов выполненного подбора.

Воспользуемся свойствами BestFit и ParameterTable для получения наилучшего подбора функции и вывода таблицы значений параметров подбора nlm:

In[7]:=

FitModelsWithMeasurementErrorsRU_6.gif

Out[7]=

FitModelsWithMeasurementErrorsRU_7.gif

Для такого взвешенного подбора, масштаб дисперсии должен быть оценен для получения стандартных ошибок оценок параметров. Типичная оценка, применяемая линейной и нели&# 1085;ейной моделями по умолчанию, использует взвешенную сумму квадратов.

Важно отметить, что веса не меняют оценку подбора или погрешностей. Например, умножение всех весов на константу увеличивает оцениваемую дисперсию, однако, не меняет оценки параметров или стандартные погрешности.

Выполним подбор той же самой модели со всеми весами, увеличенными в 100 раз:

In[8]:=

FitModelsWithMeasurementErrorsRU_8.gif

Out[8]=

FitModelsWithMeasurementErrorsRU_9.gif

Обратите внимание, что наилучшим образом подобранная функция, а также оценки погрешностей осталисть такими же, как и прежде:

In[9]:=

FitModelsWithMeasurementErrorsRU_10.gif

Out[9]=

FitModelsWithMeasurementErrorsRU_11.gif

Воспользуемся свойством EstimatedVariance для того, чтобы сравнить оценки дисперсии. Это сравнение показывает, что оценка увеличилась на тот же множитель (100), что и веса:

In[10]:=

FitModelsWithMeasurementErrorsRU_12.gif

Out[10]=

FitModelsWithMeasurementErrorsRU_13.gif

Веса, в приведенных выше примерах, являются просто весами. Они имеют достаточно относительное влияние на подбор, ведь оценки и ошибки остаются теми же самыми.

Для того, чтобы применять веса, полученные из погрешностей измерений, можно воспользоваться опцией VarianceEstimatorFunction в дополнение к опции Weights. Опция VarianceEstimatorFunction четко определяет используемую оценку градации дисперсии. Для погрешностей измерения нужно, чтобы стандартные погр&# 1077;шности были рассчитаны из весов, и поэтому оценка дисперсии должна быть константой 1:

In[11]:=

FitModelsWithMeasurementErrorsRU_14.gif

Out[11]=

FitModelsWithMeasurementErrorsRU_15.gif

Выведем наилучше подобранную функцию и таблицу параметров для этой модели:

In[12]:=

FitModelsWithMeasurementErrorsRU_16.gif

Out[12]=

FitModelsWithMeasurementErrorsRU_17.gif

Сравнение таблиц параметров для nlmvar1 и nlm показывает, что оценки параметров эквивалентны, но стандартные погрешности и связанные с ними результаты претерпели изменения:

In[13]:=

FitModelsWithMeasurementErrorsRU_18.gif

Out[13]=

FitModelsWithMeasurementErrorsRU_19.gif

Результаты, полученные для nlmvar1 включают в себя веса и оценку дисперсии соответствующую весам, полученным из погрешностей измерения. Несмотря на то, что веса оказывают влияние на оценки параметров, дисперсия оценки сама по себе на них не влияет. Можно не принимать во внимание оценку параметров во время выполнения подбора по точкам, чтобы получить результаты погрешностей измерения из nlm.

Получим такую же самую таблицу параметров  для подбора по точкам с погрешностями измерений из первого примера:

In[14]:=

FitModelsWithMeasurementErrorsRU_20.gif

Out[14]=

Estimate Standard Error t-Statistic P-Value
a 2.68807 0.0974628 27.5805 2.11436*10^^-8
b 0.941344 0.247018 3.81084 0.00662066
c 5.01541 0.597661 8.39173 0.0000670886