Линейное соответствие с 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 на этой странице: