Я пытаюсь определить, соответствует ли бета-оценка, рассчитанная по логистической регрессии (из библиотеки sklearn), или закрыта для беты, которую я использовал для создания результата с использованием логистической функции (1 / (1 + exp (-) (б * х))). Вот код, который я использовал
import numpy as np
from sklearn.linear_model import LogisticRegression
a = np.random.random_sample(100) * 12 - 6
a = np.sort(a)
t = 1/(1 + np.exp(-1 * (6 * (a)))) # I create a beta of 6
for i in range(len(t)):
if t[i] >= 0.5:
t[i] = 1
else:
t[i] = 0
a = np.array([a]).T
ones = np.array([[1]*len(a)]).T
a = np.concatenate((ones, a), axis=1)
lg = LogisticRegression()
lg.fit(a, t)
print(lg.coef_) # the estimated beta from the logistic regression model is [[ 0.24941991 2.41880381]]
Бета I предустановлена на 6, однако бета от логистической регрессии составляет 2,39662781. Даже при том, что я сделал приближение только для получения 1 и 0, две бета все еще слишком разные. Более того, когда я увеличиваю бета-версию, которую я предварительно установил, оценочная бета-версия из модели иногда увеличивается, но иногда уменьшается, например, если я устанавливаю бета-версию равной 7, тогда бета-версия, оцененная по модели, составляет 2,15344631.
Может кто-нибудь объяснить мне, что происходит? или Как можно оценить бета-версию, закрытую для той, которую я создал?