Регрессия точечной диаграммы (в python) при наличии разных групп данных

#python #regression #scatter-plot

Вопрос:

У меня есть (не отсортированный) набор данных, показывающий это на точечной диаграмме:

несколько линейных fs

и мне интересно, есть ли простой способ рассчитать несколько наклонов/подогнать разные полиномы 1-го класса, чтобы проверить, соответствует ли наклон группы 1 (оранжевый) группе 2 (синий). Я думаю о:

  • выполните for цикл, сопоставляя различные группы данных, а затем удаляя группу из списка.
  • повторная сортировка данных для групп-ов, имеющих одинаковое значение для своей первой производной.

Я подозреваю, что для этого есть более простое решение. Вопрос: не могли бы вы, пожалуйста, пролить свет на простые методы для этого?

Код

Это может быть показательным примером:

 e1f=[] e2f=[] teoe1=[] teoe2=[]  def generate_point(x,m,n):  y=m*x n   np.random.normal(5,1)*0.001  return y  N=2000 m1=-2 m2=-2  e1f = np.random.uniform(1e-2, 7*1e-3,N) e2f = [generate_point(i, m1   random.randint(1,10)*0.3*1e-1, random.randint(1,5)*1e-2  random.randint(5, 10) *1e-4) for i in e1f] teoe1 = np.random.uniform(1e-2, 1.5*1e-2,N) teoe2 = [generate_point(j, m2   random.randint(1,10)*0.3*1e-1,  15e-4 random.randint(1,5)*1e-2 random.randint(1,7)*1e-14) for j in teoe1]  plt.figure(figsize=(12,8)) plt.locator_params(nbins=6)  plt.scatter(teoe1,teoe2, s=40, alpha=0.1, marker='o') plt.grid(True, color='blue', linewidth=3, linestyle='--', alpha=0.1)  plt.scatter(e1f,e2f, s=40, alpha=0.1, marker='o') plt.ticklabel_format(style='sci', axis='both', scilimits=(0,0)) plt.show()