2016-04-29 13 views
2

通常の最小二乗(OLS)フィッティングの代わりに堅牢な統計を実装しようとすると、アウトライアーはそれほど問題ではありません。 私はseabornのpairplot関数でこれを実装することを望んでいましたが、フィットのキーワード引数ではないように見えます。seaborn pairplotの堅牢な統計線形回帰

から:scipy lectures彼らは次を使用することをお勧めしますが、私はあなたがここで

`fit = statsmodels.formula.api.rlm()` 

を使用してフィット感を定義することができますregplotのためのthatsを推測するいくつかのサンプルコードは、事前に

import seaborn as sns; sns.set(style="ticks", color_codes=True) 
import matplotlib.pyplot as plt 
%matplotlib inline 
iris = sns.load_dataset("iris") 
sns.pairplot(iris, kind="reg")#, robust = True) 
plt.show() 

感謝です!

編集:回避策を見つけましたが、明らかにペアプロットで実行できる「色相」機能が緩んでいます。 pairplotに堅牢なオプションを追加するのは良い機能でしょうか。 コード:など

def corrfunc(x, y, **kws): 
    r, _ = stats.pearsonr(x, y) 
    ax = plt.gca() 
    ax.annotate("r = {:.2f}".format(r), xy=(.1, .9), xycoords=ax.transAxes) 

g = sns.PairGrid(df1, palette=["red"]) 
g.map_upper(sns.regplot, robust = True) 
g.map_diag(sns.distplot, kde=True) 
g.map_lower(sns.kdeplot, cmap="Blues_d") 
g.map_lower(corrfunc) 
+0

私は回避策を見つけましたが、明らかにペアプロットで実行できる「色合い」機能が緩んでいます。 pairplotに堅牢なオプションを追加するのは良い機能でしょうか。 コード: 'DEF corrfunc(X、Y、** KWS): R、_ = stats.pearsonr(x、y)は AX = plt.gca() ax.annotate(「R = {:.2f (ds1、palette = ["red"]) g.map_upper(sns。あなたの回避策には、次のものを含めることができます:regplot、robust = True) g.map_diag(sns.distplot、kde = True) g.map_lower(sns.kdeplot、cmap = "Blues_d") g.map_lower(corrfunc) ' –

+0

g = sns.PairGrid(df1、hue = 'species')の色相 – user4319496

答えて

0

エクストラキーワード、 "堅牢= True" をplot_kws引数を経由してregplotに渡すことができます。

sns.pairplot(df1,kind='reg',hue='species',plot_kws=dict(robust=True,n_boot=50)) 

NB:この例では、私も削減するn_bootが低下していますランタイム(regplotのドキュメントでは "robust"を参照)、信頼区間が正しくない可能性があります)。

関連する問題