Как создать остаточный график в Python


Остаточный график — это тип графика, на котором сопоставленные значения отображаются с остаточными значениями для регрессионной модели .

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

В этом руководстве объясняется, как создать остаточный график для модели линейной регрессии в Python.

Пример: остаточный график в Python

В этом примере мы будем использовать набор данных, описывающий атрибуты 10 баскетболистов:

import numpy as np
import pandas as pd

#create dataset
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
 'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
 'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view dataset
df

 rating points assists rebounds
0 90 25 5 11
1 85 20 7 8
2 82 14 7 10
3 88 16 8 6
4 94 27 5 6
5 90 20 7 9
6 76 12 6 6
7 75 15 9 10
8 87 14 9 10
9 86 19 5 7

Остаточный график для простой линейной регрессии

Предположим, мы подгоняем простую модель линейной регрессии, используя баллы в качестве переменной-предиктора и рейтинг в качестве переменной-ответа:

Мы можем создать график невязок по сравнению с подобранным, используя функцию plot_regress_exog() из библиотеки statsmodels:

Остаточный сюжет в Python

Изготовлены четыре участка. Тот, что в верхнем правом углу, - это остаточный график по сравнению с подогнанным. По оси X на этом графике показаны фактические значения точек переменной предиктора, а по оси Y показана невязка для этого значения.

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

Остаточные графики для множественной линейной регрессии

Предположим, вместо этого мы подгоняем модель множественной линейной регрессии, используя передачи и подборы в качестве переменной-предиктора и рейтинг в качестве переменной-ответа:

Еще раз мы можем создать график невязок и предикторов для каждого из отдельных предикторов, используя функцию plot_regress_exog() из библиотеки statsmodels.

Например, вот как выглядит график остатка и предиктора для вспомогательной переменной предиктора :

Остаток по сравнению с подогнанным графиком

А вот как выглядит график остатка и предиктора для подборов переменной предиктора:

Остаточный и подогнанный график в Python

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

Last updated