有誰知道如何使用sns.regplot顯示在seaborn迴歸方程或sns.jointplot? regplot似乎沒有任何參數可用於顯示迴歸診斷,並且jointplot只顯示皮爾森R^2和p值。我正在尋找一種方法來查看斜率係數,標準誤差和截距。顯示迴歸方程
謝謝
有誰知道如何使用sns.regplot顯示在seaborn迴歸方程或sns.jointplot? regplot似乎沒有任何參數可用於顯示迴歸診斷,並且jointplot只顯示皮爾森R^2和p值。我正在尋找一種方法來查看斜率係數,標準誤差和截距。顯示迴歸方程
謝謝
遲到和部分的答案。 我只是想獲得迴歸線的數據的問題,我發現這一點:
當你有這樣的情節:
f = mp.figure()
ax = f.add_subplot(1,1,1)
p = sns.regplot(x=dat.x,y=ydat,data=dat,ax=ax)
然後p
有一個方法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()
命令中找到,它只是顯示的一切,就是在那裏。
這並不直接產生所需的方程;期望的是迴歸線的斜率和截距。即對於y = ax + b,a和b。然而,爲了獲得這一個可以使用''scipy's stats.linregress':'斜率,截距,r_value,P_VALUE,std_err = scipy.stats.linregress(X = p.get_lines()[0] .get_xdata(), y = p.get_lines()[0] .get_ydata())' – ijoseph
可以使用兩個點的(x,y)座標輕鬆計算該公式。有了兩點,你可以計算出一個和那個b。 – Khris
@Khris確定,但它是多麼奇怪,有一個的軟件,計算迴歸,爲您提供了相關係數和結果模型的p值,並沒有提供模型本身?如果seaborn作者可以添加此功能, – famargar
在2015年,爲seaborn的首席開發人員回答了一個功能請求,請訪問常常這樣生成圖表的統計值,"It is not available, and it will not be made available."
所以,不幸的是,這個功能不會在seaborn存在,似乎未來不太可能存在。
我認爲你需要自己做迴歸來獲得這些信息。 –
是的,並用'ax.text'添加它。 – mwaskom
很明顯,信息應該在某個地方,因爲正在繪製一條線 – user391339