数理コンサルタントの備忘録

あなたの悩みを数理で解決する

Regrssion Plots

今回の記事では、散布図とその近似曲線及び領域を描画する。
まず、下記のようなdfを作成する。

f:id:guitartakahiro:20210503111519p:plain
df_tot

seabornのregplotを用いると、簡単に回帰直線を描ける。

import seaborn as sns
plt.figure(figsize=(15, 10))
sns.set(font_scale=1.5)
ax = sns.regplot(x='year', y='total', data=df_tot, color='green', marker='+', scatter_kws={'s': 200})
ax.set(xlabel='Year', ylabel='Total Immigration')
ax.set_title('Total Immigration to Canada from 1980 - 2013')

f:id:guitartakahiro:20210503111847p:plain
regplot2

regplotの引数は下記の通り。

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

主要な引数

  • ci:回帰を行う際の信頼区間 (%) を指定 (デフォルトは95%)
  • order:1 以上の数値を指定すると、numpy.polyfit を用いて多項式回帰を行う (デフォルトは1)

参考:Seaborn で散布図・回帰モデルを可視化する