seaborn.regplot#

seaborn.regplot(data=None, *, x=None, y=None, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, marker='o', scatter_kws=None, line_kws=None, ax=None)#

データと線形回帰モデルの適合をプロットします。

回帰モデルを推定するための相互に排他的なオプションがいくつかあります。詳細については、チュートリアルを参照してください。

パラメータ:
x, y: 文字列、シリーズ、またはベクター配列

入力変数。文字列の場合、これらは data 内の列名に対応する必要があります。pandasオブジェクトを使用する場合、軸はシリーズ名でラベル付けされます。

dataDataFrame

各列が変数で、各行が観測値である整然とした(「長形式」)データフレーム。

x_estimatorベクトルをスカラーにマッピングする呼び出し可能オブジェクト、オプション

x の一意の値ごとにこの関数を適用し、結果として得られる推定値をプロットします。これは x が離散変数の場合に便利です。x_ci が指定されている場合、この推定値はブートストラップされ、信頼区間が描画されます。

x_binsint またはベクトル、オプション

x 変数を離散的なビンに分割し、中心傾向と信頼区間を推定します。このビニングは、散布図がどのように描画されるかにのみ影響します。回帰は元のデータに適合されます。このパラメータは、均等なサイズ(必ずしも間隔が均等ではない)のビンの数またはビン中心の位置として解釈されます。このパラメータを使用すると、x_estimator のデフォルトが numpy.mean であることを意味します。

x_ci"ci"、"sd"、[0, 100] の整数または None、オプション

x の離散値をプロットするときに使用される中心傾向の信頼区間のサイズ。"ci" の場合、ci パラメータの値に従います。"sd" の場合、ブートストラップをスキップし、各ビン内の観測値の標準偏差を表示します。

scatterbool、オプション

True の場合、基礎となる観測値(または x_estimator の値)を含む散布図を描画します。

fit_regbool、オプション

True の場合、x 変数と y 変数に関連する回帰モデルを推定してプロットします。

ci[0, 100] の整数または None、オプション

回帰推定値の信頼区間のサイズ。これは、回帰線の周りに半透明の帯を使用して描画されます。信頼区間はブートストラップを使用して推定されます。大きなデータセットの場合、このパラメータを None に設定して、その計算を避けることをお勧めします。

n_bootint、オプション

ci を推定するために使用されるブートストラップリサンプルの数。デフォルト値は時間と安定性のバランスを取ろうとします。プロットの「最終」バージョンでは、この値を大きくすることをお勧めします。

unitsdata 内の変数名、オプション

もしxyの観測値がサンプリング単位内でネストしている場合、ここで指定できます。これは、ユニットと(ユニット内の)観測値の両方を再サンプリングする多段階ブートストラップを実行することで、信頼区間を計算する際に考慮されます。それ以外の場合、回帰がどのように推定または描画されるかに影響を与えることはありません。

seedint, numpy.random.Generator, または numpy.random.RandomState, optional

再現性のあるブートストラップのためのシードまたは乱数ジェネレーター。

orderint, optional

orderが1より大きい場合、numpy.polyfitを使用して多項式回帰を推定します。

logisticbool, optional

Trueの場合、yがバイナリ変数であると仮定し、statsmodelsを使用してロジスティック回帰モデルを推定します。これは線形回帰よりも計算負荷が大幅に大きいため、ブートストラップの再サンプル数(n_boot)を減らすか、ciをNoneに設定することをお勧めします。

lowessbool, optional

Trueの場合、statsmodelsを使用してノンパラメトリックなLOWESSモデル(局所重み付き線形回帰)を推定します。現在、この種のモデルでは信頼区間を描画できないことに注意してください。

robustbool, optional

Trueの場合、statsmodelsを使用してロバスト回帰を推定します。これにより、外れ値の重みが下げられます。これは標準的な線形回帰よりも計算負荷が大幅に大きいため、ブートストラップの再サンプル数(n_boot)を減らすか、ciをNoneに設定することをお勧めします。

logxbool, optional

Trueの場合、y ~ log(x)の形式の線形回帰を推定しますが、散布図と回帰モデルを入力空間にプロットします。これが機能するためには、xは正である必要があります。

{x,y}_partialdata内の文字列または行列

プロットする前にxまたはy変数から回帰除去する交絡変数。

truncatebool, optional

Trueの場合、回帰線はデータの限界で囲まれます。Falseの場合、x軸の限界まで拡張されます。

{x,y}_jitterfloat, optional

xまたはy変数にこのサイズの均一なランダムノイズを追加します。ノイズは、回帰をフィッティングした後、データのコピーに追加され、散布図の見え方のみに影響します。これは、離散値を取る変数をプロットする場合に役立ちます。

labelstring

凡例で使用するために、散布図または回帰線(scatterFalseの場合)に適用するラベル。

colormatplotlib color

すべてのプロット要素に適用する色。 scatter_kwsまたはline_kwsで渡された色によって上書きされます。

markermatplotlib マーカーコード

散布図のグリフに使用するマーカー。

{scatter,line}_kws辞書

plt.scatterplt.plotに渡す追加のキーワード引数。

axmatplotlib Axes, optional

プロットを描画するAxesオブジェクト。それ以外の場合は、現在のAxesを使用します。

戻り値:
axmatplotlib Axes

プロットを含むAxesオブジェクト。

参考

lmplot

データセット内の複数の線形関係をプロットするために、regplot()FacetGridを組み合わせます。

jointplot

regplot()JointGridkind="reg"で使用する場合)を組み合わせます。

pairplot

regplot()PairGridkind="reg"で使用する場合)を組み合わせます。

residplot

線形回帰モデルの残差をプロットします。

注釈

regplot()関数とlmplot()関数は密接に関連していますが、前者は軸レベルの関数であり、後者はregplot()FacetGridを組み合わせた図レベルの関数です。

regplot()JointGridまたはPairGridjointplot()関数およびpairplot()関数を介して組み合わせるのも簡単ですが、これらはregplot()のすべてのパラメーターを直接受け入れるわけではありません。

DataFrame内の2つの変数間の関係をプロットします

sns.regplot(data=mpg, x="weight", y="acceleration")
../_images/regplot_1_0.png

非線形トレンドを捉えるために、高次の多項式回帰をフィッティングします

sns.regplot(data=mpg, x="weight", y="mpg", order=2)
../_images/regplot_3_0.png

または、対数線形回帰をフィッティングします

sns.regplot(data=mpg, x="displacement", y="mpg", logx=True)
../_images/regplot_5_0.png

または、局所重み付き(LOWESS)平滑化を使用します

sns.regplot(data=mpg, x="horsepower", y="mpg", lowess=True)
../_images/regplot_7_0.png

応答変数がバイナリの場合は、ロジスティック回帰をフィッティングします

sns.regplot(x=mpg["weight"], y=mpg["origin"].eq("usa").rename("from_usa"), logistic=True)
../_images/regplot_9_0.png

外れ値の影響を軽減するために、ロバスト回帰をフィッティングします

sns.regplot(data=mpg, x="horsepower", y="weight", robust=True)
../_images/regplot_11_0.png

プロットを高速化するために、信頼区間を無効にします

sns.regplot(data=mpg, x="weight", y="horsepower", ci=None)
../_images/regplot_13_0.png

x変数が離散的な場合に、散布図をジッターします

sns.regplot(data=mpg, x="cylinders", y="weight", x_jitter=.15)
../_images/regplot_15_0.png

または、個別のx値で集計します

sns.regplot(data=mpg, x="cylinders", y="acceleration", x_estimator=np.mean, order=2)
../_images/regplot_17_0.png

連続的なx変数で、ビン分割してから集計します

sns.regplot(data=mpg, x="weight", y="mpg", x_bins=np.arange(2000, 5500, 250), order=2)
../_images/regplot_19_0.png

さまざまな要素の外観をカスタマイズします

sns.regplot(
    data=mpg, x="weight", y="horsepower",
    ci=99, marker="x", color=".3", line_kws=dict(color="r"),
)
../_images/regplot_21_0.png