У меня есть некоторый код, пытающийся повторить функцию регрессии MATLAB,
Кажется, я не могу получить правильные значения tstats.
У кого-нибудь есть предложения?
Я пробовал несколько разных вещей, но не уверен, что это очевидно.
y = [1 2 3 4 5 6 6 7].';
X = [1 1 1 1 1 1 1 1; 4 5 6 3 4 5 6 6].';
X2 = [4 5 6 3 4 5 6 6];
%by hand
beta_hatvec=(inv((X'*X)))*X'*y;
%define the residuals
resid = y-(X*beta_hatvec);
%estimate of sigma_2
sigma2_hat=(resid'*resid) / (size(X,1)-size(X,2));
%estimate of Vhat
vcov_beta_hat = [sigma2_hat.*((X'*X))];
stderror_hatvec = sqrt(diag(vcov_beta_hat));
beta_hat=beta_hatvec(2);
std_error=stderror_hatvec(2);
t_stat=(beta_hat)./std_error;
%auto
lm = fitlm(X2,y,'linear')