Функция подгонки асимметричных данных

#scipy #curve-fitting #non-linear-regression #sigmoid

#scipy #подгонка кривой #нелинейная регрессия #сигмовидная

Вопрос:

Пожалуйста, вы можете мне помочь? У меня есть нелинейные данные, которые вписываются в асимметричную сигмоидальную функцию. Итак, я сгенерировал сигмоидальную функцию. И я использовал это в функции curve_fit для генерации beta1 и beta2. Но сигмоидальная функция, которая у меня есть, принимает только одну входную переменную. Существует ли сигмоидальная функция, которая принимает несколько входных переменных? Вот мой код для функций train_test_split, sigmoid и curve_fit :

 X_train, X_test, y_train, y_test = train_test_split(df.drop('Montant TLPE', axis=1).values, df['Montant TLPE'].values, random_state=0, test_size=0.2)

def sigmoid(x, Beta_1, Beta_2):
    y = 1 / (1   np.exp(-Beta_1*(x-Beta_2)))
    return y

from scipy.optimize import curve_fit
popt, pcov = curve_fit(sigmoid, np.array(X_train), np.array(y_train))
print(" beta_1 = %f, beta_2 = %f" % (popt[0], popt[1]))
  

Большое спасибо за вашу помощь.

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

1. ознакомьтесь с обобщенной логистической функцией

2. Что вы подразумеваете под «несколькими входными переменными», если x это список?

3. x — это многоколоночный фрейм данных с нормализованными значениями

4. Не могли бы вы, пожалуйста, разместить ссылку на данные?

Ответ №1: