MATLAB kommandoer ved regresjon om volum
av tr?r
Kommandoene illustrerer formlene i
avsnittene 14.3 og 14.4 i Rice
% F?rst leser vi inn dataene. F?rste kolonne er
diameter, andre kolonne er h?yde
% og tredje kolonne er volum. (Kommandoen forutsetter
at filen 'trees.txt' er
% lagret i en mappe der MATLAB kan finne dem.)
trees=load('trees.txt');?
% Vi
regner f?rst om til meter og
kubikkmeter
diameter=trees(:,1)*0.0254;
hoyde=trees(:,2)*0.0254*12;
volum=trees(:,3)*(
0.0254*12)^3;
% Motivert
av formelen for volumet av en kjegle,
log-transformerer vi dataene
y=log(volum);
x1=log(diameter);
x2=log(hoyde);
% Vi gj?r
s? line?r multippel regresjon med log(volum) som
responvariabel
% og
log(diameter) og log(hoyde) som forklaringsvariable:
regstats(y,[x1,x2])
% N?r du gir denne kommandoen, kommer det opp et vindu det du kan angi
hvilke resultater du vil ta vare p?.
% Vi haker av for "Coefficients",
"Coefficient Covariance",
"Fitted Values",
% "Residuals", "Mean Square Error"
og "t Statistics" og klikker OK.
% Vi f?r da beregnet og lagret disse variablene med de navnene som er
gitt i vinduet.
% Vi
ser p? estimatene:
beta
% Vi
% p?
side 565, seks linjer nedenfra, i boka
til Rice:
X=[ones([31,1]),x1,x2];
(X'*X)^(-1)*X'*y
% Vi ser at de tilpassede verdiene og residualene
stemmer med
% det vi f?r
direkte av formelen p? side 566 (rett over eksempel B):
[yhat, X*beta]
[r, y-X*beta]
% Vi ser s? at "Mean Square
Error" er det forventningsrette estimatet
%
for sigma^2, dvs kvadratsummen
av residualene dividert med n-p
%
(her er n=31 og
p=3), jf. Rice teorem A side 576.
s2=mse
(y-yhat)'*(y-yhat)/(31-3)
% Vi ser ogs? at vi f?r et estimat for kovariansmatrisen
% til minste kvadraters
estimatorer ved ? erstatte sigma^2 med s2
% i formelen i
teorem B p? side 574
covb
s2*(X'*X)^(-1)
% Endelig ser vi at standardfeilen til estimatene er gitt
som kvadratroten
% av elemetene p?
diagonalen i den estimerte kovariansmatrisen
tstat.se
sqrt(diag(covb))