#python #numpy #scipy
#python #numpy #scipy
Вопрос:
я никогда не пробовал внедрять столбцы ошибок, основанные на доверительных интервалах. Поскольку это то, что я хочу сделать, я не уверен, как действовать дальше.
У меня есть этот большой массив данных, состоящий из ~ 1000 элементов. Из построения гистограммы, содержащей эти данные, она выглядит достаточно хорошо, как распределение Максвелла-Больцмана.
Допустим, вызываются мои данные x
, которые я применяю к ним как
import scipy.stats as stats
import numpy as np
import matplotlib.pyplot as plt
maxwell = stats.maxwell
## Scale Parameter
params = maxwell.fit(x, floc=0)
print params
## mean
mean = 2*params[1]*np.sqrt(2/np.pi)
print mean
## Variance
sig = (params[1])**(3*np.pi-8)/np.pi
print sig
>>> (0, 178.17597215151301)
>>> 284.327714571
>>> 512.637498406
К которому при его построении
fig = plt.figure(figsize=(7,7))
ax = fig.add_subplot(111)
xd = np.argsort(x)
ax.plot(x[xd], maxwell.pdf(x, *params)[xd])
ax.hist(x[xd], bins=75, histtype="stepfilled", linewidth=1.5, facecolor='none', alpha=0.55, edgecolor='black',
normed=True)
Как, черт возьми, вы собираетесь внедрять доверительные интервалы с подгонкой кривой?
Я могу использовать
conf = maxwell.interval(0.90,loc=mean,scale=sig)
>>> (588.40702793225228, 1717.3973740895271)
Но я понятия не имею, что с этим делать
Комментарии:
1. Я полагаю, что ваш
sig
может быть отключен, он кажется очень большим. Если я правильно понимаю,maxwell.interval
это даст вам диапазон в вашихx
данных (см. ваш график), где случайная переменная будет выпадать с вероятностью 90%. Из этого вы не получите точечные столбцы ошибок. Но даже если вы получите фактические доверительные интервалы для ваших установленных параметров: вы получите оценки только для двух (одного) параметра (ов) подобранной модели. Я думаю, что вы могли бы сделать, это посмотреть на эти доверительные интервалы установленных параметров и построить верхние и нижние кривые для плотности, которая вам подходит.2. Опять же, я могу ошибаться, и я подозреваю, что большая часть этого вопроса будет посвящена теме перекрестной проверки . Вы должны проверить.