Как я могу отобразить уравнение наилучшего соответствия и вычислить r ^ 2 для гистограммы, созданной с помощью scipy.stats? - PullRequest
1 голос
/ 11 апреля 2019

Я создал гистограмму распадов мюонов и хочу найти значение r ^ 2 и отобразить функцию для кривой наилучшего соответствия, которую я построил.

Я использую функцию scipy.stats expon.fit для генерации кривой, как бы я мог отобразить сгенерированную кривую в виде уравнения и соответствующее значение r ^ 2?

Я пыталсягугл проблема.Все, что я нашел, было для точечных графиков или для np.polyfit.Я пробовал печатать (P), но, конечно, он просто печатал упорядоченные пары.

#The Code
P = ss.expon.fit(data.deltaT)
rX = np.linspace(0, 10000, 321)
rP = ss.expon.pdf(rX,* * *P)
plt.hist(data.deltaT,bins=30, normed=True, color='slategrey')
plt.plot(rX, rP, color='darkturquoise')
plt.show()

Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 11 апреля 2019

После применения ревизий Джеймса. В итоге я экспортировал упорядоченные пары rX, rP в файл Excel и таким образом нашел линию тренда. Затем с помощью df.corr найдите корреляцию между data.deltaT и rP. Спасибо всем за помощь.

0 голосов
/ 11 апреля 2019

Вот пример использования expon таким образом с тестовыми данными:

import numpy as np
import scipy.stats as ss
import matplotlib.pyplot as plt

data = ss. expon.rvs(size=1000)

P = ss.expon.fit(data)
rX = np.linspace(min(data), max(data), 50)
rP = ss.expon.pdf(rX, *P)

plt.hist(data,bins=25, normed=True, color='slategrey')

plt.plot(rX, rP, color='darkturquoise')
plt.show()

plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...