95% доверительный интервал в пандах и матплотлиб - PullRequest
0 голосов
/ 20 февраля 2019

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

У меня есть некоторые данные вСписок Python.

Я нашел этот код в другом вопросе для вычисления 95% доверительного интервала некоторых данных.

def mean_confidence_interval(data, confidence=0.95):
    a = 1.0 * np.array(data)
    n = len(a)
    m, se = np.mean(a), scipy.stats.sem(a)
    h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1)
    return m, m-h, m+h

Я использую его для получения доверительного интервала одного бара моегогистограмма.Вопрос в том, как мне построить панель ошибок, так как у меня здесь тройка?Должен ли я просто построить max из этих значений для бара?

Редактировать

Я попытался реализовать то, что было предложено в комментариях.Допустим, у меня на графике 3 бара, затем я создал список 2X3, содержащий в первом ряду m-h значения каждого бара и во втором ряду m+h значения каждого бара.Однако предоставление этого графика приводит к появлению странных баров ошибок (например, один столбец выходит за пределы 500, хотя в моих ошибках такого значения нет).

[[200.0446804785922, 109.31657288869792, 93.43052190866868], 
[200.0957195214078, 222.0113671113021, 217.6619980913313]]

1 Ответ

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

Используя Seaborn и Pandas, это действительно просто:

import pandas as pd
import seaborn as sns

pd_df = pd.DataFrame(your_list, columns=['x_data', 'y_data', 'group_categories'])
sns.lineplot(data=pd_df, 
             x='x_data', y='y_data', hue='group_categories', ci=95,
             legend="full", palette="Set1")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...