Предположим, у вас есть несколько точек данных
x = numpy.array([0.0, 1.0, 2.0, 3.0])
y = numpy.array([3.6, 1.3, 0.2, 0.9])
Чтобы подогнать параболу к этим точкам, используйте numpy.polyfit()
:
p = numpy.polyfit(x, y, 2)
Чтобы получить значение хи-квадрат для этой подгонкиоцените полином по x
значениям ваших точек данных, вычтите y
значения, квадрат и сумму:
chi_squared = numpy.sum((numpy.polyval(p, x) - y) ** 2)
Вы можете разделить это число на количество степеней свободы, если хотите.