Я пытаюсь запустить функцию, которая возвращает вектор градиента для функции MSE OLS, оцененной при определенном значении параметров.Тем не менее, это не дает мне правильный вывод.Я попытался использовать вектор X с одной функцией, но вместо того, чтобы дать мне матрицу с двумя записями (по одной производной по $ \ beta_0 $ и $ \ beta_1 $, он дает мне матрицу того же размера, что и X. Может кто-нибудь мне помочь.
def compute_gradient(X, Y, beta):
mat_one = np.ones([X.shape[0],1])
gradient = np.empty([X.shape[0],])
X = X.reshape(50,1)
mat_one = mat_one.reshape(50,1)
X1 = np.concatenate((mat_one,X),axis=1)
if(X1.shape[0]==Y.shape[0] & X1.shape[1]==beta.shape[1]):
for i in range(k):
gradient[i] = -2*np.sum((Y - X1 @ beta.T)*X1[i])/len(X1)
return gradient