Chi2 сравнение эксперимента с теорией

#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 вместо этого.