Вычисление дисперсии регрессора

#python #arrays #numpy #variance

#python #массивы #numpy #дисперсия

Вопрос:

Я пытаюсь вычислить дисперсию предикторов в модели с 540 наблюдениями. Из матрицы предикторов (X_blocked) я хочу взять второй столбец (первый столбец для перехвата, второй столбец для первого предиктора), вычислить его дисперсию и сохранить значение в переменной:

 blocked_pred1_var = np.sum(X_blocked[:, 1] - np.mean(X_blocked[:, 1]) ** 2) / 539
  

Но это дает мне ложное число.

Ответ №1:

Круглые скобки расположены неправильно. В настоящее время вы возводите в квадрат среднее значение и вычитаете его из ваших прогнозируемых значений. Вам нужно вычесть среднее значение из прогнозируемых значений, а затем возвести его в квадрат.

 blocked_pred1_var = np.sum((X_blocked[:, 1] - np.mean(X_blocked[:, 1])) ** 2) / 539