Линейное соответствие с Math.NET: ошибка в данных и ошибка в параметрах соответствия?

Я пытаюсь использовать Math.NET для выполнения простого линейного подбора через небольшой набор точек данных. Используя Fit.Line, я очень легко могу выполнить линейную посадку и получить наклон и пересечение:

Tuple<double, double> result = Fit.Line(xdata, ydata);
var intercept = result.Item1;
var slope = result.Item2;

Это очень просто, но как насчет ошибок?

Ошибки в y-данных

Мои y-данные могут содержать полосы ошибок, может ли Math.NET учесть эти ошибки? В x-данных нет ошибок, только в y-данных.

Ошибки в подгоночных параметрах

Как насчет ошибки в результирующих параметрах подгонки? Наклон и перехват должны иметь ошибку или, по крайней мере, какой-то способ сказать мне, насколько хороши эти параметры. Обычно я думаю, что вы использовали бы ковариационную матрицу, и ее диагональные элементы дали бы ошибку в параметрах. Я не вижу никакой возможности использовать это. Может ли Math.NET выдавать мне ошибки подходящего параметра?

1 ответ

Я полагаю, что вы можете использовать эту строку для измерения ошибки соответствия:

GoodnessOfFit.RSquared(xdata.Select(x => a+b*x), ydata); // == 1.0

где 1 означает ИДЕАЛЬНО (точно на линии) и 0 значит бедный.

это описано в документации Math.NET на этой странице:

http://numerics.mathdotnet.com/docs/Regression.html

Другие вопросы по тегам