У меня проблемы с пониманием оценок ошибок между переменными при выполнении линейной регрессии. Ссылаясь на Как найти ошибку на склоне и перехватить с помощью numpy.polyfit скажем, я подбираю прямую линию с numpy.polyfit
(код ниже).
Как упомянуто в вопросе в ссылке, квадратный корень из диагоналей ковариационной матрицы является оценочным стандартным отклонением для каждого из подогнанных коэффициентов, и поэтому np.sqrt(V[0][0]))
является стандартным отклонением наклона. У меня вопрос (ы): как должно быть представлено стандартное отклонение y
? Должно ли это быть добавлением неопределенностей в квадратуре , т. Е. Y +/- np.sqrt(np.sqrt(V[0][0])**2+np.sqrt(V[1][1])**2)
? Или, возможно, я мог бы представить это только стандартным отклонением остатков (которое было бы np.sqrt(S)/(len(y)-1)
)? Наконец, возможно ли получить остатки из ковариационной матрицы?
PS: спасибо за помощь в добавлении «ответа» на вопрос.
import numpy as np
# Data for testing
x = np.array([0.24580423, 0.59642861, 0.35879163, 0.37891011, 0.02445137,
0.23830957, 0.38793433, 0.68054104, 0.83934083, 0.76073689])
y = np.array([0.61502838, 1.01772738, 1.35351035, 1.32799754, 0.23326104,
0.89275698, 0.689498 , 1.48300835, 2.324673 , 1.52208752])
p, V = np.polyfit(x, y, 1, cov=True)
p2, S, *rest = np.polyfit(x, y, 1, full=True)