2015-11-03 186 views
14

誰もが海底で回帰方程式をsns.regplotまたはsns.jointplotを使って表示する方法を知っていますか? regplotは、回帰診断を表示するために渡すことができるパラメータを持っていないようで、jointplotはPearson R^2とp-valueのみを表示します。私は、傾き係数、標準誤差、および切片を見る方法を探しています。seaborn regplotの回帰方程式を表示する

ありがとうございました

+1

私はあなたがその情報を得るために回帰を自分で行う必要があると思います。 –

+0

はい、 'ax.text'で追加してください。 – mwaskom

+3

明らかに、線が描かれているので、情報はどこかにあるはずです。 – user391339

答えて

2

遅くて部分的な回答です。 私は、回帰直線のデータを取得したいの問題を抱えていたし、私はこれを見つけた:

あなたはこのプロットがある場合:次にp

f = mp.figure() 
ax = f.add_subplot(1,1,1) 
p = sns.regplot(x=dat.x,y=ydat,data=dat,ax=ax) 

のリストをバック与え方法get_lines()を持っていますline2Dオブジェクトそしてline2Dオブジェクトは、必要なデータを取得するためのメソッドがあります。

したがって、この例では、線形回帰データを取得するために、あなただけのこれを実行する必要があります。

p.get_lines()[0].get_xdata() 
p.get_lines()[0].get_ydata() 

これらの呼び出しは、各numpy配列を返しますあなたが自由に使用できる回帰直線のデータポイント。

p.get_children()を使用すると、プロットの個々の要素のリストが表示されます。

信頼区間プロットのパス情報はで見つけることができます:

p.get_children()[1].get_paths() 

これは、データポイントのタプルの形であります。

一般的には、多くのPythonオブジェクトでdir()コマンドを使用すると多くのものが見つかりますが、そこにあるものすべてが表示されます。

+2

これは直接的に目的の方程式を生成しません。回帰直線の傾きと切片が望ましい。すなわち、y = ax + bのaとbである。しかし、これを得るには、 'scipy''' stats.linregress'を使うことができます: 'slope、intercept、r_value、p_value、std_err = scipy.stats.linregress(x = p.get_lines()[0] .get_xdata()、 y = p.get_lines()[0] .get_ydata()) ' – ijoseph

+0

方程式は、2つの点の(x、y)座標を使って簡単に計算できます。 2つの点を使ってaとbを計算できます。 – Khris

+3

@Khris okしかし回帰を計算し、得られたモデルの相関係数とp値を与え、モデル自体を提供しないソフトウェアがあるのはどういうことですか?海軍の作者がこの機能を追加することができれば素晴らしいだろうが、 – famargar

2

は2015年、seabornのリード開発者が言ってプロットを生成するために使用される統計値へのアクセスを求める機能要求に答え、"It is not available, and it will not be made available."

だから、残念ながら、この機能は、seabornに存在しないと思わ将来存在する可能性は低い。

関連する問題