【问题标题】:Regression analysis of facets using seaborn's relplot使用 seaborn 的 relplot 对 facets 进行回归分析
【发布时间】:2021-01-09 03:19:59
【问题描述】:

我对 seaborn 还是很陌生,所以请多多包涵。我正在尝试进行线性最小二乘回归并使用 seaborn 的 relplot 指定 r^2 值。我愿意切换到 sns.facetgrid。我的数据如下:

Data

我可以将构面网格绘制为:Plots

我生成这样一个情节的代码如下:

xx = np.linspace(-1, 2, 100)
yx = xx 

#CO2 vs H 

p1 = sns.relplot(data=df2, x="H", y="CO2", col="Bias", hue="Met", col_wrap=5)
(p1.set_axis_labels("$E_{ads}(*H)$", "$E_{ads}(*CO_2)$")
  .set_titles("Bias: {col_name} V vs SHE")
  .set(xlim=(-0.4, 2), ylim=(-0.4, 2)))

for ax in p1.axes.flat: 
       ax.plot(xx, yx)

plt.savefig("CO2_H.pdf", dpi=300)
plt.show()

但是,我希望它不是对角线,而是线性回归。我发现了类似 here 的内容,但是当您在 sns.relplot 中指定列时,我无法弄清楚如何使其工作。

谢谢!

【问题讨论】:

  • 我不知道 seaborn 是否有执行线性回归的能力,从未尝试过,但我建议简单地使用 sklearn.linear_model.LinerarRegression 计算回归线的系数,然后正常绘制。或者,或者,使用numpy.linalg.lstsq 计算最小二乘回归。
  • 您正在使用hue= 嵌套。您是否期望每个色调级别有一个回归?
  • 不,我希望每个偏差都有一个回归。所以在上面显示的图像中,每个偏差处的每个色调级别(总共 5 个)都有一个数据点,所以我想对每个偏差处的这 5 个点(其中也有 5 个)执行回归。谢谢!

标签: python seaborn linear-regression facet-grid


【解决方案1】:

您可能想查看seaborn.lmplot

p1 = sns.lmplot(data=df2, x="H", y="CO2", col="Bias", hue="Met", col_wrap=5)

https://seaborn.pydata.org/generated/seaborn.lmplot.html

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 2020-11-09
    • 2017-03-08
    • 2019-02-02
    • 2020-08-26
    相关资源
    最近更新 更多