sns.regplot показывает заштрихованную область для регрессии, которая не имеет смысла - PullRequest
0 голосов
/ 30 апреля 2020

Учитывая:

f = pd.DataFrame({"a": [1,2,3], "b": [1,2,3]})
ax = sns.regplot(x="a", y="b", data=f)

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

enter image description here

1 Ответ

1 голос
/ 30 апреля 2020

Это доверительный интервал ваших регрессионных оценок, который вы можете увидеть в опции ci sns.regplot:

ci int в [0, 100] или Нет, необязательно. Размер доверительного интервала для оценки регрессии. Это будет нарисовано с использованием полупрозрачных полос вокруг линии регрессии. Доверительный интервал оценивается с помощью начальной загрузки; для больших наборов данных может быть целесообразно избежать таких вычислений, установив для этого параметра значение Нет.

В вашем примере данные загружаются с начальной загрузкой и подгоняются регрессией, прогнозы получаются более 1000x, поэтому для каждого Точка вы можете иметь 95% CI. Bootstrap с заменой, поэтому вы можете получить, скажем, [1,1,2] и [1,1,2] и так далее, отсюда и ошибка, которую вы видите. Как правило, если у вас меньшее количество выборок, ошибка может быть больше

. Вы можете отключить это с помощью:

ax = sns.regplot(x="a", y="b", data=f,ci=None)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...