#python #scipy #statistics #chi-squared
Вопрос:
В физической лаборатории у меня есть измеренные данные, которые, согласно теории, должны соответствовать y = 1,956 x 1,51. Я передал свои данные через эту функцию, чтобы найти значения, которые я ожидал бы получить. Теперь я хотел бы использовать тест на четкость, чтобы проверить, соответствует ли он теории. Мне сказали использовать Scipy.chi2.sf (), но я не слишком уверен, что на самом деле делает эта функция. Я также создал простую функцию для вычисления значения Chi2 на основе моих ожидаемых значений, измеренных значений и ошибок измерений.
from scipy.stats import chi2
def X2(m, e, er):
x = np.sum(((m - e)/er)**2)
return x
degfree = len(energy) - 2
#len=15
Chi2=X2(1/energy*10**3, getexpect_e(theta), percent_error)
Chi2 возвращается
4.106113442837043
и уменьшенное значение Chi2 [chi2/degfree] возвращает 0,3158548802182341.
Для хорошей подгонки уменьшенный Chi2 должен быть близок к 1.
Мой вопрос в том, что на самом деле делает scipy.chi2.sf() математически (какие параметры он принимает, выводит и т.д.) И как его следует использовать для анализа моих данных. Я не уверен, какие из моих значений я должен вкладывать в функцию или что я должен даже делать с ней, как только она выдаст мне результат.
Комментарии:
1. Интересный вопрос, однако, он не по теме на этом форуме; попробуйте stats.stackexchange.com вместо этого.