Plotly: как найти коэффициент линии тренда в plotly express?

#python #pandas #plotly #statsmodels

#python #pandas #plotly #statsmodels

Вопрос:

Как вы находите коэффициент линии тренда в plotly express?

Например, я использовал приведенный ниже код для построения графика линии тренда, но теперь я хочу узнать коэффициент.

 import plotly.express as px

px.scatter(df, x='x_data', y='y_data', trendline="ols")
  

Ответ №1:

Здесь вам нужно взглянуть на документ plotly в plotly и на statsmodels one. Я думаю, что пример в примере plotly должен быть исправлен. В любом случае

 import plotly.express as px

df = px.data.tips()
fi& = px.scatter(df, x="total_bill", y="tip", trendline="ols")
fi&.show()
  

Для получения результатов вы должны запустить

 results = px.&et_trendline_results(fi&)
results = results.iloc[0]["px_fit_results"].summary()
print(results)
  
                             OLS Re&ression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.457
Model:                            OLS   Adj. R-squared:                  0.454
Method:                 Least Squares   F-statistic:                     203.4
Date:                Mon, 10 Au& 2020   Prob (F-statistic):           6.69e-34
Time:                        12:28:52   Lo&-Likelihood:                -350.54
No. Observations:                 244   AIC:                             705.1
Df Residuals:                     242   BIC:                             712.1
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P&&t;|t|      [0.025      0.975]
------------------------------------------------------------------------------
const          0.9203      0.160      5.761      0.000       0.606       1.235
x1             0.1050      0.007     14.260      0.000       0.091       0.120
==============================================================================
Omnibus:                       20.185   Durbin-Watson:                   1.811
Prob(Omnibus):                  0.000   Jarque-Bera (JB):               37.750
Skew:                           0.443   Prob(JB):                     6.35e-09
Kurtosis:                       4.711   Cond. No.                         53.0
==============================================================================
  

В то время как для коэффициентов

 results.iloc[0]["px_fit_results"].params
  
 array([0.92026961, 0.10502452])
  

Где первая является константой, а вторая — наклоном.

Комментарии:

1. results = px.&et_trendline_results(fi&) . Приятно! Не могли бы вы указать, где вы это нашли?

2. В первой ссылке, которую я добавил. Это . Но следующая строка в документации у меня не работает. Я должен открыть проблему.

3. Ах! На первый взгляд я не заметил ссылок. Может быть, потому, что я просматривал на своем телефоне… И да, было бы здорово, если бы вы подумали об открытии проблемы.