Я построил график рассеяния на моем фрейме данных, который выглядит следующим образом:
с кодом
from scipy import stats
import pandas as pd
import seaborn as sns
df = pd.read_csv('/content/drive/My Drive/df.csv', sep=',')
subset = df[:,1:10080]
df['mean'] = subset.mean(axis=1)
df.plot(x='mean', y='Result', kind = 'scatter')
sns.lmplot('mean', 'Result', df, order=1)
Я хотелчтобы найти наклон регрессии на графике, используя код
scipy.stats.mstats.linregress(Result,average)
, но из вывода кажется, что величина наклона слишком мала:
LinregressResult(slope=-0.0001320534706614152, intercept=27.887336813241845, rvalue=-0.16776138446214162, pvalue=3.0450456899520655e-07, stderr=2.55977061451773e-05)
, если я переключил Result
и average
позиции,
scipy.stats.mstats.linregress(average,Result)
это все еще не выглядит правильно, поскольку intercept
слишком велико
LinregressResult(slope=-213.12489536011773, intercept=7138.48783135982, rvalue=-0.16776138446214162, pvalue=3.0450456899520655e-07, stderr=41.31287437069993)
Почему это происходит? Нужно ли изменять эти выходные значения?